Commit graph

24 commits

Author SHA1 Message Date
931425a002 feat(ms-ai-architect): #30 ratifisert — programmet falsifiserte sitt eget ferske tall paa ett doegn [skip-docs]
idx-26aw anvendt. Ordtellings-feltet er slettet; korpuset har naa null
ordtellings-felt.

#30 ER EN NY FORM, IKKE EN ARV FRA #29. Widening-en ble lagt fram som eget
spoersmaal, med «la staa aapen» paa stemmeseddelen — nettopp fordi
naboskaps-arv er den stille utvidelsen #22 nektet for idx-26ar og #26 nektet
for den umerkede kjoeringen. Formen: et footer-/metadatafelt som oppgir en
MAALBAR EGENSKAP VED FILA SELV som ingen mekanisme holder sann -> slett linja.
#29 er byte-storrelse-instansen; #30 er grunnen uttalt i den bredden evidensen
baerer.

GRUNN (3) ER IKKE LENGER ET ARGUMENT, MEN EN OBSERVASJON. Entryen og STATE sa
begge wc -w = 3374. Det er 3369. De fem ordene er «- **File size:** ~29 KB»,
som #29 slettet fra DENNE SAMME FILA forrige oekt (35ac933). Programmet
falsifiserte sin egen ferske ordtelling inne i ett doegn, ved aa gjoere det
arbeidet formen styrer. En rettelse til «~3370» ville vaert usann igjen ved
neste edit — idx-26v-faren #29 navnga. Feilen mot paastanden er 5,3 %, ikke
5,2 %.

GRENSEN BLE MAALT FOER SPOERSMAALET BLE STILT, fordi den videste lesningen av
«selv-invaliderende» er langt storre enn klassen. «**Last updated:**» staar i
385 filer og falsifiseres av en senere edit paa noeyaktig samme maate — og er
IKKE naadd av formen, paa to maalte grunnlag: feltet er kontraktspaalagt
(buildHeader emitterer det, validateKbFile krever det) og re-stemples av
/architect:kb-update ved hver refresh (commands/kb-update.md:24, :192). Det har
en vedlikeholdsmekanisme; ordtelling og filstorrelse har ingen.
EN KANDIDATGRENSE BLE TESTET OG FORKASTET, ikke baaret videre:
backfill-last-updated.mjs ble foerst antatt aa vaere mekanismen, og er det
ikke — den er en EN-FILS backfill (decision-trees.md).

KLASSEN MAALT MED TRE UAVHENGIGE NETT, ikke med det ene ordet entryen brukte:
(1) navngitte varianter (Word count / Ordtelling / Antall ord / Words /
Ordantall / Lengde); (2) case-insensitiv «word count»; (3) full enumerasjon av
ETHVERT bold-label-felt med tallverdi i alle 394 skills/**/*.md, gruppert paa
etikett. Det tredje nettet er det eneste som kan se et felt ingen gjettet
navnet paa: ingen line count, character count, sidetall, seksjonstelling eller
lesetid finnes. Klassen er EN under hvert nett.

#22s PROMOTE-KLAUSUL FYRER IKKE, sjekket og ikke antatt: den er betinget av at
ETIKETTEN slettes, og «**Document metadata:**» er keep-class per #22s
label-regel. Den staar naa over en enkelt linje, som ingen ratifisert form
behandler som defekt.

KEEP-NABOEN RE-MAALT, IKKE ARVET: «- **Unique sources:** 10 Microsoft Learn
URLs» er SANN — 10 distinkte learn.microsoft.com-URLer etter /en-us-
normalisering (11 raa, en gjentakelse).

Ko: 57 entries (9 aapne, 48 resolved). Suite 1052/1052. Alle ti formers
GOVERNS opploeser mot eksisterende, resolvede entries. Hel-linje-bevis: slettet
linje 0 forekomster korpus-bredt, bevart linje 1x, fila ender fortsatt paa
newline.

[skip-docs]: ingen brukerrettet doc-impact. En linje slettet inne i en
eksisterende ref-fil — ref-docs er fortsatt 389, saa README-badgen og
CLAUDE.md-tellingen staar uendret. Ingen ny kommando, agent, skill eller hook.
2026-08-12 22:25:16 +02:00
35ac933590 feat(ms-ai-architect): #29 ratifisert — filstorrelse-feltet er selv-invaliderende, og klassen var 3 ikke 1 [skip-docs]
idx-26u og idx-26v anvendt, footeren i azure-cost-management-ai.md lukket.

#29 ER EN NY FORM, IKKE EN ARV. idx-26u paastod selv at sletting «follows
from an existing ratification rather than requiring a new one» (idx-26j).
Premisset ble maalt og forkastet: #22s referent-test naar ikke en
filstorrelse i noen retning — delete-siden hviler paa at ingenting kan
adjudisere paastanden, og git adjudiserer denne eksakt; keep-siden er «a
count of sources, URLs or documents the file itself lists», og en byte-
storrelse teller ingenting fila lister. Samme arve-type ble forkastet to
ganger forrige okt.

TRE GRUNNER, hver maalt: (1) ingen del av linja er sann, saa #28 sender
saken videre til #24 i sine egne ord; (2) sletting koster ingen sann
informasjon; (3) den eneste tilgjengelige reparasjonen er selv-
invaliderende — «~18 KB» blir usann ved neste edit, altsaa aa forfatte
en fremtidig instans av defektklassen man lukker.

KLASSEN BLE MAALT FOER SPORSMAALET BLE STILT — steget idx-26j sitt
scope-addendum sa manglet da booking stoppet paa 7 av 21. Kun idx-26u var
bookfoert, men «**File size:**» stod i TRE filer:
  azure-cost-management-ai.md:295            ~14 KB mot 18499 B (18.0 KB, 29 %)
  budget-forecasting-ai-projects.md:530      ~14 KB mot 20001 B (19.5 KB, 39 %)
  agent-evaluation-testing-frameworks.md:565 ~29 KB mot 27864 B (27.2 KB, 6.6 %)
Den tredje er forsvarlig under tilden og ble slettet likevel, fordi
operatoren ratifiserte grunnlaget «felt-typen», ikke «feilens storrelse».
Bookfoert som idx-26au + idx-26av, begge lukket i samme okt.

idx-26v SLETTET PAA EGEN GRUNN, ikke #29 og ikke #28 — #28s egen grense
sier at en telling som bare er uverifiserbar, ikke maalbart gal, fortsatt
er idx-26j-klassen. Avviket fra idx-26j, som ERSTATTET sin instans, er
begrunnet i maaling: 26j hadde en partisjon aa telle (12/5), denne fila
har ingen. Kildetabellen er 8/8 Verified (100/0), seksjonstabellen 3/3
(50/50). «3 av 6 seksjoner» ville oppfunnet en nevner og byttet paastand.

NABO BOOKFOERT VED EDIT-STEDET, IKKE SLETTET: «- **Word count:** ~3200 ord»
(:564, maalt 3374 — 5.2 % feil) sto rett over den slettede linja og er
trolig samme klasse, men var ikke i ratifiseringssporsmaalet. AA utvide
#29 dit ville vaert den stille utvidelsen #22 og #26 begge nektet.
Bookfoert AAPEN som idx-26aw; eneste ordtellings-felt i korpuset.

KEEP-NABOENE MAALT, IKKE ANTATT — alle tre sanne under #28s /en-us/-
normalisering (8 av 9, 8 av 9, 10 av 11). «**Document metadata:**»
beholdt uendret per #22s label-regel (navngir innhold, ikke generasjon).

Korrigert i idx-26u sin egen evidens: «working tree = 18554» var utdatert
(30d4340 rort fila etterpaa), faktisk 18499. Konklusjonen uendret.

Ko: 57 entries (10 aapne, 47 resolved). Suite 1052/1052. Hel-linje-bevis:
alle fire slettede linjer 0 forekomster korpus-bredt, alle bevarte 1x.

[skip-docs]: ingen brukerrettet doc-impact. Kun linjer slettet inne i
eksisterende ref-filer — ref-docs er fortsatt 389, saa README-badgen og
CLAUDE.md-tellingen staar uendret. Ingen ny kommando, agent, skill eller
hook.
2026-08-12 22:07:26 +02:00
97812d3263 feat(ms-ai-architect): #27-#28 ratifisert — og programmet skrev sitt forste malte tall
To entries anvendt, to nye former ratifisert. Begge valg er samme regel sett
fra hver sin side: SLETT DER SLETTING ER GRATIS, RETT DER SLETTING KOSTER SANN
OG UNIK INFORMASJON. At de ser motsatte ut er et utslag av hva malingen viste,
ikke av to ulike prinsipper.

#27 — REFERENT-ORD SOM FELTNAVNET ALLEREDE BAERER. GOVERNS idx-26t.
  agent-to-agent-a2a-protocol.md:732
  FOR:   **Total sources cited:** 10 unike URLer fra MCP-research + tavily-research
  ETTER: **Total sources cited:** 10 fra MCP-research + tavily-research
  Slettet 12 sammenhengende tegn, null ord forfattet, tellingen urort.
  Alle tre #25-vilkar malt: resten grammatisk, 10 grunnet i de 10 nummererte
  entries, null forfatting. #25s SCOPE naadde likevel ikke — ingenting som
  fjernes her er en delete-klasse-telling.

#28 — KEEP-KLASSE-TELLING DER DEN SANNE HALVDELEN ER BADE SANN OG UNIK.
  GOVERNS idx-26at. Dette er #23s uttrykkelig URATIFISERTE residualtilfelle,
  som #23 sendte tilbake som nytt spoersmaal. Foerste instans, na avgjort.
  rag-document-preprocessing.md:791
  FOR:   ... 8 Microsoft Learn-artikler + 4 GitHub-repos = **12 kilder**
  ETTER: ... 8 Microsoft Learn-artikler + 2 GitHub-repos = **10 kilder**

DETTE ER FOERSTE GANG PROGRAMMET HAR SKREVET ET TALL DET HAR MALT.
Operatoerbeslutning 2026-08-12, stilt som noeyaktig det spoersmaalet. Til na
har hver resolution slettet, paa idx-26v-grunnen at en reparasjon ikke skal
forfatte defektklassen den lukker. Den grunnen star fortsatt der sletting er
GRATIS — derfor sletter idx-26t i samme oekt. Den slutter aa staa der sletting
oedelegger en sann og unik paastand, for da er taushet ikke det billige valget,
men en defekt nummer to.

MALT FOER VALGET BLE LAGT FRAM, ikke etter:
 - 8 distinkte Learn-artikler etter /en-us-normalisering: SANT som skrevet.
 - 2 distinkte github.com-URLer, ikke 4. Altsa 10 navngitte kilder, ikke 12.
 - «8 Microsoft Learn-artikler» forekommer INGEN ANDRE STEDER i fila — det er
   det som gjoer sletting dyr her og gratis alle tidligere ganger.

TO PREMISSER FRA STATE VAR USANNE, begge fanget for handling:
 1. «idx-26t er ordrett samme form som idx-26w» — nei. STATEs gjengivelse
    droppet «+ tavily-research», og det er nettopp det #21 dreier seg om.
    Kvalifikatoren overklaimer IKKE her: den navngir web-benet som dekker de
    fire ikke-Learn-URLene. Bokfort i egen commit (2ba3cee).
 2. «rag-document-preprocessing.md:792» — linja star paa :791. Ankere er
    ordrette strenger, saa ingenting hang paa det; korrigert i entryen.

RESIDU-SVEIP VED EDITSTEDET, som metoden krever — og den fant noe verdt aa
male: rag-fila SLUTTER IKKE ved footeren, en seksjon foelger paa :795-803. En
footer-total kunne dermed vaert malt over feil spenn. MALT: NULL Learn- eller
GitHub-URLer forekommer etter :791; alle 11 forekomster ligger foran. Tallet
dekker det det paastar. a2a-fila har ingen residu — linja er na siste linje.

Ko: 54 entries (11 apne, 43 resolved). Suite 1052/1052.
MERK ÆRLIG: suiten beviser ikke disse editene. Resolved entries er unntatt
ankersjekk, saa den ville passert uansett. Beviset er hel-linje-sammenligningen:
for-linja 0x, etter-linja 1x, i begge filer.
2026-08-12 21:51:39 +02:00
0a3ce4f414 fix(ms-ai-architect): de 17 ratifiserte er anvendt — og «promotering» matte defineres foer den kunne utfoeres
#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.
2026-08-12 00:11:03 +02:00
79bb54412b fix(ms-ai-architect): de 40 slettingene er anvendt — og residu-soeket fant defekten ved siden av editen, tolvte gang
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.
2026-08-11 22:46:30 +02:00
30d4340e94 fix(ms-ai-architect): G7 idx-26l..26r lukket — og maalingen som grunnla formen saa under halve klassen
Sju entries lukket, aatte linjer slettet (26l hadde linja som eget avsnitt og
mistet ogsaa blanklinja). Ingen erstatningstekst: formen sier slett, ikke rett.

