feat(ms-ai-architect): Spor 1 — worklist aktivert + CT5/N4 flyttet; utfall + policy-delta + base-felt-restanse logget [skip-docs]
This commit is contained in:
parent
ddce43d8b2
commit
c910945ca4
1 changed files with 91 additions and 0 deletions
91
docs/spor1-migration-outcome.md
Normal file
91
docs/spor1-migration-outcome.md
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# Spor 1 — Corpus-migrasjon: utfall og policy-delta (R4, Steg 9–11)
|
||||
|
||||
_Datert 2026-07-04. Kilde: `migrate-corpus.mjs --write` over de 4 ikke-advisor-skills +
|
||||
`build-registry --merge` → `score-skill --write` → `report-full-pass-worklist`._
|
||||
|
||||
Denne noten registrerer det målte utfallet av Port-1-substrat-migrasjonen (Type/Source/TOC
|
||||
+ stale-verified-fjerning) og skiller **verifisert** fra **antatt**, per verifiseringsplikten.
|
||||
|
||||
## Hva migrasjonen gjorde (verifisert mot ground truth)
|
||||
|
||||
| Felt | Antall | Kilde |
|
||||
|------|--------|-------|
|
||||
| Filer mutert (ikke-advisor) | 327 / 327 | applier-output + `git diff --name-only` |
|
||||
| `**Type:**` stemplet | 327 | manifest (alle typer) |
|
||||
| `**Source:**` backfilt | 243 | manifest (sourced reference; deferred = ingen source) |
|
||||
| `## Innhold` TOC innsatt | 325 | store filer (≥100 linjer) |
|
||||
| stale `**Verified:** MCP` fjernet | 14 header + 9 body-dup (i 500B-vinduet) | normalizer + parser |
|
||||
| advisor-filer rørt | 0 | `git diff --stat -- skills/ms-ai-advisor/` |
|
||||
| prosa-kropper endret (fra første `##`) | 0 | per-fil `git show HEAD:` diff |
|
||||
| `verified` satt | null (uendret) | migrasjonen stempler ALDRI verified |
|
||||
|
||||
Slettelinjer i diffen: 25 totalt, **alle `**Verified:**`-relaterte** (21 Verified-linjer + 4
|
||||
tilhørende tomlinjer) — ingen prosa slettet.
|
||||
|
||||
## To applier-fixes oppdaget under kjøring (TDD, RED→GREEN)
|
||||
|
||||
Migrasjonen avdekket to reelle feil i de testede primitivene. Begge fikset med failing
|
||||
test først; suiten 728/728 grønn.
|
||||
|
||||
1. **`insertHeaderFields` anker-overshoot (2 filer).** `agentic-rag-patterns.md` og
|
||||
`gpt5-gpt41-pricing-models.md` pakker et helt avsnitt inn i én `**Status:**`-linje
|
||||
(>500 B). Ankeret satte innsettingspunktet ETTER den linja → Type/Source landet forbi
|
||||
500-byte-scan-vinduet. Applierens post-write-assertion fanget det og restaurerte hele
|
||||
korpuset fra backup (sikkerhetsmekanismen virket). Fix: ankeret faller tilbake til
|
||||
siste meta-linje som fortsatt ligger innenfor vinduet.
|
||||
|
||||
2. **`normalizeStaleVerified` body-dup poison (9 filer, alle `mlops-genaiops/`).** Etter at
|
||||
header-`**Verified:** MCP` ble fjernet, leste `parseVerifiedHeader` fortsatt en stray
|
||||
duplikat-`**Verified:** MCP`-linje rett under `---` men innenfor 500 B → filene ble
|
||||
falskt lest som "verified" → droppet til `fresh`, utenfor worklisten. Fix (operatør-
|
||||
godkjent utvidelse av carve-out): normalizer fjerner nå ALLE stale non-date
|
||||
`**Verified:**` i 500B-vinduet, uansett `---`-posisjon; kun stray metadata-linjer,
|
||||
aldri prosa. Alt forbi 500 B er ekte kropp og røres ikke.
|
||||
|
||||
## Skill-score-delta (pre → post)
|
||||
|
||||
| Skill | Score | CT5 available | N4 (sub / pass) |
|
||||
|-------|-------|---------------|-----------------|
|
||||
| ms-ai-engineering | 95 → **99** | false → **true** | 0 → **1.000 / pass** |
|
||||
| ms-ai-governance | 96 → **100** | false → **true** | 0.013 → **1.000 / pass** |
|
||||
| ms-ai-infrastructure | 95 → **98** | false → **true** | 0 → **1.000 / pass** |
|
||||
| ms-ai-security | 95 → **100** | false → **true** | 0 → **1.000 / pass** |
|
||||
| ms-ai-advisor | 91 → 91 | (uendret) | (uendret) |
|
||||
|
||||
CT5 `pass=false` på engineering + infrastructure er forventet: full CT5-pass krever
|
||||
`verified`-stempler, som settes først i corpus-judge-pass (fremtidig). CT5 er nå
|
||||
**available** (evaluert) på alle 4 fordi reference-filene bærer Type+Source.
|
||||
|
||||
## Policy-artefakt: forventet dip inntraff IKKE
|
||||
|
||||
Planen (Risks) forhåndsdeklarerte en **transient sub-90 dip** (CT5/N4-aktivering kunne
|
||||
dra de 4 skills under 90 midlertidig) som et **policy-artefakt** å ikke reagere på.
|
||||
**Målt utfall: dip inntraff ikke** — scorene STEG (95→98–100). N4 gikk 0→1.000 (TOC lagt
|
||||
til), CT5 ble available. Advarselen var altså konservativ; ingen skill falt under target.
|
||||
Registrert her for å hindre at en senere sesjon leter etter en dip som ikke finnes.
|
||||
|
||||
## Worklist-transisjon (verifisert)
|
||||
|
||||
Post-migrasjon + poison-fix (`report-full-pass-worklist.mjs`):
|
||||
|
||||
| Bøtte | Antall | Merknad |
|
||||
|-------|--------|---------|
|
||||
| `due` | 243 | aktivert (var 0 pre-migrasjon); +9 etter poison-fix |
|
||||
| `fresh` | 0 | var 9 (body-dup poison) → 0 etter fix |
|
||||
| `unsourced` | 59 | deferred no-citation reference (dokumentert follow-up) |
|
||||
| `unmigrated` | 62 | advisor (bevisst utenfor scope) |
|
||||
| `outOfScope` | 25 | — |
|
||||
| **sum** | **389** | 243 + 59 + 62 + 25 = 389 ✅ |
|
||||
|
||||
## Base-felt-restanse (dokumentert follow-up — utenfor dette substratet)
|
||||
|
||||
Substrat-migrasjonen normaliserer IKKE base-feltene (worklist/CT5/N4 leser dem ikke):
|
||||
|
||||
- `**Status:**` mangler: **29 filer** (planen anslo 31).
|
||||
- `**Last updated:**` (engelsk RE) mangler: **0** (planen fryktet 45 norske — ikke reelt).
|
||||
- `**Source:**` mangler: 59 (deferred no-ms-citation — trenger kilde før stempling).
|
||||
- `verified`/`verified_by` mangler: 302 (= `verified` null; settes i corpus-judge-pass).
|
||||
- TOC mangler: 0.
|
||||
|
||||
Base-felt-normalisering (Status på de 29) er en egen, senere oppgave — ikke nødvendig for
|
||||
Port-1-substratet.
|
||||
Loading…
Add table
Add a link
Reference in a new issue