diff --git a/docs/plugin-roadmap-2026-07.md b/docs/plugin-roadmap-2026-07.md index 495602d..b1d4ee8 100644 --- a/docs/plugin-roadmap-2026-07.md +++ b/docs/plugin-roadmap-2026-07.md @@ -163,10 +163,22 @@ Maskineriet er bygget (krav 1+2+3 + per-kategori-hint); målingen er aldri kjør **Verifisering:** `test-relabel-dato` 10/10 (inkl. disk-integritet: committed-state + at de 5 dual-filene forblir urørt); git diff **+16/−16** på 16 filer (hver endret linje = label-swap, verifisert begge retninger); revers-substitusjon byte-eksakt; idempotent re-run = 0; verdier bevart (`2026-04`, `5. februar 2026`, …); ground truth `Missing English Last updated (non-advisor) 20→4`, gjenstående `**Dato:**` = 13 (5 dual + 8 body); R22-Enhet-1-tool fortsatt no-op (51/51 already-english); suite **792/792** exit 0. +### Enhet 3 — Status-backfill + ai-act dual-header-dedup ✅ 2026-07-07 + +To operasjoner, én økt (⊥ R7), begge metadata-normalisering (verdi ALDRI fabrikkert). + +**Premiss-korreksjon (ground truth 2026-07-07, `audit-corpus-headers.mjs` + worklist):** roadmap sa «27 none + 4 ai-act». Målt: **29** filer mangler bold `**Status:**` = **25 rene «none»** (ingen Status-markør) + **4 ai-act** (plain `Status: GA`). De «27» inkluderte 2 for mye: **2 filer** (`monitoring-observability/custom-dashboards-ai-operations`, `ai-security-engineering/zero-trust-ai-services`) bærer bold `**Status:**` KUN forbi byte 500 → present for full-fil-audit, men **usynlig for 500-byte header-parseren**. De er IKKE manglende felt — de er en egen **header-slanking-residual** (§8-register), utenfor Enhet 3. + +**Op A — Status-backfill 25 rene none-filer.** Utvidet den ene Status-mekanismen `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`-token). Diff **+25/−0**, hver = én `**Status:**`-linje i bold-meta-run innenfor 500B. + +**Op B — ai-act dual-header-dedup (4 filer).** Ny driver `dedup-plain-header.mjs` + 2 nye rene primitiver i `transform.mjs`: `boldifyPlainField()` (plain `