Commit graph

123 commits

Author SHA1 Message Date
a1295a97a2 docs(ms-ai-architect): OKF-brief annotert til v0.2 — malen pekte på to retirerte felt [skip-docs]
Google bumpet OKF til v0.2 2026-07-25. Briefen navnga et upstream-eksempel
som «kopier som mal» og beskrev det ordrett med `timestamp` og en
`# Citations`-seksjon — begge retirert i v0.2.

Verifisert mot Googles egen okf/SPEC.md §13.1, ikke mot coord-meldingen som
reiste saken:
- `timestamp` avløst av `generated.at` (`generated: { by, at }`)
- body `# Citations` avløst av `sources` i frontmatter

Begge har fallback, så v0.1-form er fortsatt konform. Men vi er greenfield —
de 6 filslotene finnes ikke på disk — så vi sikter v0.2 fra første byte og
arver null migreringsbyrde.

Annotert: seksjonsingress (v0.1-varsel), linje for kjernekontrakt, mal-
eksempelet (nå «ikke kopier ordrett»), struktur-konvensjonen (`okf_version:
"0.2"`) og writer-kravet i Node-API-skissen. Writer-kravet var load-bearing:
det mater `llm-ingestion-okf` fase 4 og sto i strid med STATE-markørens
akseptanseskisse (`generated.by` påkrevd når `generated` finnes, `verified`
som liste).

