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.
This commit is contained in:
parent
5a0e8d774a
commit
e999b74eda
54 changed files with 405 additions and 75 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Plugin-roadmap: sesjonsplan R0–R21 (2026-07)
|
||||
# Plugin-roadmap: sesjonsplan R0–R22 (2026-07)
|
||||
|
||||
_Styrende sesjonsplan for ms-ai-architect fra 2026-07-02, basert på full statusanalyse (visjon/planer, ground-truth-audit m/testkjøring, Spor 1-planlesing). Erstatter IKKE eksisterende planer (korrekthetsprogrammet, Spor 1-planen, briefer) — **sekvenserer** dem og fyller hullene analysen avdekket. Operatør-detaljer som ikke hører hjemme i repoet ligger i en LOCAL-ONLY-annex (`.claude/projects/2026-07-02-helhetlig-roadmap/`)._
|
||||
|
||||
|
|
@ -133,7 +133,26 @@ Maskineriet er bygget (krav 1+2+3 + per-kategori-hint); målingen er aldri kjør
|
|||
- **26 not-due Last-updated** — 21 relabel (`Sist oppdatert`/`Dato` → `Last updated`, behold dato), 5 datoløse (git-avledet dato krever «innholds-commit»-heuristikk som ekskluderer R19/R20-metadata-pass).
|
||||
- **3 norsk-dialekt Status** — engelsk `**Status:**` ville blande dialekt; håndteres i samme dialekt-pass.
|
||||
- **4 dual-header `ai-act-*`-filer** — plain-blokk (`Last updated:`/`Status: GA`/`Category:` linje 6–8) vs bold-blokk. **NB:** samme plain-blokk er hvorfor **R20 la til duplikat `**Category:**`** her (bold `Category` linje 3 vs plain `Category` linje 8) — begge duplikatene lukkes i normaliseringspasset. Mønsteret er innkapslet til nøyaktig disse 4 filene korpus-vidt.
|
||||
- **69 norsk-label-filer** (`Kategori`/`Sist oppdatert`) — engelsk label-normalisering.
|
||||
- **69 norsk-label-filer** (`Kategori`/`Sist oppdatert`) — engelsk label-normalisering. _(Korrigert i R22: faktisk 42 `**Kategori:**` + 31 `**Sist oppdatert:**`, union 51 filer; «69» stemte ikke mot noen faktisk mengde.)_
|
||||
|
||||
## R22 — decision-(b) Enhet 1: ren dialekt-relabel (1 økt — ungated, ⊥ R7) ✅ 2026-07-06
|
||||
|
||||
**Mål:** lukk den trygge, verdi-bevarende kjernen av decision-(b)-residualen — ren label-oversettelse norsk→engelsk, ingen fabrikkering.
|
||||
|
||||
**Premiss-korreksjon (ground-truth 2026-07-06, `gt-audit`/`gt-labels` over alle 389, header-blokk = linjer før første `---`/`## `):** decision-(b)-tallene i R21-residualen var stale/ufullstendige på fire punkter:
|
||||
1. **Tredje dato-dialekt oppdaget:** norsk dato bæres av `**Sist oppdatert:**` (31) **OG `**Dato:**` (16)** — R21 så bare `Sist oppdatert`. `**Dato:**` opptrer dessuten i **body-mal-blokker** (`**Dato:** [YYYY-MM-DD]`) → blind erstatning ville korruptert template-filer ⇒ Dato UTSATT til Enhet 2 (header-scoped ISO-dato-guard).
|
||||
2. **«4 dual-header med duplikat `**Category:**`» → 0 bold-duplikater** korpus-vidt. De 4 `ai-act-*` bærer en *plain-text* `Category:`/`Status:`/`Last updated:`-blokk (ikke bold) — R21-reverten forhindret bold-duplikatet som fryktet. Håndteres i Enhet 3 (dedup).
|
||||
3. **«5 datoløse» → 1** (kun `decision-trees.md` mangler dato helt i header) → Enhet 4.
|
||||
4. **«Category-missing 0» / «8 mangler» er begge vindus-artefakter:** de 8 flagges av 500-byte-vinduet (≥1, `agentic-rag-patterns`, HAR Category forbi byte 500). Ekte gap verifiseres i Enhet 4.
|
||||
|
||||
**Utført (Enhet 1):** `**Sist oppdatert:**`→`**Last updated:**` (31) + `**Kategori:**`→`**Category:**` (42) = **73 relabels** på **51** filer (22 bærer begge). Ny testet ren primitiv `relabelHeaderDialect()` (header-blokk-scoped, kollisjons-guard mot eksisterende engelsk target, multi-forekomst-guard) + manifest-drevet driver `scripts/kb-update/relabel-dialect.mjs` (frosset 51-fil-manifest, hard per-fil-invariant «nøyaktig `applied.length` linjer endret, hver kun label-token, resten byte-identisk», idempotent skip, `isMain`-guard, aborterer FØR skriving). `**Dato:**` bevisst UTE av `LABEL_MAP`.
|
||||
|
||||
**Verifisering:** `test-relabel-dialect` 11/11; git diff **+73/−73** på 51 filer (0 linjer endret utover label-token, verifisert via `grep` på begge dialekt-retninger); revers-substitusjon rekonstruerer original byte-eksakt; idempotent re-run = 0 relabels; ground truth `Kategori 42→0`, `Sist oppdatert 31→0`, `Missing English Last updated 52→21`; suite **782/782** exit 0.
|
||||
|
||||
**Gjenstående decision-(b)-enheter (egne økter, ⊥ R7):**
|
||||
- **Enhet 2:** `**Dato:**`→`**Last updated:**` (16) med header-scoping + ISO-dato-guard som ekskluderer template-blokker (fellen).
|
||||
- **Enhet 3:** Status-backfill 27 none-filer (`statusForFile`, R21-mønster) + 4 `ai-act-*` plain-blokk-dedup (bold-ify + fjern redundant plain-linjer).
|
||||
- **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.
|
||||
|
||||
## Parkert (krever eget operatør-go)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue