feat(claude-review): opt-in require-clean-verdict job (closes #767) - #790
feat(claude-review): opt-in require-clean-verdict job (closes #767)#790dem-extra1 wants to merge 6 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
540356f to
d6665f4
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…ighten header match
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…on and defanged negations (closes #767)
Built to branch |
|
Claude finished review — View run Review: #790 — third roundThis is a re-review after commit Prior findings: statusRound 2 Finding A (script committed non-executable, invoked with no Round 2 Finding 3 (temp file never removed) — moot, not just fixed. The script no longer creates any temp file at all: this round's rewrite replaced the earlier bash/ Round 1 Finding 1 / Round 2's two adversarial cases — still hold (re-verified by re-reading the code; not re-executed since the two originally-reported cases were already confirmed fixed last round and this round's diff didn't regress that specific logic). New findings1. (Blocking, correctness) The rewritten classifier still resolves the "which statement is the real, current verdict" question incorrectly whenever the final verdict section mixes bolded and unbolded text — and one of the two failure directions is the dangerous one the whole feature exists to prevent. ( Round 2's fix correctly anchors extraction on the last verdict-header line (
I reconstructed the current script byte-for-byte from the diff and ran it against two adversarial cases within a single, correctly-anchored → actual output: → actual output: None of the 27 shipped test cases exercise a mixed bold/unbolded pair within a single anchored section — tests 21/22 (the cases from Round 1) both put the conflicting statement before the last header line, which the header-anchor fix already handles; tests 25–27 mix a plain non-clean phrase with a plain clean phrase but only ever in the one order that happens to produce the right answer by coincidence of the fixed loop-priority (non-clean-first), never the reverse order, and never a bold+plain combination. Fix direction: replace the three-pass, mismatched-priority classification (bold-first-with-hard-short-circuit, then non-clean-first, then clean-first) with a single ordered scan over Other checks performed (no new issues)
VerdictNeeds more work — the header-anchoring fix from the last round is correct and holds, and the executable-bit/ Reviewed commit: dbe9651 |
Closes #767.
Summary
Adds the opt-in
require-clean-verdictgate job toclaude-code-review.ymlas a sibling torequire-review.require-reviewuses (draft, fork, bot author, quota exhaustion, self-mod skip, cancellation, or stale head).review / require-clean-verdictto their branch protection / repository rulesets to enforce server-side merge blocking against unaddressed findings.Draft PR opened on claim per
pr-on-claim.