test(v1-gate): the v1 gate, written RED
One command says how far the repo is from v1, row by row, with an exit code: rounds with a real domain expert 0/3, traced measurable change 0/3, feedback types with a way in and an action 3/8 (1, 3, 7), round 3 report kept - none, MAF points with a green type pointer 0/8 (list not approved), validated without the approach's own declaration 10/10 in stress round 6, and `named` 1/20 as a diagnosis that never moves the exit code. The gate defines the contract (a fixed rounds directory, gitignored by default), not the generator. Rows 3 and 6 run named tests with --runxfail; the red probes are xfail(strict=True) so the suite stays green while the gap is real. No product code changed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b00f78fee9
commit
83c94e4fb6
7 changed files with 1397 additions and 0 deletions
22
CLAUDE.md
22
CLAUDE.md
|
|
@ -3090,6 +3090,28 @@ Python ≥3.10. MAF (`agent-framework-core` 1.16.0, `-orchestrations` 1.1.1 —
|
|||
modell har lest den nye klausulen (structured-output-grensens klasse), DEL D er maalingen; og
|
||||
klausulen er hjelpetekst, ikke en gate — den kan ikke gjoere en gjettet sti riktig, bare billigere
|
||||
aa rette.
|
||||
- **v1-gaten måler avstanden til v1 med exit-kode, og den definerer KONTRAKTEN, ikke generatoren
|
||||
(17.09):** `uv run python -m portfolio_optimiser.evals.v1_gate` (exit 0 kun når rad 1–6 er grønne,
|
||||
1 ellers, 2 ved feil bruk; `--json`; ingen modellkall, intet nett). Den leser en rundekatalog med
|
||||
fast form (`--help`; default `v1-rounds/`, GITIGNORED fordi fagpersonens tilbakemelding aldri skal
|
||||
nå den offentlige remoten) — `feedback.json` er fastsatt som JSON, ikke `feedback.*`, fordi hvert
|
||||
punkt må bære id og type for at sporingskravet i rad 2 kan måles. Rad 3 og 6 kjører NAVNGITTE
|
||||
tester (`evals/v1_gate.json`) i en barne-pytest med `--runxfail`; de røde probene
|
||||
(`tests/test_v1_probes.py`) er `xfail(strict=True)`, så suiten er grønn mens gapet er ekte og blir
|
||||
RØD på XPASS den dagen en kapabilitet lukker det. En probe for en type uten flate feiler også når
|
||||
et matchende flagg DUKKER OPP — «delvis er nei», og den blir grønn først når den skrives om til å
|
||||
drive døra og observere handlingen. Rad 5 er RØD så lenge datafilens `approved` er `false`, og et
|
||||
MAF-punkt teller kun når typen det peker på er grønn i rad 3 (kallstedet verifisert med AST, en
|
||||
kommentar teller ikke). Rad 6 leser tilnærmingens EGEN erklæring (`requirement_source ==
|
||||
"approach"`) — en kjøringsnivå-erklæring kan ikke tilskrives én tilnærming — og dømmer
|
||||
stressrunde 6-utboksene på nytt med dagens dommer; kan én kjøring ikke dømmes, er HELE målingen
|
||||
«ikke målt», aldri 0. Load-bearing MÅLT (`tests/test_v1_gate.py`), seks mutasjoner alle røde:
|
||||
sporingskravet borte (2) · AI-vakten borte (1) · `>` i stedet for `≥` 80 % (1) · godkjennings-
|
||||
vakten borte (1) · rad 6 ignorerer k (1) · rad 7 blir fellende (2). **Ærlighets-grenser, uttalt:**
|
||||
basene rad 6–7 dømmer mot er et annet repos montering og kan være under ombygging (målt 17.09:
|
||||
`r761-2025` uten `index.md`) — `--bundle-root` peker da på en utpakket kopi; bevisene for type 1, 3
|
||||
og 7 er EKSISTERENDE tester registrert ved node-id, så en omdøping gjør typen rød til registeret
|
||||
rettes (gatet av en egen arm).
|
||||
- **STATE.md er local-only** (gitignored). Voyage session-state er efemert; STATE.md er kanonisk kontinuitet.
|
||||
- Prosess: Voyage-plugin (`/trekbrief → /trekplan → /trekexecute → /trekreview`) per større fase.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue