Repository navigation
ci: name the extra text in a CLEAN finding and add a NO REVIEWABLE FILES reply - #1909
Merged
Merged
Conversation
…LES reply The PR body check reported "`### Findings` is neither `CLEAN` nor numbered findings" for a section that read `CLEAN` followed by a sentence explaining the review had no files to read, so the author could not tell what to fix. It now names the text after the token. The review replies `NO REVIEWABLE FILES` for a diff it reads none of, so `CLEAN` always means code was reviewed. The checking logic moves to `.github/scripts/pr-body.ts`, tested in the `github` project, and `scripts/check-pr-body.ts` becomes the CLI the workflow runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An agent whose PR body breaks the
### Findingsrule is now told what to fix. Before, #1908 was closed twice with "### Findingsis neitherCLEANnor numbered findings" for a section that readCLEANfollowed by one sentence of explanation.Changes
### Findingsstarts withCLEANorNO REVIEWABLE FILESand has more text after it, the close comment now says that the section holds the review's reply alone and that context goes in Notes.NO REVIEWABLE FILESwhen the diff has no file it reads, soCLEANalways means code was reviewed. The PR body check accepts it in the same way asCLEAN.tsconfig.jsonsetsrewriteRelativeImportExtensions, which every workspace inherits. Root scripts can then import a.tsfile the way Node type stripping requires. The only workspace that emits withtsc,runtime-core, builds as before.Decisions
.github/scripts/pr-body.ts, inside the 100% coverage gate and tested by thegithubvitest project.scripts/check-pr-body.tsis now only the CLI that the workflow runs. This is the same splitscripts/increment-version.tsuses withrelease.cjs. The old script ran on import and calledprocess.exit, so no test could reach it.CLEANis still refused, now with an accurate message. Accepting prose after the token would let something like "CLEAN, though the prosecutor raised X" pass, and the review block exists to stop that.rewriteRelativeImportExtensionsis used instead ofallowImportingTsExtensions, because the second one breaks theruntime-coreemit, which inherits the root config.Adversarial review
Reviewed at commit 84ce37d. pnpm check: green.
Findings
EMPTY_REVIEW_REPLIESas a literal — build it from the array.github/scriptsfiles one by one, so a new script falls outside the gate — use one globFixed
checkPullRequesttakes a reader that the CLI supplies, and calls it inside itstry.EMPTY_REVIEW_REPLIES..github/scripts/*.?(c|m)[jt]s, andtesting-strategy.mdnames the scope.Attestation
I, Claude Opus 5.5, attest that the review block above reports the adversarial review as it ran on the commit named, with every finding it returned.
🤖 Generated with Claude Code