feat(ms-ai-architect): G2 LUKKET — adoptert v3.1-judge wired inn i pipeline (JUDGE_VERSION 2→'3.1', TDD, suite 641) [skip-docs]
This commit is contained in:
parent
09bc99eec8
commit
da8606f9f6
6 changed files with 24 additions and 14 deletions
|
|
@ -97,7 +97,7 @@ Status-nøkkel: 🔴 ikke startet · 🟡 pågår · 🟢 lukket.
|
|||
| # | Gap (mekanismen mangler) | Forhindrer feilklasse | Lukke-fase | Status | MÅ lukkes før |
|
||||
|---|---|---|---|---|---|
|
||||
| **G1** | Judgen er ikke herdet mot de 8 dokumenterte feilmodusene (`source_silent`-maskerer-fravær, legacy-rad-match, ramme-skifte-tall-overlever, nedre-grense-understatement, eksakt-streng-pedanteri, taksonomi-nyanse, kapabilitet-bom) | Judge-FN/FP påvist i Spor 2b (8 mål, se `ref-kb-gold-reconciliation-2026-06.md`) | **Spor 2a** — judge-prompt-v3, MÅLT single vs v3/ensemble på herdet gull; adopter kun ved målt forbedring (ad-hoc-patch overfitter + bytter P/R) | 🟢 **LUKKET 2026-06-30 — v3.1 MÅLT + ADOPTERT.** 45-veis fan-out kjørt (255 claims, 45 Opus-4.8-xhigh-subagenter, live MS Learn, én per fil) → deterministisk re-score mot G5b-korrigert gull: **v3.1 = P 100,0 % / R 100,0 % / 0 FP / 0 FN** (TP 39→42: fanget alle 3 gjenstående FN; TN 198 + FP 0 uendret). Forhåndsregistrert gate (hold P=100 ∧ løft R>92,9) **klarert** → **v3.1 adoptert som judge**. Se lukke-logg. | Spor 1 korpus-pass (judgen brukes i ~2700 fetches) |
|
||||
| **G2** | Herdet judge er ikke wired inn i Port 2 (born-verified create-guard) + Port 3 (kadens) — uten innplugging binder ikke hardningen mekanisk | Re-introdusert drift ved nye/regenererte filer + kadens-bom | Del av Spor 2a→3: bytt ut v2 med v3 i `transform.mjs`-judge-passet + kadens-runneren | 🟡 **AVBLOKKERT (G1 lukket 2026-06-30) — v3.1 = adoptert prompt å wire** inn i `transform.mjs`-judge-passet (Port 2 born-verified) + kadens-runner (Port 3). Ikke startet. | Spor 1 |
|
||||
| **G2** | Herdet judge er ikke wired inn i Port 2 (born-verified create-guard) + Port 3 (kadens) — uten innplugging binder ikke hardningen mekanisk | Re-introdusert drift ved nye/regenererte filer + kadens-bom | Del av Spor 2a→3: bytt ut v2 med v3 i `transform.mjs`-judge-passet + kadens-runneren | 🟢 **LUKKET 2026-06-30 — v3.1 wired (TDD).** `JUDGE_VERSION 2 → '3.1'` (label-streng, provenance navner adoptert judge eksakt); prompt-/command-sites (`transform-prompt.md`, `kb-update.md` Port 2+Port 3, `generate-skills.md`) byttet `judge-claim-prompt-v2.md → -v3.1.md`. Suite 641/641. Se lukke-logg. | Spor 1 |
|
||||
| **G3** | Ingen deterministisk gull-intern-konsistens-vakt (`verdict=correct` mens egen `notes` sier «uverifisert/illustrativ») | Gull-labeling-feil av FP1-klassen (selvmotsigende annotasjon) | Liten TDD-lint over `gold-correctness-set.json` (+ kjøres på fremtidige gull-bygg) | 🟢 **lukket 2026-06-30** | Spor 1 (nytt gull bygges) / §7 friskt utvalg |
|
||||
| **G4** | Nedre-grense-policyen lever kun i prosa (denne dok + reconciliation-logg) — ikke kodet i judge-prompt ELLER `build-gold-set`-instruks | Re-introdusert nedre-grense-ambivalens i fremtidige gull-bygg + judge-kjøringer | Kod policyen inn i judge-prompt-v3 (G1) + build-gold-set-instruks | 🟢 **kodet 2026-06-30** (build-instruks + v3 R1); håndheving rir på G1/G2-adopsjon | Spor 1 / §7 friskt utvalg |
|
||||
| **G5** | Gull-fasiten kan aldre — ingen friskhets-/re-adjuderings-vakt på selve svarnøkkelen. v3-målingen avdekket at flere judge-«feil» trolig er *utdatert gull*, ikke judge-feil (`genaiops-llm-specific#2`: claim «1600+», live=1900 ⇒ 1,19× tett nedre grense, R1 sier korrekt `grounded`, gull sier `outdated` — gull-standarden er her for streng) | Feil adopsjonsbeslutning bygd på aldrende baseline; falsk feilrate i §7-nordstjernen | Friskhets-mikropass: re-adjuder de ~5 omstridte v3-vs-v2-claims mot live MS Learn (avgjør gull-feil vs judge-feil) + periodisk gull-re-adjudering knyttet til §7 friskt utvalg | 🟢 **lukket 2026-06-30** (G5: 2 gull-feil rettet, 3 judge-feil bekreftet, **reverserte adopsjonsbeslutningen**; **G5b: completeness-caveat lukket** — de 4 v3-FP re-sjekket, ALLE 4 stale gull, v3 → P 100 % / R 92,9 % / 0 FP — se lukke-logg) | v3.1-adopsjon (baseline må være til å stole på FØR ny prompt måles mot den) |
|
||||
|
|
@ -139,3 +139,7 @@ Status-nøkkel: 🔴 ikke startet · 🟡 pågår · 🟢 lukket.
|
|||
- **FP-risiko avkreftet (R1s dobbeltegg holdt):** R1-«+»-floor-flaggene over full populasjon (`rag-context-windows#2` «200k+»→1M, `ai-services-vs-foundry#5` «100+»→1900) er begge gull=`outdated` → **TP, ikke FP**; tette floors (`genaiops#2` «1600+»→1900, `reserved-capacity#3` «enkelte 100+») holdt `grounded`, gull=`correct` → TN. R1s magnitude-skille (>~2× decision-changing vs tett) sporet fasiten i begge retninger over de 255 — ingen ny FP innført.
|
||||
- **Forhåndsregistrert gate klarert:** «adopter v3.1 KUN hvis P=100 OG R>92,9» → P=100 ✓ ∧ R=100>92,9 ✓ → **v3.1 ADOPTERT**. v3.1 (`judge-claim-prompt-v3.1.md`, R1–R8) er nå inngangen til G2.
|
||||
- **Metode-note (portabelt mønster, [[showcase-reusable-patterns]]):** `build-judge-payloads.mjs` (deterministisk payload-generator) + per-payload-splitt + inkrementell per-fil-persistering (resume-trygg mot kvote-stopp) gjorde fan-outen reproduserbar og avbruddssikker. Artefakter: `judge-bakeoff-results-v3.1.json`, `judge-bakeoff-report-v3.1.{json,md}` (committet); payloads gitignored.
|
||||
- **G2 🟢 LUKKET (2026-06-30) — adoptert v3.1-judge wired inn i pipelinen (TDD).** RED→GREEN: testene `test-transform.test.mjs:200` (default-stempel) + `:235` (ende-til-ende) flippet `judge-v2 → judge-v3.1`, så feile, så `scripts/kb-update/lib/transform.mjs:44` `JUDGE_VERSION = 2 → '3.1'`.
|
||||
- **Designvalg — version-label-streng, ikke integer (`judge-v3` forkastet):** v3 er en distinkt, målt, *forkastet* versjon (R 92,9 / 3 FN) med eget navn i programmets artefakter; et `judge-v3`-stempel ville navne feil judge og kollidere. Streng `'3.1'` lar provenance navne adoptert judge eksakt. Blast-radius null: `verified_by` lagres/parses kun som `\S+`-token + presence-sjekk (`parseVerifiedByHeader`), ingen kode trekker ut integeren; parseren tar `judge-v3.1` uendret (ende-til-ende-testen bekrefter det gjennom `composeKbFile`). Default-stien interpolerer strengen direkte (utenom `Number.isInteger`-guarden), så integer-override-stien (`judgeVersion:3 → judge-v3`) består.
|
||||
- **Prompt-/command-wiring:** `transform-prompt.md` (46/101/105), `commands/kb-update.md` (130 — BÅDE Port 2 born-verified OG Port 3-kadens-inngang), `commands/generate-skills.md` (139/143/305/307) byttet `judge-claim-prompt-v2.md → -v3.1.md` + `judge-v2 → judge-v3.1`. `generate-skills.md`: kun kirurgisk judge-ref (Cosmo-heading urørt — «gjøres sist» per [[cosmo-persona-deprecated]]). Suite **641/641** (kun 2 eksisterende tester flippet, ingen lagt til).
|
||||
- **Restgap (guard-minor-nit, §8-oppfølging):** stempel-guarden (`transform.mjs:165`) honorerer *integer*-override men ikke en minor-bærende streng-override (`judgeVersion:'3.2'` faller tilbake til default pga `Number.isInteger`). Harmløst — pipelinen bruker alltid default ('3.1'); en fremtidig judge-revisjon som vil *overstyre* til en minor må generalisere guarden til en version-label-regex. Logget her, ikke lukket (utenfor G2-scope; ingen failing behov i dag).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue