Commit graph

450 commits

Author SHA1 Message Date
4a36fd1853 feat(ms-ai-architect): reproduserbar V1/V2/V2b-sjekk av O2-returene (25 tester) [skip-docs]
Måleresultatets sentrale påstand — at forslagene er tekstlig ærlige — hvilte på
et sesjons-lokalt skript ingen kunne etterprøve. Flyttet inn som bibliotek + CLI
med tester, så tallet kan reproduseres fra fersk klon:

  node scripts/kb-eval/check-o2-returns.mjs

Sjekkene avgjør IKKE O2 — betingelse 2 og 3 er fortsatt menneskelige. De
avgrenser de to feilmodusene et menneske ikke fanger billig over 46 forslag:
- V1: sitert filtekst må finnes ordrett i fila (fanger oppdiktet tekst og stille
  æøå-transliterering). Gjelder HVER rad, også O3 — en O3 basert på oppdiktet
  tekst er like feil, bare feil i trygg retning.
- V2: forslaget må kunne oppnås ved kun å slette tegn.
- V2b: V2 alene er for svak — 'Automatically add' -> 'Add' passerer fordi den
  store A-en fantes inne i det slettede ordet. Ordnivå-sjekk, case-sensitiv.
- V3: skjema- og verdikt-koherens.

Suite 996 -> 1021.
2026-08-03 17:40:02 +02:00
94c99c46dd feat(ms-ai-architect): R11 §10 måling #2 bølge 2 — alle 46 R8-enumerasjoner klassifisert [skip-docs]
Fire subagenter til (idx 25-46), samme rammer: read-only, ingen writes/commits,
ingen web-oppslag, evidence_quote som eneste kilde. To presiseringer i prompten
etter bølge 1: forslaget må være oppnåelig ved kun sletting (behov for
omskriving er i seg selv O3-bevis), og eksplisitt leveringsplikt.

Totalt 46/46: 17 O2-kandidater, 29 O3, 0 locator-bom.
Maskin-verifikasjon: 46/46 passerer V1 (ordrett filtekst), 16 av 17 O2-forslag
passerer V2+V2b; ett flagget (idx 14, rekapitalisering).

Alle 29 O3-er felles av betingelse 3 — kilden leverer en korrigert verdi.
2026-08-03 17:36:29 +02:00
b174db0936 feat(ms-ai-architect): R11 §10 måling #2 bølge 1 — 24 av 46 R8-enumerasjoner prosa-klassifisert [skip-docs]
Fire subagenter (Opus, read-only, ingen writes/commits, ingen web-oppslag)
klassifiserte idx 1-24 mot §5s tre O2-betingelser. Returene er evidens, ikke
regenererbare, og lagres derfor tracked etter samme mønster som fase0-returns.

Maskin-verifikasjon av returene (V1/V2/V2b):
- V1: alle 24 file_text_verbatim finnes ordrett i de faktiske filene (æøå og
  markup intakt) — oppfunnet tekst ville ryket her.
- V2: alle O2-forslag er deletion-only mot den teksten.
- V2b: ett flagg (idx 14) — 'Automatically add' -> 'Add' er en rekapitalisering,
  altså en tekstendring og ikke ren fjerning. Går til menneskelig review.

Bølge 1: 7 O2-kandidater, 17 O3, 0 locator-bom.
2026-08-03 17:30:20 +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
8b270fbe99 feat(ms-ai-architect): R7.5 KOMPLETT 51/51 — payload-31..51 dømt+ingestet, re-judge-gate bestått, async-processing stemplet [skip-docs]
De siste 21 R7.5-filene (payload-31..51) dømt i to parallelle arbeider-tabber,
integrert serielt her.

- 375 claims, 82 flagg (64 not_grounded + 18 source_silent)
- Ledger 222 → 243 records (229 flagged / 14 pass), flagg 902 → 984
- R7.5-batch 30 → 51 = full-pass-worklisten dømt ferdig

Verifisering før ingest:
- Egen telling per fil mot dry-run: 21/21 eksakt match
- ID-fidelitet mot r75-claims-manifest.json: 21/21 eksakt, riktig rekkefølge
- Fold-grep begge dialekter over 375 reason-felt: 0 treff
- Mot HEAD: 0 records tapt, 0 eksisterende records endret