idx-26r trengte aldri form-beslutningen den var bokfoert for. «Kall eller
runder?» handler om om TALLET er riktig; under en slette-form er riktighet ikke
i mulighetsrommet, og linja er uverifiserbar under begge lesninger. Sjekket, ikke
paastaatt: idx-26k baerer eksplisitt sperre, idx-26r baerer ingen. STATEs «ikke
mekanisk» bar videre entry-teksten skrevet 14:11 — ti minutter FOER da16608
(14:21) oppløste den. Spoersmaal #15 er moot for slettingen.

Tre av sju BEHOLDTE linjer feilet verifiseringen. Formen sier «behold og
verifiser» og forutsatte at de ville passere. Bokfoert, ikke reparert:
- idx-26t: «10 unike URLer» er sann som kilder (10 entries), usann som URL-er
  (11; entry 8 baerer to). Avviket gaar samme vei som alle aatte.
- idx-26u: «File size: ~14 KB» er FALSIFISERBAR, ikke bare uverifiserbar — git
  ER artefaktet. 17388 -> 17963 -> 17965 -> 18554 byte, og linja staar ordrett i
  den ELDSTE versjonen. Aldri sann paa noe punkt repoet kan observere.
- idx-26v: 80/20 uten nevner. 26j-presedensen «lukk i samme edit» ble TESTET mot
  forutsetningen, ikke kopiert: 26j hadde en partisjon (12/5), denne fila har
  ingen (8/8 Verified, seksjoner 3/3). Aa re-uttrykke ville krevd aa finne paa
  en nevner — defektklassen den skulle lukke.
- idx-26w: 7/7 stemmer som aritmetikk, men 2 av 7 URL-er er ikke Learn, saa «fra
  MCP-research» overklager. Proveniens, ikke telling.

TYNGSTE FUNN — korpusmaalingen som grunnla ratifiseringen var en underteljing.
«23 linjer i 23 filer, fire dialekter» er engelsk-spraaklig maalt. Dialekt-bred
sveip: 47 kandidater, 2 haandluket falske positive (kilde-tellinger), 1 ekte
under feil etikett => 45 EKTE LINJER I 45 FILER, minst 16 feltnavn-dialekter.
Norske former (MCP-kall, MCP-kall utfoert, Totalt antall MCP-kall), MCP call
summary, listeform og overskriftsform falt alle utenfor.

Dette ugyldiggjoer INGEN av de ni editene — slettegrunnen er uverifiserbarhet og
gjelder uansett populasjon. Det ugyldiggjoer REKKEVIDDEN: spoersmaal #17 gjaldt
«14 ubokfoerte filer»; reell populasjon er 45. Boettene er bevisst IKKE oppgitt —
et maskinforsoek i oekten reproduserte nøyaktig artefaktet haanden maatte rette
sist (leser «3 (search) + 2 (fetch) = 5 total» som «oppgitt 3»).

Alle 11 ankere (7 eksisterende + 4 nye) unikhetssjekket med grep -cF, ikke med
gatens text.includes. Koe: 11 aapne / 20 resolved. Suite: 1047/1047.
Docs: §9.15.
2026-08-09 14:46:39 +02:00
712a143e58 fix(ms-ai-architect): RX-KB1 strip stale plain-Verified pipe-tails (87) + audit-deteksjon [skip-docs]
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).
2026-07-16 20:04:52 +02:00
ddce43d8b2 feat(ms-ai-architect): Spor 1 — Port-1-substrat migrert på 4 ikke-advisor-skills (243 Source + 327 Type + 325 TOC + stale-verified poison fjernet) [skip-docs]
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.
2026-07-04 10:19:11 +02:00
83fd9b58d3 fix(ms-ai-architect): Verified → Documented (tillit-hygiene)
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.
2026-06-26 12:31:45 +02:00
8739f8e8e5 docs(ms-ai-architect): KB-refresh MEDIUM 29/33 — agent-memory: procedural memory (3. type) + TTL/CRUD + Norway East-region (VNet ikke støttet) 2026-06-24 11:38:26 +02:00
7a42701f2c docs(ms-ai-architect): KB-refresh MEDIUM 28/33 — agent-evaluation: nye agent-evaluatorer (Task Completion/Tool Selection m.fl.) + FoundryEvals + 4.1-mini judge 2026-06-24 11:38:25 +02:00
477c808744 docs(ms-ai-architect): KB-refresh HIGH 11/11 — agent-autonomy: Task Adherence (preview) lagt til risk-kategorier 2026-06-24 10:44:37 +02:00
e78fb2f698 docs(ms-ai-architect): KB-refresh RBAC-rolle-renavn — Azure AI User→Foundry User (1 fil)
Microsoft har omdøpt Foundry RBAC-rollene (visningsnavn) — rolle-IDer og
kjernepermisjoner UENDRET. Verifisert mot offisiell MS-doc (juni 2026,
konsistent «Important»-note på tvers av kilder):
- Azure AI User → Foundry User
- Azure AI Owner → Foundry Owner
- Azure AI Account Owner → Foundry Account Owner
- Azure AI Project Manager → Foundry Project Manager

