Retter en overpåstand i forrige commit. §9.3 skrev "verifisert skår: 2 av 46
(idx 17 + idx 19)". Idx 19 hadde cond2 = human_must_confirm; å telle den ville
vært å forfremme en human_must_confirm til bekreftende på sjekkerens egen
autoritet — nøyaktig den retningen ratifikasjonsgaten finnes for å hindre.
Asymmetrien er poenget: idx 14, 18 og 26 var også cond2 = confirm, og der
BEKREFTET sveipet tvilen (trygg retning). Idx 19 er det ene tilfellet som ville
gått motsatt vei, og den flyttingen er ikke sveipets å gjøre.
Hele-fila-sjekken INNSNEVRER idx 19s cond2-innvending til et utelatelses-spørsmål
(misleder allerede eksisterende taushet en leser?) — det er ratifikatorens kall.
Idx 19 = sterkeste kandidat for neste ratifikasjon, ikke medlem av den
verifiserte klassen.
Skår: 1 av 46 (idx 17). Sveipet fjernet ingen og la til ingen; det korrigerte fire
rader.
Navngir også idx 36 som det andre null-leksikalsk-overlapp-funnet (grep returnerer
ingenting; linje 310 kom fra lesning) — reproduserbarhet er poenget med avsnittet.
Sveipet den ratifiserte brede cond2-lesningen over de 15 O2-kandidatene utenom
idx 8 og 17, én om gangen, over 10 filer. Ingen KB-fil redigert.
Ekstraktoren ble kalibrert på idx 8 FØR sveipet: den må hente fram
"Managed Compute Cluster" (linje 263) fra det slettede "eller managed compute
cluster". Den gjør det. Grep alene er ikke nok — idx 14s overlevende påstand er
norsk "automatisk" mot slettet engelsk "Automatically", null leksikalsk overlapp.
Hver kandidat ble derfor også lest på stedet.
Motsagt (ikke ratifiserbar som skrevet): 14, 18, 26, 27. Alle utenom 18 har en
redusert subtraksjon — ny streng, må gjennom check-o2-returns.mjs på nytt.
Operatørkall: 33, 36 — slettet innhold overlever i fila uten at resten blir falsk.
Rene: 7, 9, 19, 28, 31, 38, 40, 42, 45.
Verifisert skår: 2 av 46 (idx 17 + idx 19), ikke klassifikatorens opprinnelige 2.
Klassifikatorens cond2 tok feil i én retning: den skrev den motsigende linja inn i
sitt eget evidence-felt uten å behandle den som en defeater. Promptgap, ikke
modellfeil.
Suite 1021/1021.
§9 + appendiks C i pilot-resultatene, og kontrakten oppdatert der den fortsatt
sa at dette var umålt (§3, §5, §4.1, §4.2).
Målt over de 46 R8 ∧ MULTI_PART_CLAIM: 17 O2-kandidater, 29 O3.
- ALLE 29 felles av betingelse 3 — kilden leverer en korrigert verdi, så fiksen
er swap/rewrite og subtraksjon ville ødelagt sann informasjon. Betingelse 1
(«strengt mindre») feller bare 5, aldri alene. R8s sviktende multipart-påstander
er overveiende en FEILVERDI-klasse, ikke en overflødig-spesifisitet-klasse.
Det er F2 reprodusert i skala, og det bekrefter at en mekanisk O2-driver ville
vært feil å bygge.
- Kun 2 av 46 klarerer begge menneske-dømte betingelser bekreftende; 15 er
merket human_must_confirm. Gjentakende grunn: det fjernede er ofte SANT om noe
ANNET, bare ikke om radens eget subjekt — flytting kan slå sletting.
- Ekstrapolering til korpus (~60 kandidater) er merket som ekstrapolering, ikke
måling.
Presisering under skriving: triage-fordelingen er ikke måling #4 (review-
throughput krever menneskelige review-økter som ikke er kjørt) — den er inputen
#4 trenger.
Suite 1021/1021.
Implementerer den ratifiserte §4b-tabellen i lib/fix-op.mjs (19 nye tester,
suite 996/996). Alle tre skrankene har egne tester: tabellen er LUKKET, fil-
tokenet må være en KOMPLETT livssyklus-etikett, og verdien som skrives er den
korpus-side ekvivalenten med filas egen markup bevart.
To implementasjonsvalg den ratifiserte teksten lot stå åpne, begge løst mot
fail-closed: status-lokatoren er LINJE-scopet (livssyklus-vokabular gjentas
nedover hver kolonne i en statustabell, så et blokkvindu er tvetydig ved
konstruksjon), og et sitat som hevder to rader aborterer.
MÅLT: 15 pilot / 54 korpus-brede flagg -> 5 og 8 provbare. Alle 8 hånd-dømt
mot kilden (r11-pilot-results.md appendiks B): 5 korrekte, 1 ubevist, 2 GALE.
De tre defektene er én familie: §4b binder tabellen, etikettens fullstendighet
og verdien som skrives — og INGENTING om hvorvidt kilde-frasen refererer til
radens eget subjekt. Samme proveniens-uten-referent-defekt som falsifiserte §4.
Klassen er derfor REVIEW-grade, ikke apply-grade: `status` står bevisst utenfor
o1_recommended, ingen driver applikerer den.
To kandidatvilkår er kostnadsberegnet over de åtte (begge dreper gale forslag
og null korrekte) men IKKE implementert — å utvide en tabell operatøren
ratifiserte som lukket er en operatørbeslutning, slik vilkår 5 var i §4a.
Rettet samtidig 2 NUL-bytes i testfila (pre-eksisterende, fra en tidligere
økt) som gjorde at git behandlet hele fila som binær og blokkerte diff-
gjennomgang før commit.
Operatøren fulgte alle tre anbefalingene (2026-08-03). Beslutningene styrer all
nedstrøms fiksing av et offentlig distribuert korpus, så de føres i den SPOREDE
kontrakten, ikke i en økt-transkripsjon.
§5 — O2 RATIFISERT, med rest-sjekk (ikke blankt). Tre betingelser, alle
menneske-bekreftet: (1) setningen påstår strengt mindre, (2) resten bærer ingen
falsk eller misvisende stående implikasjon — lest som en LESER leser den, ikke
som en logiker, (3) ingenting kilden BEKREFTER fjernes. Betingelse 2 og 3 krever
at et menneske leser resten, så O2 er billigere enn O3 (ingen fakta-innhenting)
men ikke mekanisk. §10s throughput-antakelse bør re-måles mot det.
§4a — kontekst-korrespondanse som betingelse 4, og betingelse 5: den
APPLISERBARE klassen er `iso_date` alene. Hånd-verifisert 9/9 mot 0/6 for
number/version. Klassifikatoren fortsetter å rapportere alle typer — det er
målingen — og merker den appliserbare mengden som `o1_recommended`.
§4b — status-synonymtabellen RATIFISERT, snever og LUKKET. Fire rader. Tre
skranker, fordi dette er det ENESTE stedet der verdien som skrives inn i fila
ikke selv står ordrett i quoten: tabellen utvides aldri ved slutning i run time,
fil-tokenet må være en komplett livssyklus-etikett, og verdien som skrives er
den KORPUS-side ekvivalenten med filas egen markup bevart (`**Preview**` →
`**GA**`), aldri den engelske frasen limt inn.
§4s påstand om at invarianten er «deliberately stronger than human review at
scale» er strøket og merket falsifisert, med peker til målingen.
INGEN AV DE TRE ER IMPLEMENTERT. Klassifikatoren aborterer fortsatt
STATUS_SYNONYM og ruter fortsatt alt ikke-O1 til O3. Begge dokumentene sier det
eksplisitt, slik at en senere økt ikke antar at koden allerede følger kontrakten.
To durabilitets-hull i resultatdokumentet, begge funnet ved gjennomgang:
1. Korpus-tallene (218 filer / 776 flagg / 15 sluppet / 9 korrekte) kom fra en
--threshold 1-kjøring, men det persisterte artefaktet er PILOT-kjøringen. En
senere økt kunne ikke regenerere §1/§3 uten å vite om flagget. Reprodusér-
kommando står nå ved hver tabell.
2. Hånd-verifiseringen av de 15 var det eneste som skiller 9 fra 15, og den lå
kun i en økt-transkripsjon. Appendiks A fører hver enkelt: file:line, swap,
type, dom, begrunnelse. En senere kjøring som slipper gjennom en 16. kan nå
diffes mot lista.
RETTELSE i §3-tabellen: `number`-raden sto med «Correct 2». Det var ikke hånd-
verifisert — de to (gpt-4.1-mini → gpt-5-mini, 40 → 10 MB) er UVERIFISERTE, ikke
bekreftet korrekte. Riktig fordeling: 9 korrekte · 4 gale · 2 uverifiserte.
Hovedtallet (9) er uendret; det var alltid iso_date alene.
§10-målingen er gjennomført mot live ledger (243 records). Ingen KB-fil er
redigert og ingen ledger-record er skrevet — §8s single-writer-state er urørt.
Instrumentet ER O1-driveren med writes av (scripts/kb-eval/lib/fix-op.mjs, 30
tester). Måling #1 og #3 kommer dermed ut av mekanismen som senere skal ta på
korpuset, ikke ut av en proxy-heuristikk.
HOVEDFUNN — §4 som skrevet er utilstrekkelig, målt:
Kjørt eksakt som spesifisert slapp den gjennom 6 swaps på piloten, hvorav 4 er
GALE editer (presisjon 2/6):
- 30-dagers → 24-dagers (enhets-kryssing: kilden sier 24 HOURS)
- 3000 req/sek → 50 (metrikk-kryssing: query-throttle vs indexing-rate)
- Microsoft Agent 365 → 7 (identifikator lemlestet, «7» høstet fra «E7»)
- text-embedding-ada-002 → ada-2 (identifikator lemlestet)
§4 binder proveniensen til verdien og formen på editen — ingenting om at de to
tokenene betegner SAMME STØRRELSE. Påstanden om at invarianten er «deliberately
stronger than human review at scale» holder ikke.
TILLEGG: contextCorresponds() krever samme label eller samme enhet på begge
sider. Bevisst leksikalsk, UTEN oversettelsestabell — «dokumenter» læres ikke å
være «documents», fordi en synonymtabell innfører en ny faktakilde og er en
operatørbeslutning. Konsekvensen er målt: swap er provbar praktisk talt bare der
konteksten er språknøytral (URL, kodeeksempel, parameternøkkel).
TALLENE:
- Pilot (≥7): 24 filer / 202 flagg → O1 = 2 (1,0 %), O3 = 200 (99,0 %)
- Hele korpuset: 218 filer / 776 flagg → 15 sluppet gjennom, 9 korrekte
- Kun iso_date (api-version-bump) overlever hånd-verifisering: 9/9.
number/version lemlester identifikatorer (AI-900 → AI-901, gpt-4o → gpt-5.1o
×2, Java-agent 3.7.5 → 3.4.0 = nedgradering) og skal IKKE påføres.
- Kun 7 av 200 aborter (3,5 %) er en fiksbar engineering-gap. Mer locator-
arbeid kan ikke flytte O1-tallet vesentlig.
Måling #2 (R8 → O2) er IKKE besvart og kan ikke besvares maskinelt: R8 gir null
O1, og hvilke av de 46 enumerasjonene som subtraherer rent avhenger av dommerens
PROSA-reason. Måling #4 (review-throughput) er ikke målt — det krever
menneskelige review-økter som ikke har skjedd. Begge står som ikke-målt, ikke
som antatt.
VIDERE FUNN: subtraksjon kan etterlate en misvisende rest (§5 sier den «cannot
introduce a new error» — sant om setningen, usant om leserens slutning), og kan
ødelegge sann informasjon (prebuilt-check → finnes, heter prebuilt-check.us).
`disposition` er `outdated` på 202/202 og bærer null informasjon, i strid med
flagg-formatspesifikasjonen. `claim` matcher fillinjen ordrett i 0 av 202.
Full oppskrift og åpne operatørbeslutninger: docs/r11-pilot-results.md
Pilot-utvalget i §10 ble målt mot 222-record-ledgeren. R7.5 er nå komplett (243
records, +82 flagg), så tallet var utdatert i det øyeblikket 8b270fb landet.
Designregelen er uendret — tetteste ≥7-utvalg. Kun tellingen flyttet seg:
- 21 filer / 178 not_grounded → 24 filer / 202
- Nye i utvalget: semantic-caching-patterns, small-language-models-economics,
vector-storage-cost-optimization
Presiserer også terskel-definisjonen, som ikke sto eksplisitt: den teller
not_grounded alene, ikke source_silent. På alle flagg ville utvalget vært
39 filer / 352 — en dobling, og en reell felle for pilotøkten.
Karakteristikken holder fortsatt: 202/776 = 26 % av volumet i 24/229 = 10 %
av filene.
Vårt offentlig-speil-bærer-funn (trinn E §4) formelt anerkjent som
klassefeil, ikke enkeltsak (treffer >= ms-ai-architect + llm-ingestion-okf
+ catalog). Interim ratifisert = hold markøren LOCAL-ONLY + aksepter
eksklusjon fra tverrsnittet (= allerede vår tilstand). Endelig form eid av
commons+catalog ved register-build (3 kandidater). Ingen gjenstående
operatørbeslutning hos oss — ÅS#5 lukket. [skip-docs]
To operasjoner, én økt (⊥ R7), begge ren metadata-normalisering (verdi aldri fabrikkert).
Premiss-korreksjon (ground truth 2026-07-07): roadmap sa «27 none + 4 ai-act».
Målt: 29 mangler bold **Status:** = 25 rene none + 4 ai-act (plain Status: GA).
De «27» inkluderte 2 for mye — 2 filer (custom-dashboards-ai-operations,
zero-trust-ai-services) har bold **Status:** KUN forbi byte 500 (present for
full-fil-audit, usynlig for 500B header-parser) → egen header-slanking-residual
(§8-register), utenfor Enhet 3.
Op A — Status-backfill 25 rene none: utvidet backfill-status.mjs MANIFEST 14→39
(samme statusForFile + insertMetaField + hard per-fil-invariant, idempotent skip
på de 14 R21-gjorte). Alle 25 → **Status:** Established Practice (ingen matcher
template|matrix|benchmarks|register). Diff +25/-0.
Op B — ai-act dual-header-dedup (4 filer): ny driver dedup-plain-header.mjs + 2
rene primitiver i transform.mjs — boldifyPlainField (plain→bold, verdi bevart
byte-eksakt, header-scoped, idempotent) + dropRedundantPlainField (sletter plain
KUN når bold m/ identisk verdi beviser redundans; kaster ved avvik/manglende bold).
Per fil: plain Last updated: + Status: GA → bold (2026-06-18/2026-02, GA bevart),
redundant plain Category: fjernet. Hard per-fil-invariant (net -1 linje, begge
felt bold m/ bevart verdi, ingen plain-header igjen, body byte-identisk). Diff -12/+8.
Verifisering: test-backfill-status 8/8 + test-dedup-plain-header 13/13; audit
Missing Status 29→0, Missing English Last updated 4→0; skills-diff 29 filer
+33/-12 (kun **Status:** + 8 bold-swaps), diff-kontekst inspisert per fil; begge
drivere idempotent (re-run 0 writes); suite 806/806 exit 0; none=8 uendret (Enhet 4).
45-veis v3.1 fan-out kjørt per runbook: 255 claims / 45 filer, 45 Opus-4.8-xhigh-
subagenter (live MS Learn, blinde for gull, én per fil), aggregert 255/255 rent →
deterministisk re-score mot G5b-korrigert gull.
Resultat: v3.1 = P 100,0 / R 100,0 / 0 FP / 0 FN / F1 1,000 (TP 42, TN 198) mot
v3-baren P 100,0 / R 92,9 / 3 FN. Alle 3 gjenstående FN fanget (R1 øvre-grense,
R7 last-bærende-streng, R8 fler-delt) UTEN én ny FP. Forhåndsregistrert gate
(hold P=100 ∧ løft R>92,9) klarert → v3.1 ADOPTERT som judge.
R1-«+»-floor-flagg over full populasjon avkreftet som FP-risiko: alle matchet gull
(decision-changing floors = outdated/TP; tette floors = correct/TN). §8 G1 lukket,
G2 avblokkert (v3.1 = prompt å wire i transform.mjs). Suite 641/641. [skip-docs]