Linje 110/146 gjelder KB-korpuset, som er bevisst aldri-OKF — urørt.
2026-08-03 21:00:01 +02:00
39eb2fd084 docs(ms-ai-architect): R11 §9.5 — kryss-korpus-sjekk: ingen dinglende referanser; idx 33s innhold overlever fem steder under CAF-attribusjon [skip-docs] 2026-08-03 20:46:26 +02:00
cf23e90afc docs(ms-ai-architect): R11 §9.5 — fire subtraksjoner ratifisert + anvendt; verifisert skår 1 → 4 av 46 [skip-docs] 2026-08-03 20:40:36 +02:00
4042d0b94a docs(ms-ai-architect): R11 §9.4 — ratifikasjonspakke: fire editer forberedt + maskin-attestert, ingen anvendt; G7 reist [skip-docs] 2026-08-03 20:35:00 +02:00
43f0a5e4e9 docs(ms-ai-architect): R11 §9.3 — idx 19 er en innsnevring, ikke en ratifikasjon; skår står på 1 av 46 [skip-docs]
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.
2026-08-03 20:21:55 +02:00
28461cf7f7 docs(ms-ai-architect): R11 §9.3 — hele-fila-sjekken kjørt på de 15; 9 rene, 4 motsagt, 2 operatørkall [skip-docs]
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.
2026-08-03 20:19:56 +02:00
e1d344307c docs(ms-ai-architect): cond2 ratifisert som hele-fila-lesning; verifisert skår 1 av 46 [skip-docs] 2026-08-03 19:51:36 +02:00
03caa72d58 docs(ms-ai-architect): R11 §9.2 — cond2-rekkevidden er en uratifisert forgrening, ikke en måling [skip-docs] 2026-08-03 17:59:08 +02:00
cbbff91208 docs(ms-ai-architect): R11 §9.2 — idx 8/17 hand-verified; idx 8 cond2 falsifisert [skip-docs] 2026-08-03 17:54:52 +02:00
d8ce788709 docs(ms-ai-architect): R11 §10 måling #2 ført inn — O2 er triage, ikke automatisering [skip-docs]
§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.
2026-08-03 17:43:24 +02:00
e4925c6b28 feat(ms-ai-architect): R11 §4b implementert — status-synonymtabellen målt, 8 forslag hånd-dømt [skip-docs]
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.
2026-08-03 17:13:05 +02:00
e86948a71a docs(ms-ai-architect): R11 — de tre operatørbeslutningene ratifisert og ført inn i kontrakten [skip-docs]
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.
2026-08-03 16:37:21 +02:00
064078b8c2 docs(ms-ai-architect): R11 pilot — appendiks A med de 15 hånd-dommene + reprodusér-kommandoer [skip-docs]
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.
2026-08-03 16:32:14 +02:00
b0b5890703 feat(ms-ai-architect): R11 pilot kjørt — §4-invarianten falsifisert, 9 provbare swaps i hele korpuset [skip-docs]
§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
2026-08-03 16:30:31 +02:00
4fae3c46b2 docs(ms-ai-architect): R11 §10 pilot-tall retalt etter R7.5-komplettering — 21/178 → 24/202 [skip-docs]
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.
2026-08-03 16:02:54 +02:00
9e7638cfa1 docs(ms-ai-architect): R11 utførelses-design — tiering på fikse-operasjon over allerede-evidensert flaggpopulasjon [skip-docs] 2026-08-03 12:28:24 +02:00
f9cc32982c docs(ms-ai-architect): S-OKF D2-funn tatt opp av runden som ÅS#5 (memo v2)
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]
2026-07-21 08:48:29 +02:00
b4fc1d8289 docs(ms-ai-architect): S-OKF runden avsluttet — konsensus ratifisert (2026-07-21)
D1 landet i vår favør: §5-prefiks kun på stemplede dør-A-filer (aldri
konsepter) → krav-8-innvendingen bortfaller; håndheving → check_bundle
per-fil (= krav 7); writer-avvisning skjerpet til komplett-stempel-
kombinasjonen (generated+ingest_manifest sammen), immaterielt for oss →
krav-8-ordlyd 'avvis begge navnene' superseded. D3 bevisst-terminal tatt
inn. Vi tildelt intet utførelsessteg (konsument-stegene = okr + portfolio-
optimiser). D2 ÅPENT for vårt offentlig-speil-repo: ratifisert bærer =
committet ikke-gitignored fjern-hentbar fil = ville publisert markøren
offentlig (trinn E §4-innvendingen) — ikke-blokkerende, operatørbeslutning
kreves før compliant bærer, anbefaling behold LOCAL-ONLY. Postkasse-teardown
= intet datatap (svarfila var transport, varig innhold i briefen). [skip-docs]
2026-07-21 07:27:01 +02:00
9d3959ad85 docs(ms-ai-architect): S-OKF trinn E — egen tallfeil rettet (hook teller /5, ikke /6; free-context bevisst utenfor → bundlen bærer INGEN fullstendighetsegenskap), D1-posisjon (prefiks som inkluderer stempelfeltene tvinger oss til å forfalske stempelet → writer må avvise generated/ingest_manifest), P1-kollisjon løst via disjunkte predikater + vi viker ved tvang [skip-docs] 2026-07-20 21:41:08 +02:00
3c017ac7d9 docs(ms-ai-architect): S-OKF trinn D-review — krav 7 (delvis bundle = gyldig tilstand, check må skille ufullstendig fra ugyldig), krav 5 trukket (F1-dør-B-premisset falt da dørene ble komposisjoner), index-semantikk avklart som kontraktsforpliktelse ikke retrieval [skip-docs] 2026-07-20 09:28:40 +02:00
99156428b6 docs(ms-ai-architect): S-OKF trinn D — KB-korpus bekreftet aldri-OKF (passform god, kost/nytte blokkerer); bundle-plassering krever null endring; to funn meldt biblioteket (taksonomi-hull for bruker-eid+plugin-skrevet, gate-tap utenfor git-treet) [skip-docs] 2026-07-20 08:52:13 +02:00
2eb9c8d840 docs(ms-ai-architect): S-OKF fase-4-kartlegging — adopsjonsflate = second brain, ikke skill-refs/KB-refresh; kravskisse til Node-API (writer uten connector, index som bibliotekfunksjon, check med funn-struktur, guard-hook ved persist); markør satt til planned [skip-docs] 2026-07-20 07:26:10 +02:00
f7efc8ed21 docs(ms-ai-architect): S-OKF bindes til delt bibliotek — tooling fra llm-ingestion-okf fase 4, ikke lokal bygging (tre-delt eierskap: catalog=konvensjon, biblioteket=implementasjon, guard=sikkerhet); gate = avklaring B2 [skip-docs] 2026-07-20 07:12:00 +02:00
ccd6b8875a docs(ms-ai-architect): G6-LA-lukking i §8-registeret — G6 🟡🟢 (Layer A aktivert + live-verifisert, Enhet B) + lukke-logg [skip-docs] 2026-07-18 11:02:14 +02:00
af6c31c4c1 feat(ms-ai-architect): Enhet A2 — Layer B baseline-adjudikering: innholds-basert allowlist (75 funn adjudikert, TDD) + 4 korpus-defekter fikset (2 homoglyph-ord, 2 U+00AD-filer); korpus 389/389 exit 0 [skip-docs] 2026-07-18 10:31:06 +02:00
6125f933be feat(ms-ai-architect): RX-OPS1 — deterministisk Layer B commit-gate (pre-commit-scan) + runbook Forutsetning 0 [skip-docs]
pre-commit-scan.mjs mekaniserer G6 §8: scan-adversarial-content over stagede
skills/**/*.md ved commit-grensen, uansett modell-adferd. Kun ingestion-flaten
(skills/**/*.md); BLOCK/WARN aborterer commit (WARN = flag->human). DI'd
(selectStagedKbFiles + runGate), 9 nye tester. E2E: clean->0, seeded
adversarial->BLOCK exit 1, tom->0.

Runbook Forutsetning 0 = §5b Layer A-gate + untrusted-data-ramme: judge-side
fencing UTELATT bevisst (ville vaere judge-bump per brief §5b.4 / Non-goal §7);
foreground-fetch + Layer B er de kompenserende kontrollene.

Suite 910->919 exit 0 (+9). validate-plugin.sh 250/0.
2026-07-16 20:52:45 +02:00
4794de0b79 docs(ms-ai-architect): sesjonsplan flyttet ut av public repo — planer holdes internt [skip-docs] 2026-07-10 06:51:36 +02:00
da8c682622 docs(ms-ai-architect): kryssmodell-review 2026-07-09 integrert — §RX-sesjonsserie (7 BLOCKER/15 MAJOR), R7-gate skjerpet (G6-LA ∧ RX-OPS1 ∧ RX-KB1), Enhet 4 krympet, RX-HDR 10 filer, R13 re-måle-direktiv, S-OKF-skisse i Parkert [skip-docs] 2026-07-10 06:28:47 +02:00
de0d94cbc1 feat(ms-ai-architect): R22 decision-b Enhet 3 — Status-backfill 25 none + ai-act dual-header-dedup 4 (Missing Status/Last-updated 29+4→0) [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).
2026-07-07 07:45:27 +02:00
1ab4fc34cf feat(ms-ai-architect): decision-b Enhet 2 — Dato→Last-updated relabel 16 filer (21 header-kandidater: 16 rene + 5 dual utskilt til dedup), isRealDateValue placeholder-guard [skip-docs] 2026-07-06 11:08:42 +02:00
e999b74eda feat(ms-ai-architect): decision-b Enhet 1 — dialekt-relabel 51 filer (Kategori→Category + Sist oppdatert→Last updated), 73 byte-eksakte swaps [skip-docs]
Ren value-preserving label-relabel av de to norske header-labelene til engelsk på 51 ref-filer (22 bærer begge). Ny testet ren primitiv relabelHeaderDialect() (header-blokk-scoped, kollisjons-/multiforekomst-guard) + manifest-drevet driver relabel-dialect.mjs (frosset 51-fil-manifest, hard per-fil-invariant, idempotent, isMain-guard). **Dato:** bevisst UTE (body-template-felle → Enhet 2). Premiss-korreksjon i roadmap R22: tredje Dato-dialekt (16), 0 bold-duplikater (ikke 4), 1 datoløs (ikke 5), category-none = vindus-artefakt. test-relabel-dialect 11/11; diff +73/-73 0 linjer utover label; suite 782/782 exit 0.
2026-07-06 10:07:52 +02:00
5a0e8d774a feat(ms-ai-architect): R21 — Status-backfill på 14 advisor-ref-filer (redusert scope etter premiss-korreksjon) [skip-docs]
Manifest-drevet applier (scripts/kb-update/backfill-status.mjs) over den testede
insertMetaField-primitiven + ny ren regel statusForFile (filnavn-token → Reference/
Established Practice, operatør-godkjent vokabular). 7 Reference + 7 Established Practice.
Hard per-fil-invariant (én linje, body byte-identisk), idempotent, isMain-guard. 7 tester.

Premiss-korreksjon (auditHeaders, ground-truth 2026-07-06): ekte not-due-restanse er
21 Status + 26 Last-updated (STATE sa 21/22). «0 har norsk dato» var falskt — 21/26
Last-updated-gap bærer allerede Sist oppdatert/Dato → relabel-residual; 5 datoløse gir
«i dag» ved naiv git → utsatt. 4 dual-header ai-act-*-filer med plain-text «Status: GA»
fanget i diff-inspeksjon → revertert (unngår duplikat/motsigelse) → residual (samme
plain-blokk ga R20 duplikat Category). Korrigert residual logget i roadmap §R21.

Verifisering: test-backfill-status 7/7; git diff +14/-0 (kun Status-linjer, body
byte-identisk); not-due Status-missing 21→3; full suite 771/771 exit 0.
2026-07-06 09:41:40 +02:00
a583599ab1 feat(ms-ai-architect): R20 — Category-backfill på 25 kategorisløse ref-filer via insertMetaField [skip-docs]
Ny testet primitiv transform.insertMetaField (anker + 500B-back-off som insertHeaderFields, idempotent på eksakt label, body byte-identisk; 6 tester) + backfill-category.mjs (deterministisk folder->category-regel, hard per-fil-invariant, insert-only, aborterer for skriving ved avvik).