Kun ÉN genuin bruks-forekomst i korpuset (RBAC-krav for publisert
Agent Application-endepunkt). Renavnet med parentes «(tidligere Azure AI
User — rolle-ID og kjernepermisjoner uendret)» ved nevningen, konsistent
med at gamle navn fortsatt vises under utrullingen.

BEVART: azure-ai-foundry-cost-governance.md:109 dokumenterer hele
renavn-mappingen som forklarende ref (tema b) — ikke rørt.

Ref-fil-edit (ikke SKILL.md) → judge-cache gyldig. Deterministisk re-score:
advisor 91, eng/gov/infra/sec 96 (alle ≥90, uendret). validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:23:09 +02:00
03d596e4ec docs(ms-ai-architect): KB-refresh tema-b — Foundry-navnesveip «Azure AI Foundry»→«Microsoft Foundry» (233 filer)
Verifisert mot offisiell MS-doc (juni 2026): «Microsoft Foundry» er det
gjeldende produkt-/portalnavnet; «Foundry (classic)» = gamle «Azure AI Foundry»
(/azure/foundry/ vs /azure/foundry-classic/). Premiss bekreftet før sveip.

Multi-regel, IKKE naiv s/Azure AI Foundry/Microsoft Foundry/ — MS dropper
«Azure AI» (legger IKKE til «Microsoft») for to produktvarianter:
- «Azure AI Foundry Agent[ Service|s]» → «Foundry Agent Service/Agents» (MS-form)
- «Azure AI Foundry Models» → «Foundry Models» (i «Azure OpenAI in Foundry Models»)
- «Azure AI Foundry SDK» → «Microsoft Foundry SDK» (operatør-valg)
- «Azure AI Foundry portal/project» + generisk → «Microsoft Foundry»
- Pre-eksisterende «Microsoft Foundry Models» (4) normalisert → «Foundry Models»

Bevart: «Azure OpenAI», «Azure AI Inference SDK», «Azure AI Search»,
«Azure AI Services», kode-IDer. Historisk ref «(tidligere Azure AI Foundry)»
i model-catalog-2026.md beskyttet via lookbehind. URL /azure/ai-foundry/→
/azure/foundry/ kun i owasp-llm-top10 (KB-ref); docs/-filer deferred.

Scope: skills (inkl. 3 SKILL.md) + commands + agents + README + CLAUDE.
Ekskludert: docs/ (interne), playground/+tests/ fixtures (testdata),
CHANGELOG.md (historisk logg), STATE.md (gitignored).

3 SKILL.md endret (advisor/engineering/security) → judge-cache teknisk
invalidert for disse, men scorer uendret: advisor 91, eng/gov/infra/sec 96
(alle ≥90). validate 239/0. 0 «Azure AI Foundry» igjen (utenom bevart ref).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:00:27 +02:00
070141f06b chore(ms-ai-architect): refresh KB medium-bucket — 74 files [skip-docs]
KB-currency refresh (medium priority, 2026-06-19) via /architect:kb-update.
74 medium-prioritets filer re-verifisert mot Microsoft Learn (MCP) — delegert
til 15 parallelle Opus-subagenter (3 bølger) gruppert etter delt kilde, med
disjunkte fil-sett. Verifisert i hovedkontekst (scope-sjekk + diff-review av
de faktatunge gruppene + tester).

Hovedendringer (faktuelle korreksjoner + currency):
- Azure AI Search semantic ranker: TILGJENGELIG PÅ ALLE TIERS (også Free/Basic
  m/ gratis månedlig kvote) — gammel KB sa feilaktig "kun S1+". Korrigert i
  tier-tabell, anti-patterns og beslutningstabell (azure-ai-search-setup).
- APIM score-threshold = DISTANSE (lavere = strengere): tuning-tabellen i
  rag-caching-optimization hadde retningen baklengs — invertert til korrekt.
