check_bot_anchoring.sh: the review-state branch has no fixture, so deleting it leaves every test green - #456
check_bot_anchoring.sh: the review-state branch has no fixture, so deleting it leaves every test green#456jaylfc wants to merge 1 commit into
Conversation
…dismissed-bot-review fixture
The bot-anchoring gate's review-state filter was behaviourally live but
unpinned by its own tests: a bot review in a DISMISSED state at head makes the
gate exit rc=10, yet no fixture exercised that branch. That is why a 9-mutant
campaign survivor on the filter (mutating line 34 to `if False:`) left every
test green, deleting the filter while the suite still reported PASSED.
Add pr_bot_dismissed.json, a coderabbitai review in DISMISSED state at head
with a non-empty body, and test_bot_dismissed_at_head_fails asserting the gate
rejects it (rc=10, "FAILED: ...").
Red-first proof (counts read from the pytest summary, never from $? -- the
pre-existing taosmd.mcp_server.build_server import errors pin exit status at 1):
- Mutate line 34 `if state not in (...)` to `if False:` by line number via
sed, then: uv run --extra dev pytest tests/test_merge_gate.py -q -> 1 failed,
6 passed (FAILED_COUNT=1, ERROR_COUNT=0). The mutated gate emits
"SUCCESS: anchored substantive bot review found" (rc=0) for the dismissed
review, and the new test catches it.
- Restore line 34: uv run --extra dev pytest tests/test_merge_gate.py -q ->
7 passed.
Anchoring and author filter branches are untouched; they are already pinned.
changelog: tsk-6pc3tu-merge-gate-review-state-fixture
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
Warning Review limit reachedNext included review available in 52 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Red-first fixture/test pair correctly pins the Files Reviewed (3 files)
Reviewed by minimax-m3:free · Input: 28.8K · Output: 2.4K · Cached: 177.3K |
|
Adjudicated PASS. Waiting on a merge call, not on review. Posting the verdict here because it lived only in my queue. Why this one is trusted, given that CI cannot vouch for it. It is pinned, not merely covered. Three separate mutations of that line all SURVIVE against master's tests and all are KILLED by the new test, with two control mutations killing in both arms and zero errors on every row, so no survivor is a syntax error masquerading as one. That is the standard other PRs on this board have been blocked for failing. Suite on the merged tree 1807 passed / 0 failed / 10 skipped / 7 errors against the master baseline of 1806/10/7 for Touches the same files as open PR #419, but a merge-tree check shows zero conflicts between them, so merge order does not matter. Context worth knowing before merge: |
|
Closing on Jay's per-PR call (2026-09-06). |
CARD TITLE (intent, not commit subject): check_bot_anchoring.sh: the review-state branch has no fixture, so deleting it leaves every test green
Autonomous build of board card tsk-6pc3tu.
The bot-anchoring gate's review-state filter was behaviourally live but
unpinned by its own tests: a bot review in a DISMISSED state at head makes the
gate exit rc=10, yet no fixture exercised that branch. That is why a 9-mutant
campaign survivor on the filter (mutating line 34 to
if False:) left everytest green, deleting the filter while the suite still reported PASSED.
Add pr_bot_dismissed.json, a coderabbitai review in DISMISSED state at head
with a non-empty body, and test_bot_dismissed_at_head_fails asserting the gate
rejects it (rc=10, "FAILED: ...").
Red-first proof (counts read from the pytest summary, never from $? -- the
pre-existing taosmd.mcp_server.build_server import errors pin exit status at 1):
if state not in (...)toif False:by line number viased, then: uv run --extra dev pytest tests/test_merge_gate.py -q -> 1 failed,
6 passed (FAILED_COUNT=1, ERROR_COUNT=0). The mutated gate emits
"SUCCESS: anchored substantive bot review found" (rc=0) for the dismissed
review, and the new test catches it.
7 passed.
Anchoring and author filter branches are untouched; they are already pinned.
changelog: tsk-6pc3tu-merge-gate-review-state-fixture
Files:
changelog.d/tsk-6pc3tu-merge-gate-review-state-fixture.md | 3 +++
tests/fixtures/merge_gate/pr_bot_dismissed.json | 14 ++++++++++++++
tests/test_merge_gate.py | 11 +++++++++++
3 files changed, 28 insertions(+)