Commit graph

38 commits

Author SHA1 Message Date
544934dc57
refactor(examples): replace sector-specific example material with generic, fictitious examples
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>
2026-09-23 14:03:53 +02:00
ced0c5f46d refactor(ms-ai-architect): R14 — persona ut av plugin-flaten, og de seks stedene som produserte den
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>
2026-09-15 23:15:27 +02:00
1c9af82daa refactor(ms-ai-architect): R13b — nøytraliser de mekaniske persona-forekomstene utenfor headinger, etter at ordrens egen korrigerte bøttegrense ble målt usann
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>
2026-09-15 21:09:00 +02:00
3a73eeafdc refactor(ms-ai-architect): R13 del 1 — nøytraliser Cosmo-personaen i ref-korpusets headinger, etter å ha rettet en gate som var målt usann to ganger
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>
2026-09-12 22:12:28 +02:00
147ca0b993 feat(ms-ai-architect): anvend form #36 paa alle 5 medlemmene; fell 663(c) som #37-medlem 6 [skip-docs]
Form #36 (droppet kvalifikator under et verifikasjonsstempel) anvendt paa sine
fem maalte medlemmer. Reparasjonen er en INNSNEVRING i hvert tilfelle, aldri
rutet gjennom #34/#35. Fersk microsoft-learn MCP-henting per medlem, gjort av
HOVEDKONTEKSTEN (ingen subagenter). Hel-linje-unikhet talt korpus-bredt (394
filer) foer hver erstatning; alle fem = 1 forekomst.

Korpus-bred kildemaaling (#35's regel), nevner rapportert: 10 linjer i 9 filer
siterer azure-openai-gateway-multi-backend. Av de 8 oevrige baerer INGEN en
paastand om credential termination eller topologi-omfang - defekten er begrenset
til medlem 2 og 3.

1. model-versioning-registry-management.md:323 - "For production online endpoint
   deployments" -> "For production workloads paa managed online endpoints".
   idx-33t lukket (status=resolved + resolution).
2. ai-services-enterprise-architecture.md:573 - BEGGE former i EN edit, ett
   stempelflytt: #36-leddet innsnevret til topologi (1); #37-leddet (tagg-
   paastanden) fjernet.
3. multi-model-strategy-costs.md:663 - #36 paa (a)+(b), "Dokument bekrefter" ->
   "Dokumentet bekrefter, for topologien ...". Ledd (c) ADJUDISERT OG FELT i
   samme henting: sida har 0 treff paa "Foundry Tools", 0 paa "Azure OpenAI in
   Foundry Models" og 0 paa "Azure OpenAI" i det hele tatt, mot kjent-positiv-
   kontroll "credential termination"=1 / "Foundry"=11. Foert inn i #37's
   GOVERNS som sjette medlem, ren append, datert.
4. genaiops-llm-specific-practices.md:212 - "(frittstaaende, anbefalt)" ->
   "(frittstaaende)" + kildens egen kategori-preferanse mot egenutviklet kode.
   Blokkstempelets naboer (211, 213) verifisert mot samme henting foer flytt.
