feat(ms-ai-architect): G5b gull-friskhets-spot-sjekk LUKKET — 4 v3-FP re-adjudert mot live, ALLE stale gull (v3 flagget korrekt), baseline løftet v3 P89.7/R92.1 → P100/R92.9/0FP; v3.1 forfattet (ren recall-hardning, FP-vakt droppet) [skip-docs]

This commit is contained in:
Kjell Tore Guttormsen 2026-06-30 13:43:52 +02:00
commit 045db566ba
8 changed files with 842 additions and 12 deletions

View file

@ -96,13 +96,13 @@ 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) | 🟡 **v3 REHABILITERT 2026-06-30 av G5** — mot fersk gull slår v3 (P 89,7/R 92,1) v2 (P 86,8/R 86,8) på BEGGE akser; «regresjonen» var stale gull. v3 = interim baseline; **v3.1 neste** (slå v3, ikke v2) | Spor 1 korpus-pass (judgen brukes i ~2700 fetches) |
| **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) | 🟡 **v3 = adoptert baseline; G5b løftet den til P 100 % / R 92,9 % (0 FP) på G5b-korrigert gull.** v3.1 FORFATTET (`judge-claim-prompt-v3.1.md`) — ren recall-hardning av 3 bekreftede FN (R1 øvre-grense, R7 last-bærende-streng, ny R8 fler-delt); FP-vakt DROPPET (G5b: v3 har 0 ekte FP). 45-veis fan-out IKKE kjørt (operatør-gate, stor spend) — bar er nå v3 (hold P=100 ∧ løft R) | 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 | 🔴 (avh. G1) | 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** (2 gull-feil rettet, 3 judge-feil bekreftet; **reverserte adopsjonsbeslutningen** — se lukke-logg) | v3.1-adopsjon (baseline må være til å stole på FØR ny prompt måles mot den) |
| **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) |
**Ikke mekanisme-gap, men sporet backlog (innhold, ikke loop):** reference-`.md`-fil-fiksene fra Spor 2b (FP1 11000+/40+, FP2 «kun», FP6 Preview/Norway-East, FN2FN6 utdaterte tall) er **Spor 0/1**-innholdsarbeid — pekt per-claim i `notes`, ikke gjentakelses-mekanisme. Føres i Spor 0-manifest / Spor 1-korpus-pass, ikke her.
**Ikke mekanisme-gap, men sporet backlog (innhold, ikke loop):** reference-`.md`-fil-fiksene fra Spor 2b (FP1 11000+/40+, FP2 «kun», FP6 Preview/Norway-East, FN2FN6 utdaterte tall) **+ G5b** (`adr-template.md` fjern «zero permission management»; `multi-region-azure-openai-deployment.md` bytt retired `gpt-35-turbo` → gjeldende modell; `network-resilience-patterns-ai.md` «obligatorisk» → «anbefalt»; `vector-storage-cost-optimization.md` GA-dato `2024-11-01``2024-07-01`) er **Spor 0/1**-innholdsarbeid — pekt per-claim i `notes`, ikke gjentakelses-mekanisme. Føres i Spor 0-manifest / Spor 1-korpus-pass, ikke her.
### Lukke-logg
@ -124,3 +124,12 @@ Status-nøkkel: 🔴 ikke startet · 🟡 pågår · 🟢 lukket.
- **Korreksjon av linje 114 (v3-måling, mot stale gull):** `model-selection#8` var IKKE «R7 for ettergivende» — det var R7 vindisert (gull-feil). v3.1 R7-vakten gjelder kun load-bearing-strenger (`token-usage#3`).
- **Baseline-revurdering (re-score, samme gull begge):** v2 falt 92,1/87,5 → **86,8/86,8** (mistet 2 TP→FP på de rettede claims — var oppblåst av stale gull). v3 steg 89,7/87,5 → **89,7/92,1** (2 FN→TN). **v3 slår nå v2 på BEGGE akser.** Den opprinnelige «v3 regredierte» var et stale-gull-artefakt. Den detaljerte 22-flip-tellingen i linje 113 var mot stale gull (2 «regresjoner» = claims 1+3 er nå presisjon-forbedringer FP→TN) — superseded av re-scoren. Artefakter: `judge-bakeoff-report-v2-g5gold.{json,md}`, `judge-bakeoff-report-v3-g5gold.{json,md}`. Gull-`_meta.reconciliation_log` + lint (373 claims, 0 flagget) + suite 641/641 grønt.
- **Beslutning:** v3 = **interim adoptert baseline** (slår v2 på fersk gull per forhåndsregistrert gate). v3.1-baren er nå **v3 (89,7/92,1)**, ikke v2 — strengere og ærligere. **Completeness-caveat:** kun de 5 omstridte ble re-sjekket; de 4 v3-FP-claims (`adr-template#1` m.fl.) sitt gull er IKKE re-verifisert (antatt `correct`; spot-sjekk under v3.1). Periodisk gull-re-adjudering knyttes til §7 friskt utvalg (G5-mekanismen er nå et mønster, ikke engangs).
- **G5b 🟢 lukket (2026-06-30) — completeness-caveat innfridd; baseline løftet til P 100 %.** G5s eksplisitte gjenstående caveat (de 4 v3-FP-claims hadde antatt, ikke verifisert, `correct`-gull) lukket: de 4 (`adr-template#1`, `multi-region-azure-openai-deployment#2`, `network-resilience-patterns-ai#4`, `vector-storage-cost-optimization#7`) re-adjudert mot live MS Learn, **én Opus-4.8-subagent per claim, blind for gull/v3-verdikt** (anti-anchoring, samme protokoll som G5).
- **Utfall — ALLE 4 var stale gull; v3 flagget hver korrekt (0 ekte FP):**
1. `adr-template#1` (status) «zero permission management, permissions respekteres automatisk» — live (`data-privacy-security` + `connecting-external-content-manage-items`): del B (auto-respektert ved grounding) stemmer, men del A motsies — Graph connectors krever ACL per `externalItem` + identitets-mapping. **Gull-feil** `correct→wrong`. v3 `not_grounded` (R6) korrekt.
2. `multi-region-azure-openai-deployment#2` (region) «Sweden Central … gpt-4o, o1, gpt-35-turbo» — live: gpt-4o + o1 tilgjengelig, men **gpt-35-turbo er retired** (0301/0613 feb 2025; 0125/1106 fra sep 2025), borte fra katalogen. **Gull-feil** `correct→outdated`. v3 `not_grounded` (R2 entitet-fravær) korrekt.
3. `network-resilience-patterns-ai#4` (status) «Circuit Breaker + Retry … obligatorisk for alle Azure AI API-kall» — live (`how-to/quota`): MS rammer dette som «Rate limit best practices / recommended», circuit breaker kun valgfri Polly-utvidelse. «Obligatorisk for alle» overdriver modalitet + omfang. **Gull-feil** `correct→wrong`. v3 `not_grounded` (R6) korrekt.
4. `vector-storage-cost-optimization#7` (status) «Vector quantization GA siden 2024-11-01» — live (`search-api-migration`): quantization ER GA, men GA-dato var **2024-07-01** (stable release); «2024-11-01» finnes kun som *preview*-API-versjon (`2024-11-01-preview`). Last-bærende dato feil. **Gull-feil** `correct→wrong`. v3 `not_grounded` korrekt.
- **Baseline-revurdering (re-score, G5b-korrigert gull, samme gull begge):** de 4 flyttet FP→TP for v3. **v3: P 89,7/92,1 → 100,0 / 92,9 (TP 39, FP 0, FN 3, TN 198).** v2: 86,8/86,8 → **86,8 / 78,6** (de 4 ble FN for v2 — v2 flagget ingen). v3 dominerer nå v2 på begge akser med større margin; gull var fortsatt kontaminert. Artefakter: `judge-bakeoff-report-v3-g5bgold.{json,md}`, `judge-bakeoff-report-v2-g5bgold.{json,md}`. Gull `_meta.reconciliation_log` + lint (373 claims, 0 flagget) + suite 641/641 grønt.
- **Konsekvens for v3.1-design (PLAN-INVERSJON):** STATEs planlagte v3.1-endring #4 (R2/R6 «FP-vakt» for de 4) er **droppet** — R2/R6 fanget disse korrekt; en vakt ville re-knekt 3 reelle treff. v3.1 er nå **ren recall-hardning** av de 3 gjenstående FN (R1 øvre-grense-skille, R7 last-bærende-streng-carve-out, ny R8 fler-delt-fullstendighet) — `judge-claim-prompt-v3.1.md` forfattet. **Adopsjonsgate strammet:** v3 sitter på presisjonstaket (P=100), så v3.1 må **holde P=100 OG løfte R over 92,9** — enhver ny FP feller den. 45-veis fan-out gjenstår (operatør-gate, stor spend).
- **Mønster bekreftet:** G5b er andre gang gull-friskhet inverterte en adopsjonskonklusjon ([[gold-freshness-can-invert-adoption]]). Gull-re-adjudering FØR baseline stoles på er nå fast disiplin, ikke engangs — knyttes til §7 friskt utvalg.

