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]

This commit is contained in:
Kjell Tore Guttormsen 2026-07-10 06:28:47 +02:00
commit da8c682622

View file

@ -4,6 +4,8 @@ _Styrende sesjonsplan for ms-ai-architect fra 2026-07-02, basert på full status
**Status 2026-07-02:** måle-/hardningsfasen av korrekthetsprogrammet er ferdig (judge v3.1 P100/R100, alle §8-gap lukket, suite 641/641, alle skills ≥90) — men mekanismen er dormant til Spor 1 kjøres. Gapet mellom visjon («reference-filene 100 % til å stole på» som prosessgaranti) og realitet er nøyaktig de ueksekverte sporene under.
**Status 2026-07-09/10:** uavhengig kryssmodell-review (annen modell enn den som skrev pluginen; read-only) gjennomført over 5 akser med primærkilde-verifisering. Resultat: 7 BLOCKER + 15 MAJOR (full rapport + detaljerte sesjon-specs i LOCAL-ONLY `.claude/projects/2026-07-09-crossmodel-review/`). Reviewen injiserte **RX-serien** (§RX under), skjerpet R7-gaten, krympet Enhet 4 og utvidet header-residualen. Baseline re-verifisert: suite 806/806, 389 refs, v1.17.0 konsistent, R0R6 + R20R22 ✅.
## Modelldirektiv
**Alle sesjoner i denne roadmapen + alle deres subagenter kjøres på Opus 4.8 med xhigh reasoning effort** (operatørbeslutning 2026-07-02). Aldri Sonnet/Haiku. Agent-tool: `model: "opus"`.
@ -28,7 +30,13 @@ R0 (tillit+hygiene+klargjøring)
└─→ R15 (skill-eval v2 plan) → R16+ (eksekvering)
Fleksible (uavhengige, kan interleaves): R17 (dekningsaudit), R18 (onboarding-uplift)
Ungated base-felt-pre-pass (⊥ R7, i R7-vente-vinduet): R20 (Category-backfill ✅ 2026-07-06) → R21 (Status/Last-updated not-due)
Parkert (eget operatør-go): OKF second brain · pris/unsourced-verifisering
RX-serien (kryssmodell-review 2026-07-09, §RX — går FØRST i køen):
RX-REG → RX-REG-KB (12 økter) → RX-REG² (utløses av OJ-publisering)
RX-P1 → RX-P2 (plugin-korrekthet installert modus; ⊥ alt annet)
RX-OPS2 → { RX-KB1, Enhet 3b, Enhet 4 } → RX-HDR (driver-hardening FØR korpus-skriv; ⊥ R7)
R7-GATE SKJERPET: G6-LA ∧ RX-OPS1 ∧ RX-KB1
Parkert (eget operatør-go): OKF second brain (nå m/ swap-krav → S-OKF-1→3, se Parkert) · pris/unsourced-verifisering
```
---
@ -79,6 +87,8 @@ Selvbærende brief + adversarielt reviewet plan for v3.1-judgen over alle verifi
**G6-gate (ufravikelig):** R7 starter ALDRI uten G6 Layer A-aktiveringsprotokollen (R6 Step 8) verifisert — foreground fetch obligatorisk, ev. R6-definert kompenserende deterministisk skann (Layer B + pre-write unicode-scan, R6 Step 3). **Verifisering per økt:** G6-gate bekreftet ved øktstart; 0 udømte i batchen; `git status` viser kun manifest-/stempel-endringer; suite exit 0.
**R7-gate SKJERPET (kryssmodell-review 2026-07-09):** i tillegg til G6-LA kreves **RX-OPS1** grønn (Layer B håndheves i dag kun prosedyralt via command-instrukser — deterministisk pre-commit-håndheving + §5b inn i fan-out-runbooken MÅ på plass før fetch-økter) og **RX-KB1** grønn (87 filer bærer plain `Verified: MCP`-pipe-hale i 500B-vinduet; `insertVerifiedFields`-stempling uten opprydding gir to motstridende Verified-verdier per fil). Reviewens tillegg til R7-designet: pilot-batchen (≤45) velges så den dekker rename-drift-flatene (Azure AI Services→Foundry Tools, RBAC-rolle-rename, `azure-ai-inference`-retirement, Assistants-sunset — verifisert mot MS Learn 2026-07-09); G6-recheck ved HVER øktstart; fetchet innhold behandles som utrustet data i payload-skallet (judge-teksten selv forblir frosset).
## R11 — Flag→fiks-loop (1 økt, split ved stort flaggvolum)
Operatør-bekreftede fikser mot kilde + `verified`-bump per fikset fil (§3c-disiplin). **Verifisering:** alle flagg lukket (fikset eller avvist m/begrunnelse); suite exit 0.
@ -89,7 +99,7 @@ Trekk NYTT blindt gull-utvalg (G5-protokoll: re-adjuder mot live før fasiten st
## R13 — S-Cosmo del 1: mekanisk korpus-rens (1 økt)
Scripted transform (TDD) for Cosmo-forekomster i ref-korpuset (378 ref-filer; heading-nøytralisering) + absorberte rester: redirects (1a-C) og store-fil-TOC (1b). **Verifisering:** `grep -rl "Cosmo" skills/*/references | wc -l` → 0; suite exit 0; stikkprøve-diff-review.
Scripted transform (TDD) for Cosmo-forekomster i ref-korpuset (378 ref-filer; heading-nøytralisering) + absorberte rester: redirects (1a-C) og store-fil-TOC (1b) — inkl. TOC-regenerering ETTER nøytralisering (lukker `insertToc`-stale-TOC-§8-residualen). **Premiss-verifisering FØRST (review 2026-07-09):** tellingene divergerer — cosmo-briefen (2026-06-24) målte 188 filer m/ «For Cosmo»-seksjon / 417 filer totalt; reviewen målte 382 av 389 ref-filer / 1310 forekomster i skills/. Re-mål ved øktstart og avklar scope før transformen skrives. **Verifisering:** `grep -rl "Cosmo" skills/*/references | wc -l` → 0; TOC-ankre matcher faktiske headinger; suite exit 0; stikkprøve-diff-review.
## R14 — S-Cosmo del 2: persona, advisor og legacy (1 økt)
@ -177,11 +187,42 @@ To operasjoner, én økt (⊥ R7), begge metadata-normalisering (verdi ALDRI fab
**Gjenstående decision-(b)-enheter (egne økter, ⊥ R7):**
- **Enhet 3b (dedup):** 5 dual-label-filer med `**Dato:**` (opprettelse) + `**Last updated:**` (endring). Beslutning kreves: behold `**Dato:**` som eget «opprettet»-felt (relabel til `**Created:**`?) vs. fjern som redundant. **Målt 2026-07-07:** 4 av 5 har distinkt opprettet≠endret (`**Dato:**` bærer ekte info); 1 (`mlops-security-access-control`) har identiske datoer (`**Dato:**` redundant). Fabrikk/slett ALDRI uten operatør-beslutning. Filer: `feedback-loops-continuous-improvement`, `genaiops-llm-specific-practices`, `mlops-security-access-control`, `model-deployment-strategies-azure`, `prompt-flow-production-deployment` (alle mlops-genaiops).
- **Enhet 4:** 1 datoløs (`decision-trees.md`, git-«innholds-commit»-heuristikk, ALDRI «i dag») + verifiser de 8 «category-none» = ekte gap vs. vindus-artefakt.
- **Residual (header-slanking, §8-register):** 2 filer med bold `**Status:**` forbi byte 500 (`custom-dashboards-ai-operations`, `zero-trust-ai-services`) → header-parseren ser dem ikke. Ikke missing-felt; krever header-omstokking (distinkt, risikofylt operasjon), ikke insert. Lukkes egen økt.
- **Enhet 4 (KRYMPET av review 2026-07-09):** 1 datoløs (`decision-trees.md`, git-«innholds-commit»-heuristikk, ALDRI «i dag»). De 8 «category-none» er AVGJORT: alle 8 HAR `**Category:**` ved byte 504735 (vindus-artefakt, målt 2026-07-09) → felt-flytting i RX-HDR, IKKE backfill (en «none»-keyet backfill ville gjenskapt dual-label-buggen).
- **Residual RX-HDR (header-slanking, §8-register; UTVIDET av review):** 2 filer med bold `**Status:**` forbi byte 500 (`custom-dashboards-ai-operations` byte 19796, `zero-trust-ai-services` byte 26489) + de 8 Category-forbi-vindu-filene (7× azure-ai-services + `agentic-rag-patterns`) = **10 filer**. Ikke missing-felt; krever header-omstokking (ny ren primitiv `compactHeader()`, body byte-identisk), ikke insert. Lukkes egen økt.
## §RX — Injiserte sesjoner fra kryssmodell-review 2026-07-09 (går FØRST i køen)
_Uavhengig kryssmodell-review (read-only, primærkilde-verifisert) fant 7 BLOCKER + 15 MAJOR. Full rapport m/ fil:linje-bevis + detaljerte sesjon-specs (TDD-planer, nøkkelantakelser, verifiseringskommandoer): LOCAL-ONLY `.claude/projects/2026-07-09-crossmodel-review/{review-2026-07.md, replan-proposed.md}`. Sammendrag per sesjon under; specene der er styrende._
### RX-REG — Regulatorisk resynk + én frist-kilde (1 økt, ungated, FØRST)
Omnibus-status er utdatert i tre lag (CLAUDE.md-NB, `session-start-context.mjs:97-105`, `ai-act-assessor.md:140-146`): formelt vedtatt EP 16. juni + Rådet 29. juni 2026 (OJ ventet juli); «Kommisjonen kan fremskynde»-påstanden motsies av endelig tekst (fast dato, trigger droppet — to uavhengige kilder); Art. 50-raden står som «Gjeldende» før 2026-08-02; stop-hooken (`stop-assessment-reminder.mjs:65-68`) feilmerker 2026-08-02 som «GPAI-frist» i aktiv bruker-output; assessor-malen mangler 2026-12-02-raden; Nkom (utpekt koordinerende tilsynsmyndighet) navngis ikke i assessor/CLAUDE.md. **Rotårsak-fiks inngår:** ÉN maskinlesbar frist-kilde + synk-test på tvers av de tre konsumentene (gap-disiplin: mekanisme, ikke bare fiks). **Verifisering:** synk-test grønn; `grep -rn 'kan fremskynde\|under etablering' CLAUDE.md agents/ hooks/` → 0; suite exit 0.
### RX-REG-KB — Governance-ref innholds-fikser (12 økter, Spor 0-protokoll)
Kjernefilene classify laster bærer verifiserte innholdsfeil: `ai-act-compliance-guide.md` (pre-Omnibus-frister ×6, INVERTERT høyrisiko-profileringslogikk i beslutningstreet L213-218, feil bøtesatser L459-462) og `ai-act-classification-methodology.md:38-45` (Art. 5(1)-bokstavkart feil på 3 rader; skraping-forbudet — ekte 5(1)(e) — mangler helt). Pluss artikkelreferanse-feil på tvers (5(d)→5(c) forsikring, Art. 71→49, 72→73, 12→19/26(6)), intern frist-motstrid (`conformity-assessment.md:177` vs `:346`; `ms-tools-mapping.md:227-262` vs `:215`), Nkom-harmonisering (10+ filer), retensjonstall. **Protokoll (ufravikelig):** hver påstand verifiseres mot EUR-Lex/offisiell norsk kilde → menneske bekrefter → kirurgisk fiks + `Last updated`-bump. Regresjonstest: grep-basert frist-lint over governance-refs. **Verifisering:** kilde-URL per fiks i commit; lint grønn; suite exit 0.
### RX-REG² — OJ-lukking (kort økt; utløses av OJ-publisering, ventet juli 2026)
Flipp «vedtatt, avventer OJ» → «i kraft» m/ OJ-referanse; lukk nudifiserings-forbudet (nytt Art. 5-forbud i Omnibus — artikkelplassering + anvendelsesdato mot OJ-tekst) og Art. 111-legacy-radene. Sjekk OJ-status ved hver øktstart til publisert.
### RX-P1 — Plugin-sti-hardening for installert modus (1 økt)
0 `${CLAUDE_PLUGIN_ROOT}` utenfor hooks: alle Task-prompter/agent-KB-kontrakter bruker relative stier som kun resolver med cwd = plugin-rot (dev-modus) — installert fra katalogen mister subagentene rollefiler + KB-last. **START med installert-modus-repro (failing smoke) + bekreft `${CLAUDE_PLUGIN_ROOT}`-substitusjon i commands/agents FØR masseendring.** Forén de tre delegeringskonvensjonene til registrert agentnavn (`Task(architect:dpia-agent)` og `Task(general-purpose)+Read agents/` avvikles). Deterministisk lint i `validate-plugin.sh`. Fold inn: plugin.json `repository`-URL, `generate-skills.md:45` «(sonnet)»-tekst, `architect.md:15`-sti.
### RX-P2 — Regulatorisk kjede-wiring + agent-sti-baser (1 økt; etter RX-P1)
classify→dpia→ros er i dag prosa, ikke wiring: dpia-/ros-Task-templatene får eksplisitt klassifiserings-/DPIA-felt (kjede-data), dpia-agentens uutførbare «spør bruker»-instruks erstattes med «merk vurderingen ved manglende grunnlag», kortform-KB-stier som krysser skill-grenser fullkvalifiseres (3 agenter), ADR-skriveansvar entydiggjøres. Lint: alle agent-KB-stier resolver fra plugin-rot.
### RX-KB1 — Header-kontrakt restanse 2 (1 økt; FØR R7; etter RX-OPS2)
87 filer m/ plain `| Verified: MCP <dato>` i 500B-vinduet (usynlig for bold-only-stacken; claimer verifisering judgen aldri gjorde — samme poison-klasse som de 14 bold Spor 1 fjernet) → operatør-beslutning strip (anbefalt) vs. relabel, frosset manifest, verdi-bevarende. Audit-fiks: base-felt-sjekkene vindus-scopes (i dag testes HELE filen — klassen «i fil men utenfor vindu» er strukturelt usynlig) + pipe-hale-deteksjon + label-whitelist (`Opprettet`/`Område`/`Målgruppe`/`Konfidensgrad`-rest). Footer-avvik: 6 filer m/ header/footer-datomotstrid flagges → menneske; placeholder-footere ryddes.
### RX-OPS1 — G6-mekanisering (1 økt; R7-gate sammen med G6-LA)
Layer B er i dag kun prosedyre-wiret (command-markdown; ingen produksjonskode kaller skannen, `.git/hooks/` tom) → deterministisk pre-commit-sjekk (bash 3.2-kompatibel) som kjører `scan-adversarial-content.mjs` over stagede `skills/**/*.md`. `v3.1-fanout-runbook.md` får §5b-sjekklisten som Forutsetning 0 + untrusted-data-ramme i payload-SKALLET (judge-teksten forblir frosset — ingen judge-bump).
### RX-OPS2 — Skrive-sikkerhet i driverne (1 økt; FØR neste korpus-skriv)
De 5 skrivende driverne (backfill-status/category, dedup-plain-header, relabel-dialect/dato) over på `atomicWriteSync`; `restore()` scopes til kjøringens egne skriv (i dag rulles HELE skills/ tilbake — sletter parallelle økters arbeid — og har destruktivt rm→cp-vindu); `backfill-category` får frosset manifest + testfil (i dag u-manifestert og utestet); `detectStaleRollback`/`cleanupOldBackups` wires inn.
_Fixtures-/playground-frister m/ foreldet tidslinje (testdata) tas som hale i RX-REG-KB. F8 (release-vindu i `release-plugin.mjs`: `--create-tag` pusher tag før write-sjekk) hører til KATALOG-repoet — egen liten økt der eller ved neste release. Tause feilklasser i deteksjonssporet (svelgede step-feil, foreldreløs log-rotate) foldes inn i fremtidig Tier-2-aktiveringsøkt (moot til noe kjører unattended)._
## Parkert (krever eget operatør-go)
- **OKF second brain** (spec v0.1 ratifisert; bygging = separat go).
- **OKF second brain** (spec v0.1 ratifisert; bygging = separat go). **NYTT operatør-krav 2026-07-09: sesjons-utbyttbar OKF-bundle.** Review-vurderingen (akse 5): kravet forutsetter Stage-1-konformering (dagens `org/` er ikke en bundle; 12 agenter hardkoder stien; «sesjon» mangler config-primitiv) → foreslått **S-OKF-1** (bundle-substrat + `resolveActiveBundle()`-presedens env > prosjekt-`.local.md` > bruker > default), **S-OKF-2** (`/architect:bundle list/use/status/validate` + orkestrator-gir-sti-mønsteret i alle agenter), **S-OKF-3** (retrieval-skill over aktiv bundle, native Grep/Glob/Read). Gated på operatør-bekreftelse av 3 antakelser (un-parkerer swap-kravet Stage 1? gjelder second brain, ikke skill-refs? prosjekt-nøkkel + kommando-bytte = akseptabel sesjons-semantikk?). Detaljert spec i review-prosjektet.
- **Pris/unsourced-verifisering** (74 % av prispåstander ikke maskinverifiserbare; operatør-gated).
- **Historikk-håndtering** for saneringen i R0 hvis operatør ønsker mer enn fremoverrettet fiks (egen beslutning).
- **Ambisiøse utvidelser A1A5** (reviewens forslag, utenfor godkjent scope — egne go per stykk): OKF-swap som førsteklasses kapabilitet (=S-OKF), KB-query-skill over de 389 refene (metadata-filtrert list→grep→les), per-fil ferskhets-/verifiseringssignal i agent-output, regulatorisk-ferskhet-vakt (Claude-fri polling av EUR-Lex/nkom.no/regjeringen.no à la sitemap-mønsteret — reviewen beviste behovet: Omnibus-vedtaket lå ubemerket 10+ dager), uttrekk av portabel korrekthets-kjerne til søster-plugins (etter R12).