Repository navigation
fix: a CR marked rejected is checked when its branch changes anything - #455
Merged
Merged
Conversation
A rejection means no design was generated, yet the mark alone exempted a CR from the code and impact_analysis checks, and any agent can write it. `impact_findings` now decides once: a rejected CR whose branch changes only the CR is skipped as before; one whose branch changes another item or any code fails with a `triage_result` finding and runs every check. A new seeded omission (the CR rejects itself while the branch changes export code it never accounts for) passed every gate before this change and is now stopped by `verify impact`: 9 of 12 stopped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
itercharles
added a commit
that referenced
this pull request
Oct 21, 2026
The gates stop 9 of 12 seeded omissions: G1 closed (#453), the triage_result gate removed (#454), and the rejected-CR loophole closed (#455), with its new case stopped. Mark G1, G3 and the triage gate done in the iteration 1 inventory, list what is still open (G2, G4, the test point that only warns), and set iteration 3 as next. 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.
Summary
Closes the loophole noted in #454: a CR whose
triage_resultsaysrejectedskipped the code andimpact_analysischecks, and any agent can write that field, so an agent could reject its own CR and change requirements or code under it.design_validation.impact_findingsnow decides once:triage_resultfinding ("a rejected CR changes nothing", naming up to five changes) and every impact check, as for an accepted CR._unreviewed_codeand_check_impact_analysis.triage_rejected,cr_triage_rejectionandbuild plan's early stop on a rejection are unchanged.docs/interface.md: one sentence in theverify impactparagraph. CHANGELOG### Fixedunder Unreleased.Measure
New seeded omission
rejected_to_skip_the_checks: the CR marks itself rejected while the branch also changessrc/export.py, which it never accounts for.verify impact.Seeded omissions stopped: 9 of 12 (10 passed, 3 xfailed).
Tests
test_verify_impact.py: the "rejected is not checked" test now uses a branch that changes only the CR; new test that a rejected CR whose branch changes items fails withtriage_result:plus the normal findings.test_a_changed_file_reaches_its_module.py: new test that a rejected CR whose branch changes only a code file is stopped.main; the three affected test files re-run after it).Manual review
🤖 Generated with Claude Code