View file

@ -102,3 +102,22 @@ Disse er **ikke** gull-endringer — gull sto, judgen bommet. Grupperte feilmodu
## Hva som IKKE ble gjort (scope-grense)
Spor 2b retter **fasiten** (gull-settet), ikke reference-`.md`-filene. Fil-fiksene (FP1 11000+/40+, FP2 «kun», FP6 Public-Preview/Norway-East, FN2FN6 utdaterte tall) er **Spor 0/1**-arbeid og er pekt ut i hver claims `notes`. Mange av FN-ene er reelle korpus-feil som hører til Spor 0-manifestet / Spor 1-korpus-passet.
## Addendum — etterfølgende gull-friskhets-flips (G5 + G5b, kanonisk logg i programdok §8)
Spor 2b var ikke siste ord: gull-fasiten eldes (G5-gapet). Senere friskhets-passes (full logg + belegg i `ref-kb-correctness-program-2026-06.md` §8 lukke-logg) flyttet ytterligere **6 gull-verdikt** mot live MS Learn. Samlet flip-ledger for komplett sporbarhet:
| Pass | Claim | Før | Etter | Retning |
|---|---|---|---|---|
| 2b | `azure-ai-foundry.md#2` | correct | wrong | for streng gull → feil avslørt |
| 2b | `multimodal-prompt-design.md#7` | correct | wrong | — |
| 2b | `ai-foundry-disaster-recovery-planning.md#9` | correct | outdated | — |
| 2b | `real-time-reasoning-performance.md#5` | outdated | correct | gull for streng → rettet |
| **G5** | `genaiops-llm-specific-practices.md#2` | outdated | **correct** | aldrende gull (1600+ vs live 1900, tett nedre grense) |
| **G5** | `model-selection-price-performance.md#8` | outdated | **correct** | aldrende gull (Model Router GA nov 2025) |
| **G5b** | `adr-template.md#1` | correct | **wrong** | stale gull (Graph connectors krever ACL) |
| **G5b** | `multi-region-azure-openai-deployment.md#2` | correct | **outdated** | stale gull (gpt-35-turbo retired) |
| **G5b** | `network-resilience-patterns-ai.md#4` | correct | **wrong** | stale gull («obligatorisk» vs «recommended») |
| **G5b** | `vector-storage-cost-optimization.md#7` | correct | **wrong** | stale gull (GA-dato 2024-07-01, ikke 2024-11-01-preview) |
**Mønster:** gull-friskhet inverterte adopsjonskonklusjonen **to ganger** (G5 og G5b). Re-adjudering av omstridt gull mot live FØR en baseline stoles på er nå fast disiplin ([[gold-freshness-can-invert-adoption]]), knyttet til §7 friskt utvalg. Effekt på adoptert baseline: v3 målt **P 100 % / R 92,9 % / 0 FP** på G5b-korrigert gull (`judge-bakeoff-report-v3-g5bgold.{json,md}`).