mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-17 18:32:19 +02:00
feat: delete the legacy 17-row eval matrix — the sliced lane is the only paid lane
Every PR paid twice: the hand-enumerated matrix (18 test files, 22.6 min, ~$21 API measured on run 33263204465) ran serialized AHEAD of the strictly superior sliced lane via 'needs: evals' — 35.5 min wall and ~2x paid spend for the same diff. 14 of 17 rows carried no tier:, so periodic Opus benchmarks leaked into every PR (the e2e-plan row alone: 12/12 tests, 21.7 min, $7.28 — the wall-clock bound of ALL of CI). Parity receipt (static, pre-deletion): the sliced lane's gate census (49 files, derived from the runner itself) strictly contains all 18 matrix test files, plus 31 files the matrix never ran. Pure deletion — one revert restores it. The PR comment moved into slices-report (same '## E2E Evals' upsert marker, now sourced from slice artifacts + carrying the fail-closed reconciliation verdict). plan-slices loses the needs edge; the dead workflow-level EVALS_TIER env goes with it. test/evals-workflow-matrix.test.ts (and its KNOWN_MATRIX_GAPS / KNOWN_TIER_UNSET burn-down ratchets — retired: the sliced census makes 'every gate file runs' true by construction) is rewritten as test/evals-workflow-wiring.test.ts: matrix stays deleted, planner/executor/ report tier + slice-count agreement, both surviving lanes on the shared register-skills composite with its fail-fast verification loop, PR comment survival. Expected: PR eval wall 35.5 -> ~13 min, per-PR paid spend ~halved. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
0f26859bd1
commit
07c2452e6d
@@ -7,8 +7,9 @@
|
||||
* execute anywhere — forever, silently. Four files were in that state
|
||||
* (codex-e2e-plan-format, codex-e2e-recommendation-substance,
|
||||
* llm-judge-recommendation, carve-section-loading), and the tripwire built
|
||||
* for the adjacent class (test/evals-workflow-matrix.test.ts) couldn't see
|
||||
* them because it filters on isPaidTestFile() FIRST.
|
||||
* for the adjacent class (the since-retired evals-workflow-matrix test;
|
||||
* successor: test/evals-workflow-wiring.test.ts) couldn't see them because
|
||||
* it filtered on isPaidTestFile() FIRST.
|
||||
*
|
||||
* Detection is over source text, so meta-tests and helpers that mention the
|
||||
* gate patterns need reasoned exemptions (same convention as
|
||||
@@ -30,7 +31,7 @@ const SCANNER_EXEMPT = new Map<string, string>([
|
||||
// Meta-tests that quote gate-pattern strings to test classification:
|
||||
['test/helpers/e2e-gate.unit.test.ts', 'free unit test OF the gate predicates (env stubbed)'],
|
||||
['test/paid-shards.test.ts', 'quotes tier-guard strings as classification fixtures'],
|
||||
['test/evals-workflow-matrix.test.ts', 'parses tier guards out of matrix files'],
|
||||
['test/evals-workflow-wiring.test.ts', 'pins the sliced-lane yml wiring (successor to the matrix test)'],
|
||||
['test/e2e-tier-alignment.test.ts', 'parses tier guards to enforce alignment'],
|
||||
['test/paid-orphan-tripwire.test.ts', 'this scanner'],
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user