result-38 (async-processing-patterns.md) var eneste pass-record. Re-judge-gate
kjørt før stempling med blind dommer (forbud mot å lese results/ og manifestet):
15/15 grounded, per-claim enighet med originalen, flere dommer nådd via andre
kildesider. ENIGHET → born-verified stempel påført.

Suite: 947/947.
2026-08-03 15:56:52 +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
353b976425 feat(ms-ai-architect): R7.5 bølge 3 — payload-21..30 dømt+ingestet (206 claims, 48 flagg; ledger 212→222) [skip-docs] 2026-08-01 20:48:15 +02:00
8ac64e407a feat(ms-ai-architect): R7.5 bølge 2 — payload-11..20 dømt+ingestet (209 claims, 51 flagg; ledger 202→212) [skip-docs]
Ti dommere (R75J-11..20) kjørt parallelt med live MS Learn-fetch per claim.
Alle ti returnerte, validerte 10/10 mot slot + claim-id-sett, og ingen
foldet ASCII — verifisert mot BEGGE dialektene (ae/oe og enkelt-vokal a/o),
0 treff. Mot 2/10 foldet i bølge 1 med samme modell og effort; forskjellen
er den skjerpede prompten med eksempler på begge foldemønstre.

Ingen pass-record i bølgen, så ingen re-judge-gate og ingen stempling —
manifestet er eneste endrede fil.

- 11 model-fingerprinting-watermarking.md ......... 21 claims,  7 flagg
- 12 norwegian-content-safety.md .................. 23 claims,  5 flagg
- 13 output-validation-grounding-verification.md .. 19 claims,  3 flagg
- 14 owasp-llm-top10-azure-mitigations.md ......... 18 claims,  2 flagg
- 15 pii-detection-norwegian-context.md ........... 19 claims,  4 flagg
- 16 prompt-injection-defense-patterns.md ......... 14 claims,  3 flagg
- 17 security-copilot-integration.md .............. 34 claims,  9 flagg
- 18 security-scoring-rubrics-6x5.md .............. 21 claims,  4 flagg
- 19 supply-chain-security-ai-models.md ........... 17 claims,  9 flagg
- 20 ai-builder-credits-transition.md ............. 23 claims,  5 flagg

