13 KiB
Gull-rekonsiliering (Spor 2b) — herding av fasiten før korpus-skala
Opprettet 2026-06-30. Utfører Spor 2(b) i ref-kb-correctness-program-2026-06.md §3: «løs hver judge-vs-gull-uenighet (v2: 6 FP + 6 FN) mot live kilde. Hver er enten judge-feil ELLER gull-feil; å løse dem kalibrerer judgen OG retter fasiten. Mål: 0 uløste uenigheter.» Gjøres FØR Spor 1 (korpus-pass) — bunnsolid fasit før vi skalerer målingen (§6 avhengighet).
Sammendrag
12 uenigheter mellom v2-judgen og gull-settet (gold-correctness-set.json) ble løst ved fersk re-henting av hver siterte kilde (Opus 4.8-subagenter, microsoft_docs_fetch, read-only). Resultat:
- 4 gull-feil (gull-verdikt rettet) + 1 note-fiks (verdikt beholdt).
- 8 judge-feil (gull sto; dokumentert som kalibreringsmål for Spor 2a / judge-prompt-v3).
- 0 uløste uenigheter — hver av de 12 er adjudisert til en definitiv side med verbatim live-belegg.
Effekt på målingen (judgen var bedre enn rå-bakeoffen viste — fasiten var kontaminert):
| TP | FP | FN | TN | presisjon | recall | F1 | |
|---|---|---|---|---|---|---|---|
v2 rå fasit (judge-bakeoff-report-v2) |
32 | 6 | 6 | 196 | 84,2 % | 84,2 % | 0,842 |
v2 herdet fasit (-v2-reconciled) |
35 | 3 | 5 | 197 | 92,1 % | 87,5 % | 0,897 |
Den frosne judge-bakeoff-report-v2 beholdes urørt som gate-beslutnings-artefakt (pre-registrert gate ble vurdert på den fasiten). judge-bakeoff-report-v2-reconciled viser herdet fasit.
Resolusjonsprinsipp (konservativt — tillit-bærende fasit)
For hver uenighet: finn den sanne verdikten mot live kilde.
- Sann ≠ gull → gull-feil: rett gull-verdikt.
- Sann = gull → judge-feil: gull står, judge føres som kalibreringsmål.
- Flytt gull kun der den sanne verdikten genuint avviker. En påstand som er substansielt korrekt men upresis (rett størrelsesorden / rett kjerneatferd) blir stående
correct, og judge-flagget føres som over-streng.
Verdikt-vokabular: correct (matcher dagens kilde) · outdated (var sant, kilden viser nå annet) · wrong (aldri sant / motsier kilden uten historisk grunnlag) · unsourced (kilden oppgir ikke verdien).
Nedre-grense-policy (§3-kjennelse, godkjent av operatør 2026-06-30)
§3 ber gull avgjøre om nedre-grense-påstander («100+», «200k+») teller som feil. Vedtatt policy: grov understatement (>~2×, beslutnings-endrende) teller som feil; en stram nedre grense (sann verdi i samme størrelsesorden) blir stående correct. Anvendt på FN2 (200k+ vs ~1M ⇒ outdated).
De 12 adjudiseringene
FP-er (judge flagget not_grounded, gull var correct)
| ID | Live ground truth (verbatim-belagt) | Sann | Resolusjon |
|---|---|---|---|
FP1 azure-ai-foundry.md#2 (taxonomy) |
what-is-foundry: «over 1,900 models from Microsoft, OpenAI, Anthropic…» = HELE katalogen; «sold by Azure» er en delmengde. «11000+» og «40+ regioner» finnes ikke (kun «most regions where Foundry Tools are available») |
wrong | 🔴 GULL-FEIL correct→wrong |
FP2 multimodal-prompt-design.md#7 (taxonomy) |
multimodal-search-overview: image-to-vector ved query krever multimodal-embedding-vectorizer, men TO veier — AML-skill ELLER Azure Vision. «kun» utelukker AML-veien |
wrong | 🔴 GULL-FEIL correct→wrong |
FP3 rag-cost-optimization.md#8 (taxonomy) |
vector-search-how-to-quantization: «up to 96% reduction» / «up to 28 times» (claim 96,875% = teoretisk 32x ≈). «92,5%» = MS blogg-tittel (reell MS-figur, kombinerte teknikker) |
correct (substansielt; begge tall sporer til MS) | 🟡 JUDGE-FEIL (eksakt-streng-pedanteri) |
FP4 multi-region-ai-gateway-design.md#2 (taxonomy) |
deployment-types: 3 kjerne-residency-atferder bekreftet (Standard=deployment-region, DataZone=US/EU-sone, Global Standard=any region). Global Provisioned=any region (ikke single-region) |
correct (men note «alle fire ordrett» overdrev) | 🟡 JUDGE-FEIL + note-fiks |
FP5 service-level-documentation-dr.md#6 (taxonomy) |
distribute-data-globally: «Build global active-active apps… every region supports both writes and reads» — multi-region-write reell |
correct | 🟡 JUDGE-FEIL (ekte FP — kapabilitet-bom) |
FP6 ai-foundry-disaster-recovery-planning.md#9 (status) |
openai/concepts/models: Global training = GA (per-modell), ikke Public Preview; «billigere» + «ingen residency» stemmer; men Norway East er en GLOBAL trenings-region, ikke residency-regional |
outdated | 🔴 GULL-FEIL correct→outdated |
FN-er (judge grounded/source_silent, gull var feil)
| ID | Live ground truth | Sann | Resolusjon |
|---|---|---|---|
FN1 real-time-reasoning-performance.md#5 (region) |
realtime-audio + WebRTC/SIP/WebSockets-søsken: Realtime = global deployment-type i NØYAKTIG East US 2 + Sweden Central. To-region-grensen IKKE avløst — gull misleste «global deployments» |
correct | 🔴 GULL-FEIL outdated→correct |
FN2 rag-context-windows.md#2 (version) |
models-sold-directly-by-azure: GPT-4.1 = 1 047 576 (~1M); praktisk 300k std. «200k+» sann nedre grense men understater ~5× |
outdated (nedre-grense-policy) | 🟡 JUDGE-FEIL |
FN3 llm-evaluation-production.md#3 (sku) |
Databricks mlflow3/.../judges: Completeness/Fluency/Equivalence finnes ikke i dagens built-in-liste (ConversationCompleteness er en distinkt multi-turn-judge) |
outdated | 🟡 JUDGE-FEIL (source_silent maskerte fravær) |
FN4 endpoint-health-and-capacity-planning.md#3 (tpm) |
openai/quotas-limits: «1 Unit Capacity»-rammen borte → Quota Tiers (Free/Tier 0–6, absolutte RPM/TPM). Ratioene overlever i tier-tabellene |
outdated | 🟡 JUDGE-FEIL (ramme-skifte, tall overlever) |
FN5 capacity-planning-dr-configurations.md#3 (status) |
reliability-ai-search + cognitive-search-common-errors-warnings: ingen 99,99%-nivå — SLA er 99,9%; 2 vs 3 replikaer = lese vs lese-skrive (begge 99,9%) |
wrong | 🟡 JUDGE-FEIL (source_silent maskerte faktafeil) |
FN6 rag-query-cost-reduction.md#2 (sku) |
search-limits-quotas-capacity: claim-tallene matcher kun «Before April 3, 2024»-raden; nå Basic 15/S1 160/S2 512/S3 1024 GB |
outdated | 🟡 JUDGE-FEIL (matchet legacy-rad) |
Gull-endringer (anvendt 2026-06-30)
| ID | Før | Etter | Begrunnelse (kort) |
|---|---|---|---|
azure-ai-foundry.md#2 |
correct | wrong | «11000+» motsier live «1900+ totalt»; «sold by Azure» mis-tilskriver totalen |
multimodal-prompt-design.md#7 |
correct | wrong | «kun» utelukker AML-skill (dokumentert annen vectorizer) |
ai-foundry-disaster-recovery-planning.md#9 |
correct | outdated | Global training er GA, ikke Public Preview; Norway-East-framing feil |
real-time-reasoning-performance.md#5 |
outdated | correct | to-region-grensen står; gull misleste kilden |
multi-region-ai-gateway-design.md#2 |
correct | correct (note-fiks) | fjernet «alle fire ordrett»; noterte Global-Provisioned-unntaket |
Hver endret claim bærer en RECONCILED 2026-06-30 (Spor 2b)-tag i notes med live-belegg + fil-fiks-peker for Spor 0/1.
8 judge-kalibreringsmål (mater Spor 2a / judge-prompt-v3)
Disse er ikke gull-endringer — gull sto, judgen bommet. Grupperte feilmoduser:
- Eksakt-streng-pedanteri (FP3): judge flagget fordi eksakt-strengene (96,875% / 92,5%) ikke sto verbatim, selv om størrelsesorden og kilde-sporing var rett. → Judge bør tillate dokumentert teoretisk-vs-benchmark-ekvivalens.
- Taksonomi-nyanse / over-streng (FP4): kjerneatferden var grunnet; judge flagget på en utelatt under-kategori. → Judge bør skille «kjernen grunnet, detalj utelatt» fra «kjernen ugrunnet».
- Kapabilitet-bom (FP5): judge hentet evidence-URL (continuous-backup) som ikke nevner kapabiliteten prominent, og kunne ikke grunne en reell kapabilitet. → Judge bør følge kapabilitet til kanonisk side; ikke straffe illustrative tall (~0 RTO/RPO) når kapabiliteten er solid.
- Nedre-grense-understatement (FN2): judge sa
groundedfordi 1M ≥ 200k. → Judge bør flagge nedre grenser som grovt understater (>~2×), ikke bare sjekke ≥. source_silentmaskerer fravær (FN3, FN5): judge hentet siden, fant ikke de påståtte entitetene/tallene, og returnertesource_silent(ikke et flagg). For «X finnes i listen»-påstander er fravær på autoritativ side bevis FOR feil. → Behandlesource_silentpå eksistens-påstander som svakt not_grounded-signal.- Ramme-skifte, tall overlever (FN4): judge pattern-matchet overlevende ratioer og overså at organiserings-rammen (1 Unit Capacity → Quota Tiers) var avløst. → Judge bør detektere når påstandens ramme/enhet er erstattet selv om avledede tall holder.
- Legacy-rad-match (FN6): judge matchet mot en tids-stemplet historisk tabellrad («Before April 3, 2024») og kalte det grunnet. → Judge må sammenligne mot GJELDENDE rad, ikke en hvilken som helst historisk rad.
(FP3, FP4, FP5 = 3 FP; FN2, FN3, FN4, FN5, FN6 = 5 FN.)
Verifiseringslogg (nøkkelpåstander → kilder)
| Påstand | Kilde (live, 2026-06-30) |
|---|---|
| 1900+ = hele katalogen, ikke «sold by Azure» | learn.microsoft.com/azure/foundry/what-is-foundry |
| image-to-vector: AML-skill ELLER Azure Vision | learn.microsoft.com/azure/search/multimodal-search-overview |
| binary quant «up to 96% / 28x»; 92,5% = blogg-tittel | learn.microsoft.com/azure/search/vector-search-how-to-quantization |
| Global Provisioned = any region | learn.microsoft.com/azure/foundry/foundry-models/concepts/deployment-types |
| Cosmos multi-region writes (active-active) | learn.microsoft.com/azure/cosmos-db/distribute-data-globally |
| Global training = GA; Norway East = global-region | learn.microsoft.com/azure/ai-foundry/openai/concepts/models |
| Realtime = East US 2 + Sweden Central (global type) | learn.microsoft.com/azure/foundry/openai/how-to/realtime-audio (+ WebRTC/SIP/WebSockets) |
| GPT-4.1 kontekst = 1 047 576 | learn.microsoft.com/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure |
| MLflow built-in judges (ingen Completeness/Fluency/Equivalence) | learn.microsoft.com/azure/databricks/mlflow3/genai/eval-monitor/concepts/judges/ |
| Quota Tiers erstatter Unit Capacity | learn.microsoft.com/azure/foundry/openai/quotas-limits |
| AI Search SLA = 99,9% (ingen 99,99%); 2 vs 3 = lese vs lese-skrive | learn.microsoft.com/azure/reliability/reliability-ai-search (+ cognitive-search-common-errors-warnings) |
| AI Search storage nå Basic 15/S1 160/S2 512/S3 1024 | learn.microsoft.com/azure/search/search-limits-quotas-capacity |
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, FN2–FN6 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}).