- Agentic retrieval GA/preview-nyanse presisert (hovedkontekst-korreksjon mot
  agentic-retrieval-how-to-migrate): GA via REST 2026-04-01 returnerer EKSTRAKTIV
  grounding (references + activity), IKKE syntetiserte svar. Answer synthesis,
  ikke-minimal reasoning effort (LLM query planning) og multi-turn messages
  forblir preview (2026-05-01-preview). Subagent hadde overforenklet til "hele
  kjernepipelinen GA"; rettet i agentic-rag-patterns + citation-tracking.
- Copilot Studio modell-tabeller (platforms/copilot-studio): fjernet Claude Opus
  4.5 + GPT-5.2 (borte fra kilde), lagt til Claude Sonnet 4.6/Opus 4.6 (GA),
  Opus 4.7 + Mistral Medium 3.5 (experimental); GPT-5 Reasoning/Auto = preview;
  A2A GA (apr 2026).
- Computer Use (CUA): Copilot Studio GA 2026-05-07; 4 modeller m/ tier/status
  (OpenAI CUA + Sonnet 4.5 GA, Sonnet 4.6 + Opus 4.6 experimental); 5 credits/
  steg standard, 15 premium; US-only region-krav FJERNET i GA-dok; Cloud PC pool
  + Hosted browser + bring-your-own-machine.
- Azure AI Search REST API-versjoner bumpet: 2025-09-01 -> 2026-04-01 (stabil),
  2025-11-01-preview -> 2026-05-01-preview (hybrid-search, rag-security-rbac,
  chunking).
- Power Automate-integrasjon: trigger "Run a flow from Copilot" -> "When an agent
  calls the flow"; App Service innebygd MCP (preview) lagt til.
- M365 Copilot-manifest v1.26 -> v1.28 (GA, mai) / v1.29 dokumentert (juni);
  "Tenant graph grounding" -> "Work IQ".
- Speech fast transcription 2t/300MB -> 5t/500MB; multilingual 14 -> 15 locales
  (+ pt-BR). Content Understanding reasoning preview -> GA (v1.0, 2025-11-01).
- Security Copilot E5 -> E5+E7. Død Databricks-URL ci-cd/best-practices ->
  ci-cd/flows. Prompt Flow retirement (2027-04-20 -> MAF) notert der den
  presenteres som go-forward. Gateway-topologi-tabell-feil rettet.
- Alle 74 Last updated -> 2026-06-19.