Ingest dry-run kryssjekket mot egen telling fil for fil før ekte ingest.
Judge-dato 2026-08-01 (reell dato, ÅS#1) lagt inn for slot 11-20.

Ledger 202→212 records (199 flagged + 13 pass), 803→854 flagg.
R7.5: 20/51 dømt. Suite 947/947.
2026-08-01 20:21:06 +02:00
330d8199bb feat(ms-ai-architect): R7.5 steg 1 — re-judge-gate bestått + dommer 03/08 re-kjørt og ingestet (ledger 200→202, 803 flagg) [skip-docs]
Re-judge-gate for disconnected-ai-scenarios.md (eneste pass i bølge 1):
blind dommer R75G-01 (forbud mot å lese r75/results/ og manifestet) ga
19/19 grounded — identisk med originalen på hver claim-id, 0 uenigheter.
ENIGHET → apply-verified-stamp.mjs dry-run bekreftet «would stamp: 1»,
deretter --write (1 stamped, 12 already stamped, 0 failed). KB-diffen er
kun de to stempel-linjene, kroppen byte-identisk.

Dommer 03 og 08 re-kjørt med nye agentnavn (R75J-03b, R75J-08b) etter at
begge foldet ASCII i bølge 1. Begge returnerte æøå intakt — verifisert mot
BEGGE folde-dialektene (ae/oe og enkelt-vokal a/o), 0 treff.

- result-03 ai-incident-response-procedures.md: 21 claims, 12 flagg
- result-08 data-leakage-prevention-ai.md: 27 claims, 9 flagg

Judge-dato satt til reell dato 2026-08-01 for begge (ÅS#1), ikke
batch-identitetsdatoen 2026-07-31 de arvet fra bølge 1.

Ledger 200→202 records (189 flagged + 13 pass), 782→803 flagg.
R7.5: 10/51 dømt. Suite 947/947.
2026-08-01 20:03:33 +02:00
845d8fbdc9 feat(ms-ai-architect): R7.5 extract-fase komplett (51/51, 986 claims) + dømmebølge 1 delvis — 8/10 ingestet (1 pass, 7 flagged, 34 flagg; ledger 192→200) [skip-docs] 2026-07-31 22:14:41 +02:00
f52a486e3a feat(ms-ai-architect): R7.4 KOMPLETT — payload-40..49 dømt+ingestet (170 claims, 36 flagg; ledger 182→192; R7.4 49/49, 923 claims, 236 flagg) [skip-docs]
Bølge 5 avslutter ms-ai-infrastructure/bcdr/ og dermed hele R7.4-batchen.
Ingen pass-record i bølgen, så re-judge-gaten utløses ikke og
apply-verified-stamp.mjs er ikke kjørt (verified uendret på 12).

Dekningskontroll: alle 49 filer i r74-batch.json finnes i ledgeren som
R7.4-records — ingen manglende, ingen ekstra. validate-result.mjs 10/10 OK.
Suite 947/947 grønn.

Pending etter R7.4: 51 filer (R7.5). Flagg totalt 712 → 748.
2026-07-31 21:11:31 +02:00
533d451cd2 feat(ms-ai-architect): R7.4 bølge 4 — payload-30..39 dømt+ingestet (190 claims, 10 flagged/0 pass, 55 flagg; ledger 172→182) [skip-docs]
Avslutter responsible-ai/ (slot 30-33) og starter ms-ai-infrastructure/bcdr/
(slot 34-39). Ingen pass-record, så re-judge-gaten utløses ikke og
apply-verified-stamp.mjs er ikke kjørt (verified uendret på 12).

validate-result.mjs: falsk positiv rettet — «opplyser» sto i
folding-heuristikkens ordliste, men er ordinært norsk uten foldet vokal
(ae/oe/aa) og blokkerte et korrekt result-32. Oppføringen er fjernet med
begrunnelse i koden. Regresjon: alle 39 resultater validerer, og
kontrolltest bekrefter at ekte folding (paa/staar/noeyaktig/loesning/
maaned/ogsaa/naar/aapen/stoette/tjenesteomraade) fortsatt fanges.

Suite 947/947 grønn. R7.4: 39/49 dømt. Flagg totalt 657 → 712.
2026-07-31 20:57:05 +02:00
e017f8bcc2 feat(ms-ai-architect): R7.4 bølge 3 — payload-20..29 dømt+ingestet (245 claims, 10 flagged/0 pass, 72 flagg; ledger 162→172) [skip-docs]
Alle 10 filene i responsible-ai/ dømt av separate Opus-agenter med live
MS Learn-fetch. Ingen pass-record, så re-judge-gaten utløses ikke og
apply-verified-stamp.mjs er ikke kjørt (verified står uendret på 12).

validate-result.mjs: 10/10 OK (slot-binding, claim-id-mengde, lukket
verdikt-sett, folding-heuristikk). Suite 947/947 grønn.

R7.4: 29/49 dømt. Flagg totalt 585 → 657.
2026-07-31 18:30:16 +02:00
3043ff74d4 feat(ms-ai-architect): R7.4 bølge 2 — payload-11..19 dømt+ingestet (153 claims, 9 flagged, 41 flagg; ledger 153→162) [skip-docs] 2026-07-31 16:05:09 +02:00
8e4c8b59c7 feat(ms-ai-architect): R7.4 re-judge-gate bestått — digdir-ai-governance-structure stemplet born-verified (2 blinde pass, 12/12 enighet; stemplede 11→12) [skip-docs] 2026-07-31 15:54:54 +02:00
a7cb4b2bb3 feat(ms-ai-architect): R7.4 bølge 1 — payload-01..10 dømt+ingestet (165 claims, 9 flagged/1 pass, 21 flagg; ledger 143→153) [skip-docs] 2026-07-31 15:49:17 +02:00
6b91c81935 docs(ms-ai-architect): README install-seksjon manglet selve install-kommandoen — kun marketplace add var oppgitt
En leser som fulgte README-en la til katalogen og stoppet; pluginen ble aldri
installert. Legger til det manglende andre leddet og flytter /plugin-henvisningen
til aa handle om aa bla i de OeVRIGE pluginene, som er det den faktisk gjoer.

Plugin-navn (ms-ai-architect) og katalognavn (ktg-plugin-marketplace) verifisert
mot .claude-plugin/plugin.json og catalog/.claude-plugin/marketplace.json;
plugin@marketplace-syntaksen verifisert mot 'claude plugin install --help'.

Rapportert av org-ops som funnet i 9 av 11 plugin-repo. [skip-docs]
2026-07-26 21:08:14 +02:00
1b29e9673a feat(ms-ai-architect): R7.3 KOMPLETT — payload-37/38/39/41/42/43/45/47/48/49 dømt+ingestet (216 claims, 61 flagg; ledger 133→143; R7.3 49/49, 1008 claims, 269 flagg) [skip-docs] 2026-07-25 12:41:36 +02:00
e625645739 feat(ms-ai-architect): R7.3 bølge 4 (delvis) — payload-36/40/44/46 dømt+ingestet (80 claims, 16 flagg; ledger 129→133); 10 dommere døde på session-grensen [skip-docs] 2026-07-25 12:08:33 +02:00
6bfe24c7e2 feat(ms-ai-architect): R7.3 bølge 3 — payload-26..35 dømt+ingestet (193 claims, 10 flagged, 54 flagg; ledger 119→129) [skip-docs] 2026-07-25 08:03:38 +02:00
7011898bd0 feat(ms-ai-architect): R7.3 bølge 2 — payload-16..25 dømt+ingestet (190 claims, 10 flagged, 57 flagg; ledger 109→119) [skip-docs] 2026-07-25 07:50:00 +02:00
c4554708ca feat(ms-ai-architect): R7.3 bølge 1 — payload-06..15 dømt+ingestet (221 claims, 10 flagged, 48 flagg; ledger 99→109) [skip-docs] 2026-07-25 07:36:09 +02:00
80bfd02726 feat(ms-ai-architect): R7.3 start — 49 filer ekstrahert (1008 claims), payloads bygget, 5 dømt+ingestet (ledger 94→99) [skip-docs]
Ekstraksjon komplett for hele R7.3-batchen (neste 49 av 149 pending, worklist-
rekkefølge): 1008 claims over 49 filer, null valideringsfeil. Manifest og 49
v3.1-payloads bygget deterministisk.

Judge-pass startet: 5 filer dømt blindt mot live MS Learn (alle flagged, 33 nye
flagg) og ingestet serielt etter dry-run. Ingen pass-records → verken re-judge-
gate eller stempling utløst.

Ledger: 99 records (R7.1 45 + R7.2 49 + R7.3 5), 88 flagged / 11 pass, 287 flagg.
Suite 947/947.
2026-07-25 07:01:57 +02:00
2935039f44 feat(ms-ai-architect): R7.2 stempling — 9/11 pass born-verified etter re-judge-gate; 2 diskvalifisert → flagged (R11) [skip-docs]
Re-judge-gate (frossen v3.1, 11 blinde Opus-4.8-xhigh subagenter, live MS Learn-fetch,
G6 Layer A dekket alle fetches). Kvalitetsgate på irreversibelt steg: born-verified stempel
krever TO uavhengige alt-grounded pass.

9 ENIGHET (alle claims grounded) → stemplet Verified 2026-07-24 / judge-v3.1:
  apim-azure-front-door-ai, apim-vs-direct-access-comparison, cost-tracking-apim-policies,
  developer-portal-ai-apis, multi-region-ai-gateway-design, streaming-support-apim,
  versioning-ai-api-endpoints, data-versioning-lineage, real-time-streaming-ai

2 UENIGHET (≥1 non-grounded) → pass→flagged, IKKE stemplet (R11 work-list):
  - security-hardening-ai-gateway: #2 source_silent («20+ security policies» usourcet),
    #7 not_grounded R8 (feature = Prompt Injection Protection, ikke «Prompt Shields»;
    indirekte injection-deteksjon ikke dekket)
  - etl-vs-elt-ai: #2 not_grounded R8 (Gold-lag = curated for reports/dashboards, ikke ML-features)

Gaten fanget gull/judge-run-uenighet (jf. gull-friskhet kan invertere adopsjon). Ledger:
94 records, R7.2 9 pass / 40 flagged (validateManifest valid). Stempel = kun Verified/
Verified by-header (body byte-identisk, per-fil invariant-sjekket, atomicWrite). Suite 947/947.
2026-07-24 20:14:45 +02:00
6b457c02e2 feat(ms-ai-architect): R7.1 — judge-pass 45/45 komplett (544 claims; 2 pass, 43 flagged, 152 flagg; v3.1-judge ORDRETT, Opus 4.8 xhigh-fanout; 2 pass-records born-verified stemplet) [skip-docs] 2026-07-23 22:02:38 +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
706f44fb34 feat(ms-ai-architect): R7.1 — judge-pass 30/45 filer (362/544 claims; 1 pass, 29 flagged, 106 flagg; v3.1-judge, ledger durabel per fil) [skip-docs] 2026-07-18 17:34:49 +02:00
83ef8eaf7a feat(ms-ai-architect): R7.1 — apply-verified-stamp driver (surgical insertVerifiedFields over ledger-pass-records; invariant-assertert, atomisk, idempotent; ustempelbar → samlet feil, TDD 3 tester) [skip-docs] 2026-07-18 11:19:26 +02:00
312c3c0369 feat(ms-ai-architect): R7.1 — build-judge-payloads får --claims <path> (per-batch korpus-manifest, TDD; default = bakeoff-manifestet uendret) [skip-docs] 2026-07-18 11:16:22 +02:00
31e647f67a fix(ms-ai-architect): R7.1 — verdi-slanking av de 2 R7-ustempelbare (Status-kjerne i header, detaljer allerede i body; pseudo-provenance strippet); audit-signal 2→0, begge stempelbare [skip-docs] 2026-07-18 11:13:03 +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
372a92258a chore(ms-ai-architect): Enhet B — gjør pre-commit-scan.mjs kjørbar for git-hook-install (symlinket som .git/hooks/pre-commit) [skip-docs] 2026-07-18 10:51:01 +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
135f34eb9b fix(ms-ai-architect): RX-KB1b-adjudikering — 3 footer-dato-kontradiksjoner lukket (git-adjudisert) + homoglyph-fiks [skip-docs]
Aldri-auto-fiks-protokoll fulgt; adjudisert mot git-historikk (hovedkontekst):
- stakeholder-communication: header 2026-06-24->2026-06-29 (siste innholds-commit
  2c54f0d Spor 0 prisfakta); footer 'Sist oppdatert: 2026-02' -> 'Opprettet: 2026-02'
  (generasjons-artefakt fra baa2d02; Cosmo-tekst uroert, R13/R14). + Layer B-fanget
  Cyrillic homoglyph U+0442 linje 651 (Reduser[t]) rettet.
- output-validation: footer-datolinje droppet (header = single source of truth;
  2026-04 var reell fakta-dato 565043d/0eb30fa, men dual-claim er poison-klassen).
- multi-model-strategy: header 2026-06-19->2026-06-29 (2c54f0d: 28-modellers-liste
  + Quota Tier); stale footer-linje droppet (basis-paastander foreldet mot juni-fakta;
  re-verifisering hoerer til R7-stempling).

Audit footer-flagg 3->0. Suite 926/926 exit 0. pre-commit-scan OK.
2026-07-18 10:06:03 +02:00
76df39670d feat(ms-ai-architect): RX-HDR oppløst → permanent R7-ustempelbar audit-signal (premiss 10→2) [skip-docs]
Premiss-verifisering mot ground truth (simulert R7-stempler insertVerifiedFields
over 327 non-advisor-filer): RX-HDR-populasjonen kollapser fra påstått 10 til 2.
De 9 'base-felt forbi 500B'-filene er falske positiver — stempleren setter Verified
øverst, uavhengig av hvor Status/Category ligger. Kun 2 filer er ekte ustempelbare
(gpt5-gpt41-pricing-models, entra-agent-id-zero-trust): headere med fete **Status:**-
prosahaler (175B/199B) der begge stempler (Verified + Verified by, judge-v3.1) ikke
får plass i 500B. Feltomstokking løser dem ikke — verdi-slanking kreves (utenfor
RX-HDRs scope), så de folder inn i R7s eksisterende 'header-slanking kreves'-flagg-sti.

audit-corpus-headers.mjs: ny ren isStampable() kjører R7s ekte stempler med fast
representativ probe (dato + judge-v3.1); per-fil 'stampable' + aggregat 'unstampable'
+ FLAG-liste. Gjør populasjonen permanent så den ikke stille kan vokse (gap-disiplin).
+2 tester (dense→ustempelbar, clean→stampable). Suite 924→926 exit 0.
2026-07-17 03:43:04 +02:00
722a131eb7 feat(ms-ai-architect): RX-KB1b — deterministisk footer-dato-avvik-deteksjon + label-whitelist i corpus-audit (flag-to-human, 3 flagg) [skip-docs] 2026-07-17 03:23:40 +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
f094e242d1 fix(ms-ai-architect): Enhet 3b — dedup dual-**Dato:** i 5 mlops-genaiops-filer (Created-relabel/drop, git-verifisert) [skip-docs]
Løser dual-header der filer bærer BÅDE **Dato:** (opprettelse) OG **Last updated:**
(endring). Ground truth 2026-07-16 + git first-commit-map (2026-04-08 for alle 5):

- 4 distinkte (**Dato:** 2026-02-04, FØR git first-commit → ekte opprettelsesdato):
  relabel **Dato:** → **Created:**, verdi byte-bevart (norsk→engelsk label-rename).
- 1 identisk (mlops-security-access-control: **Dato:**=**Last updated:**=2026-06-19,
  ETTER git first-commit → metadata-artefakt, ikke ekte opprettelsesdato): drop redundant
  **Dato:**. Relabel ville påstått falsk opprettelsesdato — drop er sannferdig.

Ny ren primitiv dropRedundantBoldField (kaster uten identisk-verdi bevis-felt),
gjenbrukt relabelHeaderDialect m/ CREATED_MAP. Manifest-drevet dedup-dato.mjs med
hard per-fil-invariant FØR skriv (relabel: 1 linje, kun label-token; drop: net -1,
Last updated bevart), atomicWriteSync, idempotent. Ingen validator håndhever lukket
feltliste → **Created:** er additiv/konform.

+15 tester (dropRedundantBoldField, CREATED_MAP-relabel, applyOp, manifest, 2 corpus-
guards) + oppdatert stale Enhet-2 carve-out-guard til post-3b-sannhet. Suite 910/910
exit 0. validate-plugin 250 PASS/0 FAIL. Datoløse dual-**Dato:**-filer 5→0.
2026-07-16 20:38:24 +02:00
7b6025a731 fix(ms-ai-architect): Enhet 4 — Last updated på datoløs advisor decision-trees.md (git content-commit 2026-06-23) [skip-docs] 2026-07-16 20:19:07 +02:00
712a143e58 fix(ms-ai-architect): RX-KB1 strip stale plain-Verified pipe-tails (87) + audit-deteksjon [skip-docs]
De 87 referansefilene bar en plain-text `| Verified: <dato>`-hale på **Last updated:**-linjen
i 500B-header-vinduet — usynlig for den bold-only kontrakt-stacken (kb-headers.mjs / audit
RE_VERIFIED), og claimet en verifisering judgen aldri gjorde (samme poison-klasse som de 14
bold **Verified:** MCP Spor 1 fjernet). Uhåndtert springer den også dual-Verified-fellen: R7s
insertVerifiedFields ville stemplet en bold-verdi ved siden av den plain → to motstridende
provenance-claims per fil.

- ny driver strip-stale-verified-pipe.mjs: frosset 87-manifest (18 advisor + 45 eng + 8 gov +
  16 sec), pure verdi-bevarende strip (kun ` | Verified: …`-halen; **Last updated:**-dato
  byte-eksakt), hard per-fil-invariant (linjeantall uendret, body byte-identisk, dato bevart),
  idempotent, atomicWriteSync (RX-OPS2 recovery-kontrakt).
- audit-corpus-headers.mjs: ny plain-Verified-deteksjon (RE_PLAIN_VERIFIED + plainVerifiedPipe)
  — gjør M4-blindheten synlig så en stale plain-hale ikke kan gjenoppstå stille (non-advisor scope).
- 87 filer strippet; plain Verified i vinduet 0/389; live-audit plainVerifiedPipe 0.

Mekanisme: +15 tester (12 strip + 3 audit). Suite 875→890 exit 0. validate-plugin.sh 250/0.

Utsatt → RX-KB1b: footer-dato-avvik + label-whitelist (annen dialekt, flag-to-human).
2026-07-16 20:04:52 +02:00