Fordeling: 14 Solution Architecture & Advisory (architecture/), 6 Microsoft AI Platforms (platforms/+development/), 4 Responsible AI & Governance, 1 MLOps & GenAIOps. Label = engelsk Category (322 vs 42 Kategori). Eksisterende recommended-mcp-servers/rag-maturity-model urort.

Roadmap: R20 done + R21 (Status/Last-updated not-due) encoded. Verifisering: 0 kategorislose filer (var 25); diff +25/-0; idempotent re-run; suite 764/764 exit 0.
2026-07-06 07:39:54 +02:00
655f60a40d docs(ms-ai-architect): R19 — Layer B↔llm-ingestion-pipeline-security konvergens (hub-and-spoke spoke-peker) + brief §6-koordineringspeker [skip-docs] 2026-07-05 10:25:06 +02:00
6db508c670 docs(ms-ai-architect): G6 Layer A-aktiveringsprotokoll som R7-gate (foreground-fetch obligatorisk, rollback) [skip-docs] 2026-07-04 23:39:20 +02:00
afc041a6a2 docs(ms-ai-architect): R6 — fastsett R7-R10 (5 økter x ~49, 8-10 samtidige, per-fil-flush, pass=AND, pilot ≤45) [skip-docs] 2026-07-04 23:37:25 +02:00
841292ff36 refactor(ms-ai-architect): retire backfill-toc.mjs (superseded), migrer cosmo-removal-brief:41-kobling, logg §8-residual [skip-docs] 2026-07-04 23:33:55 +02:00
a0283efe84 docs(ms-ai-architect): R11-flaggformat-spec + valideringstest (judge-output + augmentering) [skip-docs] 2026-07-04 23:24:06 +02:00
c910945ca4 feat(ms-ai-architect): Spor 1 — worklist aktivert + CT5/N4 flyttet; utfall + policy-delta + base-felt-restanse logget [skip-docs] 2026-07-04 10:20:48 +02:00
c13b7505e0 docs(ms-ai-architect): Spor 1 — authority-URL valgt per reference-fil (manifest source-satt) [skip-docs] 2026-07-04 09:04:24 +02:00
f8e420c773 docs(ms-ai-architect): G6 §8-register — Layer B (b) lukket 2026-07-04 (gaten bygget/wiret), Layer A (a) aktivering gjenstår [skip-docs] 2026-07-04 07:14:35 +02:00
687a15138e docs(ms-ai-architect): forankre ingestion-security-brief (G6 §8 / R6 punkt d — to-lags gate) [skip-docs] 2026-07-04 06:47:10 +02:00
eeb343192d docs(ms-ai-architect): G6 ingestion-gate ført i §8-register + roadmap (R6 design, R7+ håndhevelse) — llm-security aktiveres i fetch-økter [skip-docs] 2026-07-03 05:42:31 +02:00
f0d7f91d42 docs(ms-ai-architect): Spor 1 — edge-set-klassifisering adjudert (manifest finalisert) [skip-docs] 2026-07-03 01:05:28 +02:00
f3d52e0692 docs(ms-ai-architect): R0 tillit + dok-hygiene — anonymiser handover-kontekst, rett stale CLAUDE.md-pekere, programdok §6 à jour med §8, superseded-merke på workflow-plan, fjern For Cosmo-instruks [skip-docs] 2026-07-03 00:39:59 +02:00
4050c8bc21 docs(ms-ai-architect): skill-validerings-rutine-brief (AI-Engineer-lens, Trinn 0-4) — input til R15 /trekplan [skip-docs] 2026-07-03 00:39:59 +02:00
099c41aab2 docs(ms-ai-architect): styrende sesjons-roadmap R0–R18 fra full statusanalyse 2026-07-02 [skip-docs] 2026-07-02 17:28:19 +02:00
3b1406e090 docs(ms-ai-architect): kanoniser skill-eval ↔ Spor 1-koblingen i §6 Avhengigheter [skip-docs] 2026-06-30 22:16:30 +02:00
da8606f9f6 feat(ms-ai-architect): G2 LUKKET — adoptert v3.1-judge wired inn i pipeline (JUDGE_VERSION 2→'3.1', TDD, suite 641) [skip-docs] 2026-06-30 21:55:39 +02:00
09bc99eec8 feat(ms-ai-architect): G1 LUKKET — v3.1 judge MÅLT + ADOPTERT (P100/R100/0FP/0FN, max-utfall)
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]
2026-06-30 21:33:45 +02:00