fix(gate): part 1 verifier findings — stop-rule wording, guard tests, unreadable round
- plan-gate: the bare gate's stale-verdict reason no longer says "run the next round" once the stop rule fired; it says there is no next round, as acceptOpen already does. - trekplan Phase 9: "REVISE after the last round" (Fix now with --extra-round) is qualified "and the stop rule did not fire", pinned in review-loop-docs.test.mjs next to the [STP] pins. - plan-gate-stop-rule tests: a planted stop-rule acceptance claiming an open security blocker stays STOP; a planted acceptance without under: "stop-rule" stays STOP; the "a blocker -> refused" test now asserts the blocker refusal; --accept-open under the stop rule covers an open MAJOR and the gate passes with a WARN. - review-rounds prepare: when the stop rule is judged (P >= 2) and either round's JSON block cannot be read, exit 2 (not measured) with "stop rule: a round has no readable JSON block" instead of skipping the rule. The [RND] differing-archive and [CAP] fixtures now use readable archives; one new [STP] test covers an unreadable archive and an unreadable review.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
08e8aa1c66
commit
07a3c06c57
6 changed files with 153 additions and 13 deletions
|
|
@ -163,6 +163,15 @@ test('[STP] Phase 9: the stop rule gives no new round and asks Known issue or Ne
|
|||
'the round-3 blocker path says it never offers --extra-round after the stop rule');
|
||||
});
|
||||
|
||||
test('[STP] Phase 9: "REVISE after the last round" (Fix now with --extra-round) is only for a round where the stop rule did not fire', () => {
|
||||
const at = P9.indexOf('**REVISE after the last round**');
|
||||
assert.ok(at >= 0, 'Phase 9 has the "REVISE after the last round" bullet');
|
||||
const bullet = P9.slice(at, P9.indexOf('**The stop rule**', at));
|
||||
assert.ok(bullet.includes('`--extra-round`'), 'the bullet offers --extra-round');
|
||||
assert.ok(P9.includes('**REVISE after the last round**, and the stop rule did not fire:'),
|
||||
'the bullet is qualified as the BLOCK/REVISE bullet is');
|
||||
});
|
||||
|
||||
test('[STP] Phase 10 prints the round of max_rounds + extra_rounds', () => {
|
||||
assert.ok(P10.includes('**Critic rounds:** {round} of {max_rounds + extra_rounds}'), 'Phase 10 prints round of max_rounds + extra_rounds');
|
||||
assert.ok(!P10.includes('**Critic rounds:** {N} of {max}'), 'the old "{N} of {max}" is gone');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue