feat(routing): every eval case names its event; the P10 eval gate is exempted with its reason (A1)
P10's model-free part (wave 4, order A1, decision 63). The routing test now
checks every case in evals/ for from=, not only the skill-tagged ones (R1):
a case with no skill tag is not routed, only checked, and the report gives
both counts ("45 cases checked for from=, 37 routed"). The eight test-set
cases get from=proevesett-eval-suite (d311f3b) or
from=proevesett-intent-gate (3892a83), the commits that added them.
The release gate that reads the last test-set run is written into the
runbook as exempted with its reason (it waits for the fixed test set to run
again) and still says where it goes (scripts/release-check.mjs).
review-630's prototype-tag stub gets from=test: under R1 an unrouted case is
still checked for from=, and the stub tests that a prototype name is never
routed, which stands.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
1b613421eb
commit
cf08df9d55
17 changed files with 145 additions and 26 deletions
|
|
@ -118,8 +118,9 @@ test('runbook: the release check exits as the script does — 0 ready, 1 not rea
|
|||
assert.match(before, /0 = ready, 1 = not ready[^.]*, 2 = could not run — never green/);
|
||||
});
|
||||
|
||||
test('runbook: the eval gate (P10) is named as not built, with where it goes', () => {
|
||||
const p10 = part(read(RUNBOOK), 'Not built yet: the eval gate (P10)');
|
||||
test('runbook: the eval gate (P10) is exempted with its reason, and says where it goes', () => {
|
||||
const p10 = part(read(RUNBOOK), 'Exempted: the eval gate (P10)').replace(/\s+/g, ' ');
|
||||
assert.match(p10, /waits for the fixed test set to run again/, 'P10 must say why the gate is exempted');
|
||||
assert.ok(p10.includes('scripts/release-check.mjs'), 'P10 must say which file the gate goes into');
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue