Ordre 20260912T193441Z-7358817909. Steg 1 var ikke transformen, men å rette
roadmapens R13-gate og få den ratifisert. Gaten `grep -rl "Cosmo"
skills/*/references -> 0` var usann på to uavhengige måter:
1. Ordren fanget den første: 451 av forekomstene er Azure Cosmos DB, ekte
produktinnhold. Diskriminatoren er ikke bokstaven «s» — `Cosmos <norsk
substantiv>` er genitiv av personaen (`### Cosmos tonalitet`), mens
`Cosmos DB`/`CosmosClient`/`cosmos_ru` er produkt.
2. Denne økten fant den andre: 132 persona-forekomster ligger i prosa,
tabeller, dialog-replikker og proveniens-linjer. Heading-nøytralisering
kan ikke nå dem, så «0 persona» er uoppnåelig også under den ratifiserte
formen. Operatøren ratifiserte alternativ A: gaten speiler formen, og de
132 bokføres til R13b/R14.
Tre korreksjoner av premisser som sto i ordren og STATE:
«ca 320 produkt» -> 451 (case-sensitivt nett manglet 327 lowercase
TOC-ankre + 99 identifikatorer; sann nevner 1 638)
«169 headinger» -> 401. 169 var `^## For Cosmo`-prefikset (168) og var
internt inkonsistent med sin egen topp-variant (204)
«417 matcher ingen
populasjon» -> 417 er cosmo-headinger utenfor kodefences; briefens
nevner var reell hele tiden
Fence-bevissthet er målt skadelig, ikke nødvendig: begge toggle-regler er
gale på dette korpuset (naiv toggle skjuler en ekte heading i
chain-of-thought-prompting.md, CommonMark-regelen ubalanserer
service-level-documentation-dr.md). Fence-agnostisk deteksjon finner 401
heading-linjer i nøyaktig de samme 40 variantene som fence-bevisst finner
400 i — ingen kodeblokk-linje er byte-identisk til en persona-heading. Derfor
nøkles transformen på 40 enumererte heading-tekster og ignorerer fences. En
ukjent variant kaster; en slug-kollisjon kaster. Ingenting auto-fikses.
TOC-en regenereres ikke, den rettes kirurgisk: alle 327 persona-lenker hadde
lenketekst lik én av de 40 heading-tekstene og anker lik slugify av den
(327/327, 0 avvik), så heading og TOC-entry skrives i samme operasjon og
ingen mellomtilstand etterlater en død lenke.
Ratifisert målform: `For Cosmo`, `For Cosmo Skyberg` og `For arkitekten
(Cosmo)` konvergerer på `For arkitekten`. To filer kolliderte og er adjudisert
ved å lese dem, ikke ved regel.
Verifisering (alle 7 kriterier fra ordren):
G1 persona på heading-linjer 401 -> 0
G2 døde fragmentlenker 1 -> 1 (pre-eksisterende, unntatt)
G3 produkt-forekomster 451 -> 451; `Cosmos DB|Azure Cosmos` 308 = 308
de 3 kun-produkt-filene byte-identiske
nettet validert begge veier injisert persona feller G1; genitiv feller G1;
produkt-heading og de 3 filene passerer
hele diffen 802 heading-linjer + 654 TOC-linjer, ANNET = 0
linjeantall 728 lagt til = 728 slettet
suite 1120/1120 (1097 + 23 nye)
validate-plugin 250 PASS / 0 FAIL
stikkprøve 10 filer, alle 5 skills, inkl. de 3 mest
produkt-tunge (26/20/19) — kun heading+TOC
Utenfor scope, urørt: de 4 SKILL.md, de 23 commands, CLAUDE.md, README.md,
NOTICE.md, docs/ (alt R14).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
De tre siste medlemmene (idx-26ab, idx-26ae, idx-26ah) baerte hver sitt flagg
som holdt dem utenfor klasse-entryen. Ingen av flaggene overlevde maalingen som
den saken de var bokfoert som.
MAALT, IKKE ARVET: 58 av 58 medlemmer i r11-footer-class-2026-08-11.json har
naa ingen ordrett ankerlinje igjen i korpus. Klassen er lukket.
idx-26ab (prose_repeat). Entryens egen note sa at andre lokator «is a rewrite,
not a line deletion». Det ble falsifisert ved aa skrive ut resultatstrengen:
sletting av de 16 sammenhengende tegnene «12 MCP-kall til » gir en grammatisk
norsk setning som fila selv baerer (8 nummererte kilder, 20 kodeblokker), og
forfatter null ord. Argumentet sa rewrite; strengen sa sletting.
=> RATIFISERT #25: en delete-klasse-telling gjentatt INNE i en linje (hodefelt
eller loepende prosa) lukkes ved aa slette det sammenhengende fragmentet.
Tre vilkaar som ALLE maales: resten er grammatisk, resten er grunnet i fila,
null ord forfattes. Holder ett av dem ikke, kommer saken tilbake som spoersmaal.
Widening av #24 fra den ene parentesen den ble skrevet for.
idx-26ae (label_value_mismatch). Spoersmaalet — lukkes en feilmerket linje av aa
slettes, naar det er etiketten og ikke tallet som villeder — trengte ingen ny
form. Linja har INGEN keep-verdi (3 docs_search + 2 docs_fetch, og dens eget
resultat sier «= 5 MCP-kall»), saa den er ikke en #23-blandet linje; slettingen
tar etiketten med seg; og den eneste alternative reparasjonen, aa doepe om
«MCP-kilder» til «MCP-kall», er noeyaktig det #22 forbyr.
idx-26ah (label_value_mismatch). Den smale editen var tilgjengelig og ble
forkastet med grunn: :653 er eneste medlem innenfor de 58, men sletting av den
alene ville latt :651 (naar genereringen kjoerte) og :652 (hvilket verktoey)
staa rett over editen med samme referent. #22s tidsstempel-klausul sier INSIDE
THE BLOCK, og her finnes ingen merkelapp — den rekker ikke, og kunne ikke
strekkes uten den stille utvidelsen #22 selv nektet.
=> RATIFISERT #26, SCOPET TIL ÉN FIL: en avsluttende umerket rekke der HVER
linje feiler referent-testen slettes hel. Den generelle klassen staar fortsatt
aapen paa idx-26ar.
NY DEFEKT FUNNET VED AA MAALE NABOEN FOER DEN BLE STOLT PAA (#21/#23-plikten):
rag-document-preprocessings :792 «8 Microsoft Learn-artikler + 4 GitHub-repos
= 12 kilder» er keep-klasse og to av tre deler er usanne. Maalt over to
populasjoner som er enige (Kilder-seksjonen og hele fila): 8 distinkte
learn.microsoft.com-artikler stemmer, men det er 2 distinkte github.com-URLer,
ikke 4, og dermed 10 navngitte kilde-URLer, ikke 12 — eller 13 om de tre
pris-URLene teller som kilder, en lesning linja ikke oppgir. Ingen lesning gir
12. Aritmetikken stemmer bare fordi GitHub-halvdelen er feil.
BOKFOERT SOM idx-26at, IKKE REPARERT: aa rette 4 til 2 forfatter tall inn i
korpus (idx-26v-faren), og ingen ratifisert form dekker en keep-telling som
bare er gal — #24 slettet en slik telling kun fordi BEGGE halvdeler feilet.
Beslutningen operatoeren skylder entryen er om dette programmet faar skrive et
tall det har maalt.
Koe: 54 entries (13 aapne, 41 resolved). Suite 1052/1052. Alle _meta-pekere
sjekket for haand mot noekkelsettet — ingenting validerer _meta.
De 5 utrackede maaledatafilene i scripts/kb-eval/data/ er tracket etter
operatoerbeslutning (spurt 2026-08-11, avgjort 2026-08-12), paa linje med
r11-footer-class-2026-08-11.json.
To operasjoner, én økt (⊥ R7), begge ren metadata-normalisering (verdi aldri fabrikkert).
Premiss-korreksjon (ground truth 2026-07-07): roadmap sa «27 none + 4 ai-act».
Målt: 29 mangler bold **Status:** = 25 rene none + 4 ai-act (plain Status: GA).
De «27» inkluderte 2 for mye — 2 filer (custom-dashboards-ai-operations,
zero-trust-ai-services) har bold **Status:** KUN forbi byte 500 (present for
full-fil-audit, usynlig for 500B header-parser) → egen header-slanking-residual
(§8-register), utenfor Enhet 3.
Op A — Status-backfill 25 rene none: utvidet 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). Diff +25/-0.
Op B — ai-act dual-header-dedup (4 filer): ny driver dedup-plain-header.mjs + 2
rene primitiver i transform.mjs — boldifyPlainField (plain→bold, verdi bevart
byte-eksakt, header-scoped, idempotent) + dropRedundantPlainField (sletter plain
KUN når bold m/ identisk verdi beviser redundans; kaster ved avvik/manglende bold).
Per fil: plain Last updated: + Status: GA → bold (2026-06-18/2026-02, GA bevart),
redundant plain Category: fjernet. Hard per-fil-invariant (net -1 linje, begge
felt bold m/ bevart verdi, ingen plain-header igjen, body byte-identisk). Diff -12/+8.
Verifisering: test-backfill-status 8/8 + test-dedup-plain-header 13/13; audit
Missing Status 29→0, Missing English Last updated 4→0; skills-diff 29 filer
+33/-12 (kun **Status:** + 8 bold-swaps), diff-kontekst inspisert per fil; begge
drivere idempotent (re-run 0 writes); suite 806/806 exit 0; none=8 uendret (Enhet 4).
Steg 9 (R4): unified migrate-corpus.mjs --write over engineering/governance/
infrastructure/security. 327 filer mutert, verified=null, prosa byte-identisk
(fra første ## seksjon), advisor urørt (0 endringer).
To applier-fixes oppdaget under kjøring (TDD, RED→GREEN):
- insertHeaderFields: anker faller nå tilbake når en meta-linje selv passerer
500B (2 filer pakket et avsnitt i **Status:** → Type/Source landet utenfor
scan-vinduet, applierens post-write-assertion fanget + restaurerte).
- normalizeStaleVerified: fjerner nå ALLE stale non-date **Verified:** i
500B-vinduet, inkl. stray body-dup rett under --- (9 mlops-genaiops-filer var
ellers falskt "verified"/fresh, droppet fra worklist). Operatør-godkjent
utvidelse av carve-out; kun stray metadata-linjer, aldri prosa.
test-transform-criterion: precondition oppdatert til post-migrasjons-sannhet
(fila bærer nå Source). Suite 728/728 grønn.
Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.
New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.
Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.
Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>