5. multimodal-prompt-design.md:193 - "AI-genererte bildebeskrivelser" ->
   samme med kildens vilkaar (modelName/modelDeployment, 2026-05-01-preview).
   Blokkstempelet leste allerede 2026-08-25 = hentedato, saa det ble IKKE
   flyttet - ingen ny paastand avgitt om linje 196 (idx-33v's aapne medlem).

NYTT, UMAALT LEDD FUNNET UNDER ANVENDELSE: chargeback/usage-tracking-leddet paa
573 og 663(b) baerer samme #36-defekt - "Using a gateway in this topology
enables client-based usage tracking" staar under topologi 1, og sida sier det
motsatte for topologi 2. Stempelet som flyttes dekker det leddet, saa det ble
innsnevret i samme edit. Dette falsifiserer #37's egen medlem-2-frikjennelse
("credential termination and the chargeback point ARE faithful"); korreksjonen
er foert i #37's GOVERNS-tillegg, siden ordren forbyr aa redigere formteksten.

Gater: check-g7-queue.mjs 0 drift exit 0 - suite 1052/1052.
Assertert i skriptet: alle 79 oevrige entries bit-identiske, idx-33t endret kun
status+resolution, _meta urort utenfor ratified_forms["#37"], #37 ren append.
2026-08-25 23:40:20 +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
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
31e647f67a fix(ms-ai-architect): R7.1 — verdi-slanking av de 2 R7-ustempelbare (Status-kjerne i header, detaljer allerede i body; pseudo-provenance strippet); audit-signal 2→0, begge stempelbare [skip-docs] 2026-07-18 11:13:03 +02:00
af6c31c4c1 feat(ms-ai-architect): Enhet A2 — Layer B baseline-adjudikering: innholds-basert allowlist (75 funn adjudikert, TDD) + 4 korpus-defekter fikset (2 homoglyph-ord, 2 U+00AD-filer); korpus 389/389 exit 0 [skip-docs] 2026-07-18 10:31:06 +02:00
135f34eb9b fix(ms-ai-architect): RX-KB1b-adjudikering — 3 footer-dato-kontradiksjoner lukket (git-adjudisert) + homoglyph-fiks [skip-docs]
Aldri-auto-fiks-protokoll fulgt; adjudisert mot git-historikk (hovedkontekst):
- stakeholder-communication: header 2026-06-24->2026-06-29 (siste innholds-commit
  2c54f0d Spor 0 prisfakta); footer 'Sist oppdatert: 2026-02' -> 'Opprettet: 2026-02'
  (generasjons-artefakt fra baa2d02; Cosmo-tekst uroert, R13/R14). + Layer B-fanget
  Cyrillic homoglyph U+0442 linje 651 (Reduser[t]) rettet.
- output-validation: footer-datolinje droppet (header = single source of truth;
  2026-04 var reell fakta-dato 565043d/0eb30fa, men dual-claim er poison-klassen).
- multi-model-strategy: header 2026-06-19->2026-06-29 (2c54f0d: 28-modellers-liste
  + Quota Tier); stale footer-linje droppet (basis-paastander foreldet mot juni-fakta;
  re-verifisering hoerer til R7-stempling).

Audit footer-flagg 3->0. Suite 926/926 exit 0. pre-commit-scan OK.
2026-07-18 10:06:03 +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
e999b74eda 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.
2026-07-06 10:07:52 +02:00
36fd4cfe7b fix(ms-ai-architect): R5 G5b — 4 innholds-fikser (retired gpt-35-turbo→gpt-4o-mini, vector-quant GA 2024-07-01, 2 overclaims nyansert), hver live-verifisert per MS Learn-kilde [skip-docs] 2026-07-04 17:09:23 +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
2c54f0d5a0 fix(ms-ai-architect): Spor 0 — 37 kilde-verifiserte KB-feil fikset (25 ref-filer), 1 avvist [skip-docs]
Per-kilde verifiserings-agenter (Opus xhigh, live microsoft_docs_fetch) bekreftet
hver verdi mot kilden FOER endring; alle forekomster av samme gale fakta fikset
fil-vidt (ikke bare sitert linje).

- 37/38 confirm-fix anvendt; #8 (model-selection «Model Router GA») AVVIST: fila var
  allerede korrekt (Model Router GA siden 2025-11-18); den siterte model-choice-guide
  har utdatert «(preview)»-etikett. AA «fikse» ville innfoert en feil.
- Tverteklynger reconciled til kilde-sann verdi: AI Search storage (S1 160/S2 512/S3
  1024/L1 2048/L2 4096 GB; vektor 5/35/150/300), Quota Tiers (erstatter
  Default/Enterprise + «1 Unit Capacity»).
- Hoey-innsats: realtime Schrems II omskrevet (global deployment != EU-residens,
  selv-verifisert mot kilde); Data Zone Norway East = gpt-5.4 OG gpt-5.5 (ikke kun
  5.5); computer-use = gpt-5.4 + computer-tool (region flagget for verifisering).
- Suite 552/552 groenn. Manifest oppdatert (fixed/verdict/verified per fiks).

Spor 1-froe (cross-fil-gjentakelser i UBEROERTE filer): «DDoS Protection Standard» i
ros-ai-threat-library.md + zero-trust-ai-services.md. Tilstoetende funn (ikke i de 38):
se docs / STATE.
2026-06-29 09:39:20 +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
c0b8b51c35 docs(ms-ai-architect): KB-refresh cost-cluster — small-language-models dag-presis dato (critical 1→0)
Header «2026-06» → «2026-06-24» (dag-presis). report-changes.mjs sammenligner
leksikografisk: «2026-06» tolkes som prefiks < kildens lastmod «2026-06-08», så filen
forble flagget critical selv etter innholds-refresh i 8/8. Filen ble faktisk live-verifisert
mot Foundry-katalogen i dag (2026-06-24) — etter 2026-06-08-kildeendringen — så dag-presis
dato er både ærlig og korrekt. Critical-count for cost-klyngen nå 0 (var 8 ved baseline).
Ingen innholdsendring; kun header-presisjon.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:01:29 +02:00
f77ca51c0e docs(ms-ai-architect): KB-refresh critical cost 8/8 — small-language-models verifisert mot Foundry-katalog
Verifisert mot live Microsoft Learn (foundry-models/concepts/models-from-partners,
aks/concepts-ai-ml-language-models, machine-learning/concept-models-featured):
- TRYGT: fjernet «(175B+)» fra GPT-4o (uoffisielt/uverifiserbart parametertall).
- TRYGT: «GPT-4 utfaset» → «GPT-4 legacy» (2 steder: pristabell-label + besparelse-prosa).
  GPT-4-familien er legacy (superseded), ikke fjernet — konsistent med ground truth fra fil 3-6.
- KALIBRERINGS-KORREKSJON: agentens VERIFY-påstand «Phi-3-small/medium + Phi-2 + Falcon-7B ikke i
  aktiv katalog (kun Phi-4-familien)» AVKREFTET ved verifisering. models-from-partners viser nå kun
  Phi-4-familien (det agenten så), MEN Phi-3-mini/Phi-3-small er fortsatt i Foundry-katalogen
  (featured models, azureml-registry), og Phi-2 + Falcon-7B er fortsatt dokumentert i filens egen
  kilde #2 (AKS «Small and large language models»). Modellene er IKKE fjernet → ingen «retired»-merking
  lagt inn (ville vært upresis). Phi-3/Phi-2/Falcon urørt som illustrative eksempler.
- Header 2026-04→2026-06. Disclaimed priser (kanonisk peker) urørt. validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 09:57:31 +02:00
441f7d48a8 docs(ms-ai-architect): KB-refresh critical cost 7/8 — request-batching verifisert mot batch-docs (Data Zone Batch + fail-fast)
Verifisert mot live Microsoft Learn (ai-foundry/openai/how-to/batch + deployment-types):
- Data Zone Batch lagt til som deployment-type (SKU `DataZoneBatch`): samme 50% rabatt som
  Global Batch, men inferens-prosessering begrenset til Microsofts definerte datasone (EU/US),
  data-at-rest forblir i ressursens Azure-geografi. Lagt til 4 steder: kjernekomponent-tabell,
  setup-steg, prismodell-tabell, og som FØRSTE Schrems II-mitigering (høy verdi for offentlig sektor).
- «Exponential backoff queuing» reframet til «fail-fast token-quota-håndtering»: serveren feiler
  raskt på enqueued-token-grensen, KLIENTEN gjør exponential backoff-retry (kodeeksempel er
  klient-side) — filens «automatisk retry» antydet feilaktig server-side auto-retry. Region-listen
  verifisert current (urørt).
- Header 2026-05→2026-06, kilde #1 + konfidens-tabell Verified 2026-02→2026-06.
- 50%/24t/expiration verifisert current (doc: «doesn't expire jobs that take longer»). Disclaimed
  priser (GPT-4o Jan-2026 + NOK) urørt. validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 09:54:38 +02:00
692b3f75d8 docs(ms-ai-architect): KB-refresh critical cost 6/8 — token-counting verifisert mot fine-tuning-cost (RFT) + prompt-caching
Verifisert mot live Microsoft Learn (foundry/openai/how-to/fine-tuning-cost-management,
prompt-caching, use-your-data):
- RFT (Reinforcement Fine-Tuning) lagt til (filen dekket kun SFT/DPO): tidsbasert «pris = treningstid
  × timepris + grader-tokens», ~$100/time core training for o4-mini-2025-04-16, per-job-tak $5000
  (pauses + deploybart checkpoint ved tak, kan resume uten videre pristak). Cost-control-strategier med.
- Cache-TTL-tabell hadde FEIL akse («Foundry Classic vs AI Services») → korrigert til in-memory
  (5-10 min/maks 1t, alle GPT-4o+) vs extended (24h, GPT-5-serien+gpt-4.1, default for nyere).
- prompt_cache_key ~15 req/min overflow-caveat lagt til.
- On Your Data deprecation 2026-10-14 flagget (3 steder: token-est-seksjon, Foundry-seksjon, kilde #6).
- tiktoken model-set manglet o1-mini/o3-mini → lagt til.
- Header 2026-02→2026-06, verification-date 2026-02-04→2026-06. Priser urørt (kanonisk peker). validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:53:35 +02:00
c1e5a22825 docs(ms-ai-architect): KB-refresh critical cost 5/8 — prompt-engineering verifisert mot prompt-caching + On Your Data-retirement
Verifisert mot live Microsoft Learn (foundry/openai/how-to/prompt-caching,
foundry-classic/openai/concepts/use-your-data, ai-foundry/openai/concepts/model-retirements):
- Extended cache retention 24t BEKREFTET: «keeps cached prefixes active for longer, up to a maximum
  of 24 hours», param prompt_cache_retention='24h'. Model-gated: gpt-5/5.1/5.2/5.4 (+codex/chat) +
  gpt-4.1 (BEVISST utelatt gpt-5.5 — IKKE i extended-listen). Default 24h for nyere modeller
  (in_memory ikke støttet); gpt-5.4 og eldre: in_memory default. Filens «5-10 min/maks 1t» var kun
  in-memory-delen → cache-tabell splittet i in-memory vs extended + støttemodell-lister korrigert.
- On Your Data BEKREFTET deprecated, retires «October 14, 2026» → kilde #5 flagget m/ migrasjonspeker
  (Foundry Agent Service + Foundry IQ).
- prompt_cache_key-nyanse lagt til (~15 req/min overflow-grense, fra docs).

Korreksjons-disiplin (operatør-godkjent):
- Data-residens-nyanse (HØYVERDI for offentlig sektor): extended-cache holdes i-region KUN ved
  Regional Standard/Provisioned; Global/DataZone kan forlate region. Rettet GDPR- + Datasuverenitet-bullets
  (gammel «clears etter maks 1 time» + «lagres i samme region» var nå feil for extended).
- Pristabell: o1-preview (retired 2025-07) + GPT-4/32K (retired 2025-06) flagget retired m/ peker til
  kanonisk pricing (model-retirements-tabellen). Prompt Flow «GPT-3.5» → gjeldende modeller.
- Header 2026-02→2026-06, footer 2026-02-04→2026-06. 3 kilde-rader stemplet Verified MCP 2026-06. validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:49:46 +02:00
0c2fd3d8a6 docs(ms-ai-architect): KB-refresh critical cost 4/8 — inference-endpoint verifisert mot Foundry priority-processing + deployment-types
Verifisert mot live Microsoft Learn (foundry/openai/concepts/priority-processing,
foundry/foundry-models/concepts/deployment-types, foundry/concepts/manage-costs):
- Priority processing lagt til (deployment-tabell + Nivå 4). ÆRLIG framing: delt doc-signal —
  provisioned-throughput-siden lister den som fullverdig pay-per-token-kategori m/ latensmål per
  modell (gpt-5.5/5.4/5.2/5.1/4.1), mens deployment-types/enable-siden markerer preview/invitasjon.
  Skrevet som tier på GlobalStandard/DataZoneStandard (modellv. 2025-12-01+), m/ «rulles ut»-caveat.
- VERIFY meter-skille bekreftet: «Foundry Models sold by Azure billed via Azure meters as First Party
  Consumption Services» under Foundry-ressurs; partner/community «billed through Azure Marketplace» →
  Global resources, format model-name-GUID. Oppdatert Cost-tracking-bullet (slo feil sammen før).
- Phi-3→Phi-4-familien (2 steder): katalog viser kun Phi-4-familien (Phi-4, -mini-instruct,
  -multimodal, -reasoning) i sky-serverless; Phi-3 superseded. Estimat-priser beholdt m/ (estimat).
- Quota 200k TPM/1k RPM: lagt til «verifiser i quota-docs (varierer per modell/type/region)».

Korreksjons-disiplin (operatør-godkjent): footer-dato-inkonsistens fikset — header 2026-04→2026-06,
footer «Sist oppdatert 2026-02»→2026-06 (561-seksjonsstempel urørt, ikke re-verifisert). 2 kilde-
rader stemplet Verified MCP 2026-06 (faktisk re-fetchet). Disclaimed priser urørt. validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:45:19 +02:00
6ba97f7dc8 docs(ms-ai-architect): KB-refresh critical cost 2/8 — reserved-capacity verifisert mot Foundry reservations-docs
Verifisert mot live Microsoft Learn (cost-management-billing/reservations/azure-openai +
provisioned-throughput-billing + provisioned-throughput-sizing):
- VERIFY BEKREFTET — overage-prioritering: kilden sier «discount is shared automatically
  across all models in scope ... matching isn't by model or deployment ID». Filens
  «anvendes først Azure OpenAI, deretter Foundry Models» var feil regel-framing → erstattet
  med aggregert-per-time-på-tvers-av-scope. Eksempelet (500/300/200/100) matcher docs eksakt, beholdt.
- DRIFT (kirurgisk): «~150 PTU»-kalkulatoreksempel var stale (gammel TPM/PTU). Dagens
  gpt-5.1 = 4750 input-TPM/PTU, ratio 8 → 300K/4750 ≈ 63 rå → 100 regional. Korrigert + reproduserbar.
- gpt-5→gpt-5.1 (2 steder): ratio verifisert = 8 (identisk gpt-5; gpt-5.5 ville vært 6 — unngått).
- Ny «Priority processing» (pay-per-token, latensmål, ikke reserverbar) i beslutningstre.
- Min-PTU-caveat (varierer per modell: gpt-5-mini 25, DeepSeek/Fireworks 100+) + sizing-link.
- Header 2026-04→2026-06 + 2 verifiserte kilde-stempler til 2026-06 (gov-rad urørt, ikke re-verifisert). validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:24:56 +02:00
d36cddd94c docs(ms-ai-architect): KB-refresh critical cost 1/8 — ptu-vs-paygo verifisert mot Foundry PTU-docs
Kalibreringsfil (7 kilder flagget). Verifisert mot live Microsoft Learn (provisioned-throughput,
spillover-traffic-management, provisioned-throughput-sizing):
- KVANTITATIV KJERNE CURRENT: PTU-minimums (GPT-4o 50/15, 4o-mini 25/15, DeepSeek-R1 100/NA),
  «GPT-5 4750 input TPM per PTU», prompt-cache 100%-rabatt — alle bekreftet eksakt korrekte.
- DRIFT (kirurgisk): spillover (preview)→GA (3 steder) + DeepSeek/Llama-unntak; ny «Priority
  processing» deployment-kategori lagt til; kilde-stempel re-verifisert juni 2026.
- Priser urørt (eksplisitt disclaimed illustrative NOK, feb-2026-stemplet).
- Header 2026-02→2026-06 + Source-backfill. validate 239/0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:51:01 +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
ac276e9d4b docs(ms-ai-architect): KB-refresh tema-a steg 1 — modellkatalog GPT-5.1→5.5 i 2 critical cost-filer
Reconcile stale lokale modell-enumereringer mot kanonisk model-catalog-2026.md
(2026-06-18, live-verifisert). Pilot: 4 critical cost-filer auditert (~400k tokens),
2 hadde reell content-drift (modellkatalog en generasjon bak), 2 kun naming/noise.

- model-selection-price-performance.md: GA-modell-snapshot utvidet fra GPT-5/4.1 til
  hele GPT-5.1→5.5-generasjonen + o-serien + pointer til catalog. Tiering-anbefalinger
  flagget for egen pass (judgment, ikke mekanisk).
- batch-processing-cost-reduction.md: batch-støttet modellsett febr→juni 2026
  (gpt-5.1/gpt-5/o3/o4-mini/gpt-4.1-familien); API-versjon korrigert til v1 API.
  50%-rabatt + 24h-turnaround urørt (re-verifisert current).

Begge: header→2026-06 + Source-header (folder inn Source-backfill).
Naming (Azure AI Foundry→Microsoft Foundry) urørt — egen pass (tema b).
validate 239/0, ms-ai-security 96/100. Ref-edits → judge-cache gyldig, kun re-score.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:34:45 +02:00
41b390b38d chore(ms-ai-architect): refresh KB critical-bucket — 15 files [skip-docs]
KB-currency refresh (critical priority, 2026-06-19) via /architect:kb-update.
15 critical cost/arkitektur-filer re-verifisert mot Microsoft Learn (MCP).

Hovedendringer:
- Azure AI Search Serverless (Preview) prismodell (rag-cost, rag-query,
  vector-storage, rag-enterprise-scale)
- Agentic retrieval GA-split (2026-04-01 REST GA, portal preview) + Foundry IQ
- AI gateway multi-provider (Anthropic v2 / Google Vertex), unified model API
  (preview), Foundry-integrasjon (enterprise-arch, ai-services-cost,
  multi-model, cost-tracking)
- FOCUS-skjema + Cost Mgmt -> ADLS Gen2 -> Fabric -> Power BI pipeline
  (cost-management, cost-allocation)
- FinOps hub AI-agent via Azure MCP / Copilot Studio (budget-forecasting)
- OTel trace-based sampling for logs (observability)
- Korreksjoner: semantic-cache score-threshold = AVSTAND (0.15, ikke 0.85
  cosine-likhet); llm-emit-token-metric maks 5 custom dimensions;
  Foundry RBAC-renames (Owner/Contributor = kun mgmt); Researcher/Analyst er
  ikke agenter
- Alle 15 Last updated -> 2026-06-19

High-bucket (49 filer) UTSATT til egen sesjon (operatoer-valg).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
2026-06-19 06:22:48 +02:00
89dce4ab7d fix(ms-ai-architect): korriger Norway East-dataresidens + modernisér modellkatalog (#5 del 3/3 modellspor)
Verifisert mot Microsoft Learn region-tabeller 2026-06-18 (alle deployment-pivoter):
KUN gpt-4o/gpt-4o-mini er Norge-resident (Standard/Regional PTU) i Norway East.
gpt-4.1, o3/o4-mini/o3-mini/o1 og HELE GPT-5-familien er IKKE regionale der — kun Global.
Reverserer feilaktig baseline fra del 2/3 (8f9fe8b) som anbefalte gpt-4.1/o3/o4-mini for streng Norge-residens.

- model-catalog-2026.md: ny deployment-type-matrise (seksjon 9), korrigert beslutningstre/
  hurtigguide/Norway East-rad (seksjon 10), nye modeller (gpt-5.2-5.5, gpt-5.3-codex/chat,
  gpt-chat-latest, gpt-oss-120b/20b, sora-2, gpt-image-2), 1.05M kontekst for 5.4/5.5
- azure-ai-foundry.md: residens-presisering (Norway East-seksjon + spesifikke rad)
- gpt5-gpt41-pricing-models.md: korrigert deployment-valg + TCO-premiss (gpt-4o-mini for residens)

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:32:25 +02:00
8f9fe8b894 fix(ms-ai-architect): korriger GPT-5-datasuverenitet i Norway East (task #5 del 2/3, B-kjerne)
Audit-hypotesen («GPT-5 data-resident via Regional PTU/Data-Zone der streng
residens kreves») er MOTBEVIST mot live Microsoft Learn (hentet 4 doc-sider,
2026-06-18). GPT-5 har INGEN regional/PTU-deployment i Norway East — kan ikke
gjøres Norge-resident. Hadde planen blitt fulgt blindt, ville en falsk
compliance-påstand blitt skrevet inn i KB. STATEs verifiseringsplikt-advarsel
fanget dette.

Verifisert matrise (GPT-5 × Norway East × deployment-type):
- Standard (regional) / Regional Provisioned (= Norge-residens): INGEN GPT-5-variant
- Data Zone Standard (= EU-residens): kun gpt-5.5; ikke 5/mini/nano/5.1/5.2
- Data Zone Provisioned: norwayeast finnes ikke som region
- Global Standard (global): gpt-5/mini/nano/5.1/5.2 (ikke 5.5)
- Global Provisioned (global): gpt-5/mini/5.1/5.2/5.5

KB-ens nåværende forsiktighet («data kan forlate Norway East») var altså
RIKTIG for de deployment-typene som finnes. De reelle gapene var:
1. Manglende Data Zone-mellomtier (gpt-5.5 = EU-residens)
2. Upresist «kun via Agent Service» (er Global Standard + Global Provisioned)
3. Falsk implisert «GPT-5 + Regional PTU Norway East»-prising

Endringer (3 filer):
- model-catalog-2026.md: regional-tabell (GPT-5-celler), nordisk oppsummering
  (fjernet «(regional PTU)»-merkelapp), beslutningstre (tre-tier residens:
  Norge/EU-sone/global), hurtigguide (+ EU-residens-rad), Norway East-råd.
- azure-ai-foundry.md: Norway East-modellliste + Norway East-råd (GPT-5-residens).
- gpt5-gpt41-pricing-models.md: fjernet falsk «Norway East Regional ~10-20%»
  for gpt-5; modelltilgjengelighet-merknad på offentlig-sektor-tabellen.

For streng Norge-residens forblir svaret gpt-4.1/o3/o4-mini/gpt-4o — IKKE GPT-5.

Kilder: learn.microsoft.com/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure-region-availability
+ .../azure/ai-foundry/openai/how-to/deployment-types

Verifisert: validate-plugin.sh 219 PASS, test-kb-integrity.sh 117/117.
Scope: tilgjengelighetstabell-utvidelse (gpt-5.2/5.5-rader, kolonner) utsatt til del 3/3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:29:35 +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
84e3cfaa03 fix(ms-ai-architect): re-baseline kostnadslaget (GPT-5 $1.25/$10, én prissannhet, 10 filer)
Audit-funn Tema B + action-items 149/150. Verifiseringen avdekket at kostnadslag-råten var bredere enn auditens 3 navngitte filer (10 filer totalt).

- GPT-5 flagship $10-15/$40-60 -> $1.25/$10.00 (verifisert juni 2026, 8-12x for hoy). gpt-5-mini $0.25/$2.00, gpt-5-nano $0.05/$0.40. Fjernet falske "Verified MCP"-stempel pa estimat-band.

- deterministic-cost-calculation-model.md gjort til ENESTE kanoniske prissannhet (§1.1). Strippet duplikat pris-tabell fra cost-models.md (rotarsak til GPT-4o $10/$30-motsetning) -> peker til registeret.

- Reconcile-funn utover audit: deterministic hadde GPT-4.1-serien HALVERT ($1/$4 og $0.20/$0.80) -> verifisert $2.00/$8.00 og $0.40/$1.60. multi-model-strategy-costs.md NOK-tabell var fabrikkert 10-47x for hoy (gpt-4o 250/1000 NOK -> 26/105). model-selection (GPT-5 $3/$12), reasoning-models (GPT-5 $20-30/$80-100), token-counting (gpt-4.1 cached $1->$0.50), small-language-models (GPT-4o output 60->105 NOK) rettet.

- Recalk alle NOK-scenarioer reproduserbart: gpt-5 ~= gpt-4.1 i kost (ikke 30-55x dyrere som gammel tekst pasto) - billigere input ($1.25 vs $2.00), dyrere output. Reell kostnadsdriver = resonnerings-tokens (fakturert som output).

- Fjernet GPT-3.5 Turbo-anbefaling (utfaset). Alignet kurs 11->10.5 NOK/USD i cost-kommando. Cost-agent eksempel: legacy GPT-4 -> GPT-4o-mini, fjernet falskt Verified-stempel.

- kb-update apply cost-bucket deferret til task #8 (kommando-feature, ikke tall-justering).

Verifisert mot OpenAI API pricing + Azure OpenAI pricing via WebSearch 2026-06-18. validate-plugin.sh 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 12:45:21 +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