Reference files, test fixtures, the playground demo project and one design
document now use generic, fictitious examples (buildings, energy, water,
grants, municipal services). The playground demo (17 fixtures plus the
embedded demo state) tells one consistent story: a municipal customer
chatbot that pre-screens housing-benefit applications, classified under
Annex III point 5(a). The embedded demo copies were edited in place rather
than regenerated, because they already carry newer AI Act dates than the
fixture files.
Legal text is unchanged. Test semantics are unchanged. Four dark-theme
onboarding screenshots with outdated placeholder text are removed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nøytral arkitekt-ramme (ratifisert 15.09) i SKILL.md-ene, 23 kommandoer, 70 redaksjonelle
forekomster i ref-korpuset, README/CLAUDE.md/NOTICE og A11Y-rapportens proveniens-linje.
Hver av de 70 avgjort i kontekst: dialog fikk ny taler, proveniens ny opphavspåstand.
Ordren navnga fem produsent-steder; den live sjette manglet. `PROMPT_TEMPLATE` settes i
generate-skills.sh:27 og leses ALDRI — prompten er en heredoc i samme script. Å rette bare
prompt-template.md ville latt generatoren re-minte personaen ved neste KB-kjøring.
Ny G4-klausul i check-cosmo-gate.mjs: persona i leveranseflaten = 0, derivasjonsregisteret
pinnet per fil PÅ TALL (et filnavn-unntak er blindt for hva fila senere inneholder).
Registeret utvidet med README.md 3 — versjonstabellens rader er historikk, ikke leveranse.
Den ene genitiv-formede produktlinja adjudiseres på cosmos-db-URL-en i samme rad; regelen
er målt lukket (8 tvetydige linjer totalt, 33 URL-linjer, 2 persona-klassifiserte, begge
produkt) og hvitvasker ikke bar `Cosmo`. classifyCosmo urørt — baselinene hviler på den.
R3 godtar nå R14-utført (0) men ingenting imellom: et halvveis sveip felles fortsatt.
Bevis: gate PASSED + NETTET VALIDERT BEGGE VEIER · 1137/1137 · validate-plugin 250/0/0 ·
begge --dry-drivere 0 · Layer B 45/45 OK (kjent-positiv feller, exit 1).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ordren ba meg behandle sitt eget premiss som et premiss: «PM-ens 87/45 er korrigert
til 85/47 ved maaling ... Behandle ogsaa 85/47 som et premiss og re-maal det foer du
bygger.» Re-målt over de 389 ref-filene holder 85/47 heller ikke — og feilen ligger i
KLASSIFIKATOREN, ikke i tellingen. Summen 132 står; fordelingen er 62/70.
TRE FUNN, alle pinnet i test:
1. FJORTEN bold-etiketter er DIALOG-ATTRIBUSJONER, ikke etiketter. Dialog-bøtta
matchet bare kursivformen `*Cosmo:*`. Fetformen står foran sitert tale —
`**Naar kunden sier:** "..."` / `**Cosmo svarer:** "..."` — så å slette den
etterlater replikken uten taler. Redaksjonelt, ikke mekanisk.
2. TI tabellceller er PROVENIENSPÅSTANDER i kildekvalitets-kolonnen. Celleposisjon
deler de 26 tabellforekomstene i tre klasser, ikke én: 12 radetiketter (kolonne 0),
4 kolonneoverskrifter, 10 proveniensverdier (`Moenstre er Cosmo-design`,
`Raadgivende innhold basert paa Cosmo-persona`). Å skrive om en av dem er å avgi en
ny påstand om hvor innholdet kommer fra, og den siste har ikke noe slettemål i det
hele tatt. Seks av ordrens ni sammensetninger ligger helt inne i denne klassen —
ordrens egen advarsel traff, målingen lokaliserte den.
3. Lekkasje ANDRE veien, +1 mekanisk: `- **For arkitekten (Cosmo):** ...` i
reasoning-models-o1-o3-optimization.md:549 er nøyaktig målklassen, men et
linjestart-forankret nett ser den ikke bak `- ` og bokførte den som prosa.
Operatøren ratifiserte 2026-09-15 alt. A: kjør de 62, hold dialog og proveniens for
R14. Begge tilbakeholdte klasser henger på #R14-persona-ramme som aldri er besvart;
de 62 gjør ikke det, fordi R13 ALT har kjørt `For Cosmo` -> `For arkitekten` over 401
headinger — dette gjør bare etiketter og tabellrader konsistente med en beslutning
som allerede er utført.
UTFØRT: 62 forekomster i 50 filer (ordren sa 47) — 46 etiketter i 16 ratifiserte
varianter, 16 celler i 4. Diffen er 62 fjernet = 62 lagt til, ren in-place-erstatning;
hver endret linje klassifisert, ANNET = 0. Ingen måltekst innfører et ord kilden ikke
hadde, utover R13s sanksjonerte `arkitekten` (samme invariant-test, gjenbrukt).
GATEN, DEKOMPONERT I TRE KLAUSULER, hver validert BEGGE veier før den ble konsumert:
R1 REFERENT mekaniske sites 62 -> 0, produkt 451 uendret.
Kjent-pos: `**For Cosmo:**` OG `| Cosmos raad |` (genitiven er den
et bold-only nett mister) feller begge. Kjent-neg:
`**Cosmos DB-anbefaling:**` — ser ut som persona, er produkt —
og `| Azure Cosmos DB |` passerer urørt.
R2 REKKEVIDDE 0 umålte varianter, 0 utenfor rekkevidde. Kjent-pos: en ukjent
etikettform rapporteres som umålt OG transformen KASTER, den
hopper ikke stille over. Kjent-neg: dialog + proveniens bokføres
utenfor scope og er byte-identiske.
R3 HVA SOM STÅR 16 redaksjonelle etiketter + 10 celler uendret, heading/TOC
fortsatt 0 (R13 ikke regradert), prosa 132 -> 70. Kjent-pos: et
fjernet tegn i `Cosmos DB` feller produkt-differansen. Kjent-neg:
alle kun-produkt-filer byte-identiske gjennom transformen.
Gaten ble kjørt FØR transformen og felte R1 (exit 1) — et nullresultat som aldri er
tvunget til det andre svaret er ingen måling. R13b har egen baseline-fil;
cosmo-gate-baseline.json er et referansepunkt-artefakt (personaHeadings 401) og er
IKKE re-emittert. Ny .gitignore-negasjon (6 entries), aldri `git add -f`.
Målt underveis: 0 av de 62 målinjene ligger i en kodeblokk, så fence-agnostisk
transform er trygg her — samme konklusjon R13 nådde for headinger. Nøyaktig 1 linje
bærer begge klasser; dens `Cosmo-persona` står igjen, som den skal.
Suite 1134/1134 (1120 + 14 nye), validate-plugin 250/0/0, transform idempotent,
R13-driveren fortsatt no-op. RX-OPS1 adversarial-scan kjørt MANUELT på de 56 stagede
filene (OK, exit 0) — `core.hooksPath` skygger repoets pre-commit, fiksen eies av
`.claude`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
Fire gjenstaaende #37-medlemmer reparert. Reparasjonen treffer ATTRIBUSJONEN;
ingen kropp roert. Fersk henting per medlem, gjort av hovedkonteksten uten
subagenter, mekanisme oppgitt per stempel.
1. copilot-prompt-engineering-governance.md:576 - "40+ templates" fjernet.
microsoft_docs_fetch 2026-08-25, hel side: intet antall noe sted, kun
"a collection of predesigned prompts". Kjent-positiv: job types ordrett
(Common ... Sales), "templates" rikelig. Job types-halvdelen uroert.
2. custom-dashboards-ai-operations.md:502 - RBAC-leddet, workbooks/write og
Bicep-halvdelen fjernet (= idx-33u, naa resolved). microsoft_docs_fetch
2026-08-25: alle seks ordene fravaerende paa hel side; kjent-positiv
"ARM template" rikelig, og sida navngir selv sine to ressurstyper.
3. speech-services-speaker-recognition.md:485 - "API endpoints" fjernet.
microsoft_docs_fetch 2026-08-25: ren konseptuell index, 0 "endpoint",
ingen URI-stier/HTTP-verb/api-version. De to andre leddene ordrett tro.
4. speech-services-speaker-recognition.md:500 - "enrollment/verification"
fjernet. GitHub tree API 2026-08-25 (IKKE MCP - mekanismen er endret i
stempelet, ikke skjult): master, 3272 stier, truncated=false, "speaker"
/"voiceprofile"/"verif"/"enroll" = 0; kjent-positiv "csharp" = 884.
Stempeldato flyttet til hentedato i SAMME edit, per oppfoering. Blokkstemplene
over kildelistene er IKKE flyttet - de dekker oppfoeringer som ikke ble hentet.
Linje 488 (doed kilde-URL) staar uroert, egen klasse.
Hel-linje-unikhet talt korpus-bredt (394 .md under skills/) foer hver
erstatning, driver med ABORT. Confidence-linjene er IKKE hel-linje-unike (tre
identiske i samme fil) og ble derfor lokalisert paa offset fra unikt URL-anker.
Koa: assertert at _meta er bit-identisk, 79 oevrige entries bit-identiske, og
at idx-33u endret kun status + ny resolution. Anker beholdt som funnet.
Ikke gjort, bevisst: idx-33u's egen foreslaatte re-attribusjon av RBAC-leddet
til linje 499 (workbooks-overview). #37 tillater den kun mot fersk henting av
den nye sida, og den ville vaert en NY stempelpaastand paa en i dag ustemplet
linje. Ordren navnet 502 og bare 502. Staar som aapen operatoerbeslutning.
Bokfoert, ikke reparert (egen adjudisering per #37): kroppsavhengighet i to av
filene - copilot:305 ("40+ pre-built templates") og custom-dashboards:106
("Bicep stottes na offisielt", under EGET stempel), 120, 291-293, 300.
check-g7-queue: 0 drift, exit 0. Suite: 1052/1052.
#21-#24 ble ratifisert i 39c947a, men ratifisering er ikke anvendelse. Denne
oekten gjoer de 17 editene og lukker entriene. 86 linjer slettet, 7 satt inn,
over 17 filer i 4 skills. Suite 1052/1052. Koe: 53 entries (15 aapne, 38 resolved).
PROMOTERING FANTES IKKE FRA FOER. #22 sier «PROMOTE any surviving keep-class
line to the enclosing level», men ingen av de 21 resolved entriene hadde en
survivor — alle 40 tidligere editer var rene slettinger. Maalt foer valget, ikke
antatt. Promotering er derfor definert her: fjern listemarkoeren, slik at linjen
blir et frittstaaende avsnitt der etiketten stod. AA la survivors staa som
bullets ville i idx-26x gjort dem til element fire og fem i lista rett over —
referent-drift, som er noeyaktig det #22 finnes for aa hindre. AA fjerne «- »
forfatter null ord, og er derfor tillatt under NEVER RENAME.
STRENG-INVARIANTEN SAA IKKE DEN ANDRE DEFEKTEN. To promoterte linjer uten blank
linje mellom seg er ETT markdown-avsnitt: «25+ unike Microsoft Learn URLs
referert» og «15+ PowerShell code samples inkludert» smeltet til én paastand.
Hel-linje-sjekken passerte baade foer og etter rettelsen — den ser tilstedevaerelse,
aldri koherens. Fanget ved aa lese den gjengitte formen.
VERIFISERT, IKKE PAASTAATT: 65 slettelinjer maalt fravaerende og 20 keep-linjer
maalt tilstede noeyaktig én gang, ved hel-linje-sammenligning. Foerste
gjennomkjoering brukte fragmenter og ga to falske positiver («Azure OpenAI
reasoning models», «manage-costs») som begge stod legitimt i kildelister —
substring-match var feil invariant, ikke korpus.
RESIDU-SVEIPET BETALTE FOR TRETTENDE GANG. Ved siden av editene ligger en
uratifisert klasse: per-paastands provenance-markoerer som navngir verktoey, altsaa
#22s slette-referent, men utenfor de 58 og utenfor alle ankere. Maalt korpus-bredt:
18 «**Confidence:** Verified (microsoft-learn docs_*)» + 11 «*Verified via
microsoft_docs_*» + 13 inline + 1 gjenlevende tidsstempel. 28 av ~42 staar i ÉN
fil — den idx-26y nettopp redigerte. Bokfoert som idx-26as og bevisst IKKE
arvet, paa samme grunn som idx-26ar: de henger paa en SPESIFIKK paastand, ikke paa
dokumentet, saa sletting fjerner ogsaa et konfidenssignal footer-klassen aldri
hadde. Den asymmetrien er hvorfor dette er et spoersmaal og ikke en arv.
Et grep-treff til ble talt foer det ble klassifisert: «**Verifiseringsdato:**
YYYY-MM-DD» er en mal-plassholder, ikke en forekomst. Det holdt klassen paa 1.
idx-26an er LUKKET. Alle 40 medlemmer editert, én fil om gangen, med
eksakt-treff per fil. Ingen kryss-fil search-and-replace kjoerte paa noe
tidspunkt, saa prefiks-faren ble aldri testet av flaks.
Diff-formen er MAALT, ikke paastaatt: 40 filer, 42 slettinger, 0 innsettinger.
38 filer −1 linje, 2 filer −2.
FOER EDIT, alle 40: ankeret verifisert ordrett, unikt ved split-telling i sin
egen fil, OG likt HELE linja (lines[n] === anker for 40/40). Den siste sjekken
er den som beviser at intet anker var en delstreng av en lengre blandet linje —
idx-26ao/idx-26ap-defektklassen — i stedet for aa stole paa at screenet fanget
alle.
TO MEDLEMMER FIKK TO-LINJERS SLETTING, ved presedens og ikke ved valg:
i ai-services-api-best-practices.md:762 og model-deployment-strategies-azure.md:1067
sto footerlinja som eget avsnitt mellom blanklinjer, saa den tilhoerende
blanklinja fulgte med. Samme form ble slettet samme vei i 088cf06 (idx-26j);
aa slette linja alene ville etterlatt dobbel blanklinje.
STRUKTURSJEKK OVER HELE SETTET FOER EDIT, ikke paa oeyemaal: naermeste
ikke-blanke linje over hvert medlem testet for overskriftsform, for aa fange en
sletting som gjoer en overskrift foreldreloes. Nooeyaktig ett treff — «## Kilder
og verifisering» rett over reserved-capacity-planning.md:557 — og det er falsk
alarm: overskriften beholder kropp, «**Unique Sources:** 9» foelger rett etter.
ETTER EDIT: alle 40 ankere bekreftet borte.
RESIDU-SOEK PER FIL, med TO nett med ULIK blindhet. Nett A (etikett- eller
overskriftsform + kall-vokabular + siffer, etikett-fritt per §9.15) ga 11, alle
falske positive ved handlesning: backoff-sekunder, soek per bruker i et
kosteksempel, en ToolCallAccuracy-terskel, KQL-retensjon, en pris-per-kall-tabell.
Nett B (ordet MCP med et siffer paa samme linje) ga 82, hvorav 81 er
proveniens-DATOSTEMPLER av formen «(Verified MCP 2026-04)» — nettopp
current-provenance-klassen denne formen BEHOLDER, ikke tellinger.
ETT EKTE RESIDU, BOKFOERT SOM idx-26aq OG IKKE REPARERT.
ai-services-cost-optimization.md: slettingen av totalen paa :396 fjernet en
motsigelse, men lot den SAMME uverifiserbare paastanden staa ti linjer over, i
en form ingen linjebasert sveip enumererer — sju MCP-kall oppramset ett per
linje paa :388-394, under en overskrift som selv baerer tallet. Den er
overskriftsbaaren og hoerer derfor under aapent spoersmaal #22 ved siden av
idx-26aj og idx-26ak, ikke under denne entryens linjeform.
RESIDUET BLE STOERRELSESMAALT FOER DET BLE BOKFOERT: noeyaktig 5 filer av 389
baerer en enumerert MCP-kall-liste. Én er falsk positiv, tre er alt bokfoert
(idx-26z, idx-26ai, idx-26ak), og denne var den eneste ubokfoerte — og den
eneste av de fem blant disse 40.
EN RESOLVED ENTRY BLE FALSIFISERT, og rettet med datert tilleggsklausul i samme
pass (presedens 4032dfc, ikke stille gjenaapning): idx-26j la denne filas :396 i
boetta «not checkable — a total with no per-tool numbers to sum». De per-verktoey-
tallene FINNES, de ligger bare ti linjer opp og forbi en overskrift.
Aritmetikk-testen var anvendelig og den feiler: 6 oppgitt mot 7 oppramset.
De tre andre i boetta ble re-verifisert mot HEAD FOER klausulen ble skrevet og
alle tre staar. Én av fire feil, ikke fire av fire — boetta er bulket, ikke tom.
Boettene styrte KUN bokfoering, som ratifisert: konsistente og inkonsistente
medlemmer ble slettet av identisk grunn.
Koe: 51 entries (30 aapne, 21 resolved). Suite: 1052/1052.
De 87 referansefilene bar en plain-text `| Verified: <dato>`-hale på **Last updated:**-linjen
i 500B-header-vinduet — usynlig for den bold-only kontrakt-stacken (kb-headers.mjs / audit
RE_VERIFIED), og claimet en verifisering judgen aldri gjorde (samme poison-klasse som de 14
bold **Verified:** MCP Spor 1 fjernet). Uhåndtert springer den også dual-Verified-fellen: R7s
insertVerifiedFields ville stemplet en bold-verdi ved siden av den plain → to motstridende
provenance-claims per fil.
- ny driver strip-stale-verified-pipe.mjs: frosset 87-manifest (18 advisor + 45 eng + 8 gov +
16 sec), pure verdi-bevarende strip (kun ` | Verified: …`-halen; **Last updated:**-dato
byte-eksakt), hard per-fil-invariant (linjeantall uendret, body byte-identisk, dato bevart),
idempotent, atomicWriteSync (RX-OPS2 recovery-kontrakt).
- audit-corpus-headers.mjs: ny plain-Verified-deteksjon (RE_PLAIN_VERIFIED + plainVerifiedPipe)
— gjør M4-blindheten synlig så en stale plain-hale ikke kan gjenoppstå stille (non-advisor scope).
- 87 filer strippet; plain Verified i vinduet 0/389; live-audit plainVerifiedPipe 0.
Mekanisme: +15 tester (12 strip + 3 audit). Suite 875→890 exit 0. validate-plugin.sh 250/0.
Utsatt → RX-KB1b: footer-dato-avvik + label-whitelist (annen dialekt, flag-to-human).
Markøren over-påsto ekstern verifisering; faktisk semantikk (per legend i
m365-copilot-plugins-ecosystem.md) er «hentet fra MS Learn via MCP» = Documented.
Smal scope (operatør-besluttet A): de 101 ✅ Verified-konfidens-cellene i 13 filer
+ 5 kolonne-overskrifter (ptu, agent-memory) + skill-gen-taksonomien
(Verified/Baseline/Assumed → Documented/Baseline/Assumed) + licensing-seksjonstittel.
La de 137 plain «Verified»-cellene i 31 kilde-attribusjons-tabeller stå — de peker
på en faktisk kilde i nabokolonnen (proveniens bevart). Suite 509/509.
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>