Discovery ikke kjørt (historisk kun Databricks-støy) -> 389-telling uendret,
ingen resync. validate 239 PASS, kb-integrity 115/115 (262 orphan-warnings
uendret), gitleaks clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-19 14:02:18 +02:00
2067c1e802 fix(ms-ai-architect): currency — Connected Agents deprecated, ny GA-modell Prompt/Hosted agents + Responses API (#5 del 3/3 agentspor)
Verifisert 2026-06-18 mot learn.microsoft.com/azure/foundry/agents/overview + classic-deprecation-bannere:
Connected Agents tilhører Foundry (classic), er DEPRECATED og pensjoneres 2027-03-31 — finnes IKKE i nye
Foundry Agent Service. Multi-agent skjer nå via Workflows (2025-11-15-preview) + A2A-tool (preview).
Ny GA-modell = Prompt agents (GA) + Hosted agents (preview), med Responses API som single entry point.

- foundry-agent-service-ga.md: deprecation-banner i header, reframet GA-feature-tabell, markert
  Connected Agents-seksjon + beslutningstre/modenhet som classic-bane
- multi-agent-orchestration-patterns.md: 2 Connected Agents-referanser markert classic/deprecated

validate-plugin: 219 PASS

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-18 15:36:31 +02:00
dd1036ab8a fix(ms-ai-architect): Foundry URL-navnerom-migrering (ai-foundry → foundry/foundry-classic, 141 filer)
Task #5 del 1/3 (URL-migrering). Verifiseringen motbeviste STATE.md-premisset om ren prefix-swap: rebrand er per-URL, ikke mekanisk. En blind sed ai-foundry→foundry ville lagd 56 nye 404-er (classic-stiene finnes ikke under nytt foundry/-prefiks — bekreftet empirisk).

Metode: resolverte alle 237 unike KB-URLer mot live redirects (curl -L), bygde full-URL→full-URL-mapping fra faktisk url_effective. Bevarer locale-form, query (?view=) og #fragment per lenke.

- 231 navnerom-erstatninger over 141 filer (408 forekomster):
  - 161 → azure/foundry/ (98 ren prefix-swap + 10 sti-reorg + reorg-tilfeller)
  - 69 → azure/foundry-classic/ (eldre hub-spor: assistants, hub-DR, on-your-data; faktisk redirect-mål per operatorvalg)
  - 1 → azure/foundry-local/

- 2 døde lenker (404) fikset til verifiserte mål:
  - agent-service → azure/foundry/agents/overview
  - concepts/evaluation-evaluators/ → azure/foundry/how-to/evaluate-generative-ai-app

- 5 path-/display-referanser (uten https://, i backticks/lenketekst) rettet manuelt.

- 6 slug-baserte ai-foundry-treff urørt (scope-grense): managed-grafana-dashboard, security-baseline, power-platform prompt-builder, architecture baseline-chat (sistnevnte slug-rebrand i annet navnerom — mulig fremtidig funn).

- Parkert til task #5 del 2/3: Norway East GPT-5-datasuverenitet-fiks + modellkatalog-utvidelse (5.3/5.4/5.5, gpt-oss, sora-2).

Verifisert: 0 gjenværende azure/ai-foundry/-navnerom i skills/. validate-plugin.sh 219 PASS. test-kb-integrity.sh 117/117 passed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-18 13:37:06 +02:00
68d29f60f0 fix(ms-ai-architect): MAF 1.0 GA + A2A v1.0 + Agent 365-pris (orkestrering currency)
- MAF 1.0 GA 2026-04-03: orkestreringsmonstre Experimental -> GA; SK+AutoGen konvergert (vedlikehold).

- A2A: protokoll v1.0 stabil, MEN A2A-SDK/MAF-pakker fortsatt preview (nyanse bevart).

- Agent 365: rettet feilaktig 'ingen ekstra kostnad' -> separat SKU ~$15/bruker/mnd (GA 2026-05-01); kilde MS Community Hub + uavh. analyse (ikke pa learn.microsoft.com).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-18 12:09:43 +02:00
d60bbd4bff chore(ms-ai-architect): KB checkpoint refresh — 30 files (critical 9 + high batch 1) [skip-docs]
- Critical bucket (9 files): substantive content updates basert på MCP-fetch
  - enterprise-governance: DSPM front door, AI-app-kategorier (3), single-tenant Entra ID
  - rag-cost-optimization, observability, ai-services-enterprise, multi-model-strategy: dato-bump
  - deterministic-cost: Copilot Credits offisiell common currency (2025-09-01), CCCU prepurchase
  - gpt5-gpt41-pricing: utvidet Copilot Studio modell-lineup (GPT-5.2, GPT-5.3, Claude 4.6, Grok 4.1)
  - vector-storage, request-batching: dato-bump (DS allerede dekkende)

- High batch 1 (21 files, 10-30): Last updated 2026-04→2026-05 dato-bump
  Substantive Microsoft Learn-endringer var marginale per fetch — kosmetiske oppdateringer.

Resterende: high batch 2 (filer 31-53, 23 filer) i ny sesjon. Se NEXT-SESSION-PROMPT.local.md.
2026-05-05 14:28:35 +02:00
Kjell Tore Guttormsen
781d98f62f chore(privacy): scrub real-org references from plugin internals (phase 2)
Same bulk replacement applied to plugin-internal KB, examples, fixtures,
tests, and docs. Real organization names, persona names, internal system
identifiers, and domain-specific terms replaced with fictional generic
public-sector entity (DDT) and generic terminology.

Scope:
- okr/ — examples, governance, framework, integrations, sources
- ms-ai-architect/ — KB references (engineering, governance, security,
  infrastructure, advisor), tests/fixtures, agents, docs
- linkedin-thought-leadership/ — voice samples, network-builder,
  examples (genericized identifying headlines to "[your organization]")
- llm-security/ — research notes, scan report

Manual genericization beyond bulk replace:
- okr SKILL.md "Primary user / Domain" — generic Norwegian public sector
- linkedin-voice SKILL.md headline placeholder
- network-builder.md headline placeholder
- high-engagement-posts.md voice sample employer line + hashtag

Phase 3 (factual-attribution review) remains: a few KB files attribute
publicly known transport-sector docs/datasets (e.g. håndbok V440, NVDB)
to the fictional DDT after bulk replace. Needs manual semantic review
to either remove or restore correct citation without re-introducing
affiliation references.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 04:28:15 +02:00
Kjell Tore Guttormsen
be4925a8ff docs(architect): weekly KB update — 52 files refreshed (2026-04)
Key content changes:
- MLOps: MLflow 3 scorers expanded (RetrievalRelevance, Fluency, multi-turn judges)
- MLflow 3 A/B eval: mirror_traffic GA confirmed, new scorer catalog
- CI/CD: OIDC auth replaces deprecated --sdk-auth (Azure ML GitHub Actions)
- Agent framework A2A: updated SDK patterns (A2ACardResolver, BearerAuth)
- AG-UI backend tool rendering: accurate TOOL_CALL_* event shapes
- Computer Use agents: US region requirement, credentials patterns
- Purview governance: bulk term edit, expire/delete workflows
- CAF AI Secure: 3-phase structure confirmed current
- Copilot Studio: Claude Sonnet 4.5/4.6 GA, new orchestration controls
- M365 manifest: v1.26 GA (April 2026), copilotAgents node
- Power Platform: agent flow capacity enforcement corrected
- Azure Monitor: Simple Log Alerts GA, AMBA for policy-based alerting
- Security Copilot: SCU capacity model (400 SCU/1000 users)
- EU Data Boundary: all EU + EFTA countries confirmed
- gateway-multi-backend: added 4th topology, subscription-level quota note

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 11:31:11 +02:00
Kjell Tore Guttormsen
6645e93205 docs(architect): weekly KB update — 106 files refreshed (2026-04)
Updates across all 5 skills: ms-ai-advisor, ms-ai-engineering,
ms-ai-governance, ms-ai-security, ms-ai-infrastructure.

Key changes:
- Language Services (Custom Text Classification, Text Analytics, QnA):
  retirement warning 2029-03-31, migration guides to Foundry/GPT-4o
- Agentic Retrieval: 50M free reasoning tokens/month (Public Preview)
- Computer Use: Claude Sonnet 4.5 (preview) + OpenAI CUA models
- Agent Registry: Risks column (M365 E7), user-shared/org-published types
- Declarative agents: schema v1.5 → v1.6, Store validation requirements
- MLflow 3: 13 built-in LLM judges, production monitoring, Genie Code
- AG-UI HITL: ApprovalRequiredAIFunction (C#) + @tool(approval_mode) (Python)
- Entra ID Ignite 2025: Agent ID Admin/Developer RBAC roles, Conditional Access
- Security Copilot: 400 SCU/month per 1000 M365 E5 licenses, auto-provisioned
- Fast Transcription API: phrase lists, 14-language multi-lingual transcription
- Azure Monitor Workbooks: Bicep support, RBAC specifics
- Power Platform Copilot: data residency (Norway/Europe → EU DB, Bing → USA)
- RAG security-rbac: 4-approach table (GA + 3 preview access control methods)
- IaC MLOps: Well-Architected OE:05 principles, Bicep/Terraform patterns
- Translator: image file batch translation Preview (JPEG/PNG/BMP/WebP)

All 106 files: Last updated 2026-04 | Verified: MCP 2026-04

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 09:13:24 +02:00
Kjell Tore Guttormsen
565043dbde docs(architect): weekly KB update — 66 files refreshed (2026-04)
Updated 66 stale knowledge base reference files (10 critical, 56 high)
across all 5 skills using Microsoft Learn MCP research.

Key factual updates:
- Groundedness Detection API: `correction` → `mitigating` param,
  `correctedText` → `correctionText` (breaking change)
- Copilot Studio: GPT-4.1 mini now default (was GPT-4o mini);
  Claude Sonnet 4.5 + Opus 4.5 added (experimental, 200K ctx)
- Agentic Retrieval: still public preview; 50M free tokens/month
- Azure security baselines: "Cognitive Services" → "Foundry Tools"
- Databricks: Delta Live Tables → Lakeflow Spark Declarative Pipelines
- MLflow 3 GenAI: new Feedback/Expectation data model
- Token tracking doc: "Azure OpenAI in Foundry Models through a gateway"
- Agent Registry: Risks column (M365 E7), Graph API (preview)
- Copilot DLP: new Entra AI Admin + Purview Data Security AI Admin roles
- ISO/IEC 42001: scope expanded to M365 Copilot, Foundry, Security Copilot
- Zero Trust: CAE now via Conditional Access, Strict Location Enforcement
- Purview: new Fabric Copilots/agents governance section
- AG-UI HITL: ApprovalRequiredAIFunction (C#), @tool approval_mode (Python)

All files: Last updated → 2026-04, *(Verified MCP 2026-04)* markers added.
Build registry: 1341 URLs from 387 files (+2 new URLs).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 22:41:26 +02:00
Kjell Tore Guttormsen
baa2d0220b feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command
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>
2026-04-08 08:58:35 +02:00