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>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-12 22:12:28 +02:00
commit 3a73eeafdc
380 changed files with 1711 additions and 729 deletions

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -422,7 +422,7 @@ Tilsynet kan gi pålegg og dagbøter for manglande tilgjengelegheit. AI-basert a
---
## For Cosmo
## For arkitekten
- **WCAG 2.1 AA er lovpålagt** for alle nye offentlege norske nettløysingar — AI-basert tilgjengelegheit er ikkje valfritt, det er ein compliance-forplikting
- **Azure AI Vision Image Analysis 4.0** genererer alt-tekst som Microsoft sjølv brukar i PowerPoint, Word og Edge — confidence threshold på 0.0 for v4.0 API (0.4 for v3.2)

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -538,7 +538,7 @@ Video → Azure Media Services (encode)
---
## For Cosmo
## For arkitekten
- **Batch Transcription API er standard for volumbasert transkribering** — asynkron prosessering av store lydarkiv med diarization (opp til 35 talarar), ordnivå-tidsstempel og automatisk interpunksjon, resultat til eigen Azure Storage.
- **Diarization er tilgjengeleg i både sanntid og batch** — ConversationTranscriber (SDK) for live-møte, og `diarizationEnabled` + `diarization.speakers` i Batch API for opptak, med speaker-ID per frase i output.

View file

@ -15,7 +15,7 @@
- [Knowledge Graph Construction frå Video](#knowledge-graph-construction-frå-video)
- [Integrasjon med AI Services](#integrasjon-med-ai-services)
- [Brukstilfelle for norsk offentleg sektor](#brukstilfelle-for-norsk-offentleg-sektor)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -390,7 +390,7 @@ Live-stream → Azure Arc Video Indexer → Sanntids-transkripsjon
---
## For Cosmo
## For arkitekten
- **Video Indexer køyrer 30+ AI-modellar** per video, inkludert transkripsjon, ansiktsdeteksjon, OCR, sentimentanalyse og emneekstraksjon. Vurder kva preset som gir best verdi for pengane basert på brukstilfellet.
- **Azure Arc-varianten er avgjerande for datasuverenitet** i norsk offentleg sektor. Live videoanalyse køyrer lokalt, medan full indexering kan gjerast hybrid.

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -445,7 +445,7 @@ Bruk Phi-4 på edge for rask triagering, send berre komplekse tilfelle til cloud
---
## For Cosmo
## For arkitekten
- **Cascade-mønsteret** (Azure AI Vision først, GPT-4o for komplekse tilfelle) reduserer kostnad med 60-80% — bruk Vision for filtrering/kategorisering og GPT-4o berre for det som krev resonnering
- **Vision fine-tuning av GPT-4o** (2024-08-06) gir domene-spesialisering — men Azure filtrerer automatisk ut bilete med personar/ansikt frå treningsdata, noko som avgrensar bruksområdet

View file

@ -16,7 +16,7 @@
- [Integration with Document Pipelines](#integration-with-document-pipelines)
- [Tilgjengelegheit (Accessibility) Considerations](#tilgjengelegheit-accessibility-considerations)
- [Merking og transparens](#merking-og-transparens)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -527,7 +527,7 @@ if (result.manifests) {
---
## For Cosmo
## For arkitekten
- **DALL-E 3 er GA i Sweden Central**, noko som gjer det til det tryggaste valet for norsk offentleg sektor akkurat no. GPT-image-1 gir betre kvalitet og fleksibilitet, men krev Global Standard deployment og limited access-godkjenning.
- **Innhaldsfilteret blokkerer automatisk skadeleg innhald** på både input og output. For offentleg sektor tilrår vi å behalde standardinnstillingane og ikkje søke om unntak utan sterke grunnar.

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -381,7 +381,7 @@ Document Intelligence returnerer berre etterspurte felt. Ved bruk av prebuilt mo
---
## For Cosmo
## For arkitekten
- **Document Intelligence v4.0 GA** er bransjeleiande for OCR og strukturekstraksjon — 309 trykte og 12 handskrivne språk, inkludert norsk, med Markdown-output optimalisert for LLM-integrasjon
- **Prebuilt models** (invoice, receipt, ID, tax) gir umiddelbar verdi utan treningskostnad, medan Custom Neural Models handterer eigendefinerte norske dokumenttypar

View file

@ -16,7 +16,7 @@
- [Performance og Latency-optimalisering](#performance-og-latency-optimalisering)
- [Brukstilfelle for norsk offentleg sektor](#brukstilfelle-for-norsk-offentleg-sektor)
- [Avgrensingar og kjende utfordringar](#avgrensingar-og-kjende-utfordringar)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -363,7 +363,7 @@ Gje ein strukturert vurdering i JSON-format.
---
## For Cosmo
## For arkitekten
- **GPT-4o vision brukar ein to-nivå token-modell:** `low` (flat 85 tokens) vs. `high` (tile-basert, 170 tokens per 512x512 tile + 85 base). Alltid berekn token-kostnad før du designar ein pipeline med mange bilete.
- **Ansiktsblurring er automatisk i Azure OpenAI** og kan ikkje deaktiverast for GPT-4o. Dette er ein fordel for norsk personvern, men avgrensar brukstilfelle som ansiktsbasert identifisering.

View file

@ -17,7 +17,7 @@
- [Real-time og Batch Processing](#real-time-og-batch-processing)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -354,7 +354,7 @@ Azure Blob Storage (bileter)
---
## For Cosmo
## For arkitekten
- **Azure AI Vision 4.0 med Florence-modellen** er standardvalet for bildeanalyse — støttar caption, tags, objects, people og OCR i ein enkelt API-kall, med confidence scores for kvar prediksjon.
- **GPT-4o som zero-shot classifier eliminerer behovet for treningsdata** — definer kategoriar i system prompt og send bilete direkte, ideelt for offentleg sektor der nye klassifiseringsbehov oppstår raskt.

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -408,7 +408,7 @@ async def moderate_chat_message(message: str, attachments: list):
---
## For Cosmo
## For arkitekten
- **Azure AI Content Safety dekkjer fire skadekategoriar** (Hate, Sexual, Violence, Self-Harm) med alvorlegheitsgradar 0-6 — konfigurer tersklar basert på målgruppe (strengast for barn, meir fleksibelt for intern saksbehandling).
- **Prompt Shields er GA og essensielt for alle LLM-applikasjonar** — detekterer både direkte jailbreak-forsøk frå brukarar og indirekte prompt injection gøymd i dokument og bilete.

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -478,7 +478,7 @@ Code Change → Build → Deploy → Evaluate → Gate → Promote
---
## For Cosmo
## For arkitekten
- **Azure OpenAI Evaluations** tilbyr BLEU, ROUGE, GLEU, METEOR og Cosine Similarity som innebygde NLP-metrikktypar — bruk Foundry SDK for batch-evaluering med `evaluate()` API-et
- **AI-assistert evaluering** (Groundedness, Relevance, Coherence, Fluency) krev ein GPT-modell som dommar — dette er meir robust enn NLP-metrikktypar for open-ended generering, men krev ekstra token-kostnad

View file

@ -18,7 +18,7 @@
- [Image Tokenization og Kostnadsoptimalisering](#image-tokenization-og-kostnadsoptimalisering)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -475,7 +475,7 @@ print(f"Estimerte tokens: {tokens}") # 85 + (170 * 6) = 1105
---
## For Cosmo
## For arkitekten
- **Seks grunnprinsipp for image prompts**: Kontekstuell spesifisitet, oppgåveorientering, refusal-handtering, eksempelbruk, oppgåvedeling og output-formatering — følg Microsoft sin offisielle rettleiing for GPT-4o vision.
- **Few-shot med bilete brukar `detail: low` (85 tokens) for eksempel** og `detail: high` for mål-biletet — dette gir konsistent klassifisering utan å sprengje token-budsjettet.

View file

@ -15,7 +15,7 @@
- [Vector Store Design for Mixed Media](#vector-store-design-for-mixed-media)
- [Retrieval og Ranking Patterns](#retrieval-og-ranking-patterns)
- [End-to-End Pipeline med Azure AI Search](#end-to-end-pipeline-med-azure-ai-search)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -456,7 +456,7 @@ def multimodal_rag_query(query: str, search_client, openai_client):
---
## For Cosmo
## For arkitekten
- **Image verbalization + text embeddings gir best resultat for dokumenttunge RAG-scenario** i offentleg sektor, fordi diagram og flowcharts i PDF-ar inneheld kritisk informasjon som rein tekst-søk misser.
- **Azure AI Search sin multimodal pipeline (preview mai 2025)** forenklar arkitekturen vesentleg: Document Extraction/Layout → GenAI Prompt → Embedding → Index i ein samla skillset.

View file

@ -17,7 +17,7 @@
- [Integration with Document Understanding](#integration-with-document-understanding)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -441,7 +441,7 @@ Kombiner med Text Merge skill for å slå saman OCR-tekst med dokumenttekst:
---
## For Cosmo
## For arkitekten
- **Azure AI Document Intelligence v4.0 er standard for dokument-OCR** — høgare oppløysing enn Vision Read, støttar PDF/Office/HTML, og inkluderer paragrafdeteksjon, tabellar og handskrift med confidence scores per ord.
- **Prebuilt-modellar eliminerer behovet for trening** — invoice, receipt, ID document og layout dekkjer dei vanlegaste scenarioa i offentleg forvaltning, med query fields for fleksibelt feltuttrekk utan modelltrening.

View file

@ -18,7 +18,7 @@
- [Deployment og Scaling Patterns](#deployment-og-scaling-patterns)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -406,7 +406,7 @@ Innhaldsfiltreringssystemet i Azure OpenAI blir **ikkje** brukt på prompts og c
---
## For Cosmo
## For arkitekten
- **GPT Realtime API** er designa for låg-latency "speech in, speech out" — bruk WebRTC for klient-applikasjonar (lågast latency) og WebSocket for server-til-server (meir kontroll)
- **SIP-transport** muliggjer direkte integrasjon med eksisterande telefonisystem — relevant for NAV, kommunale servicesentra og andre offentlege kontaktpunkt med telefonibasert borgarservice

View file

@ -15,7 +15,7 @@
- [Low-Latency Streaming Architectures](#low-latency-streaming-architectures)
- [Error Handling og Confidence Scoring](#error-handling-og-confidence-scoring)
- [Pipeline-arkitekturar for norsk offentleg sektor](#pipeline-arkitekturar-for-norsk-offentleg-sektor)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -522,7 +522,7 @@ Innringar → Azure Communication Services
---
## For Cosmo
## For arkitekten
- **Azure Speech Service støttar norsk bokmål (nb-NO) fullt ut** for STT og TTS. Nynorsk (nn-NO) og nordsamisk (se-NO) har meir avgrensa støtte. Bruk language identification for fleirspråklege scenario.
- **Word-level timestamps og confidence scoring** er avgjerande for produksjonsbruk — aktiver `request_word_level_timestamps()` og filtrer resultat med confidence under 0.6 for kvalitetssikring.

View file

@ -18,7 +18,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -371,7 +371,7 @@ JavaScript Web Speech API + Azure backend for høgkvalitets opplesing av offentl
---
## For Cosmo
## For arkitekten
- **Azure Speech TTS støttar norsk bokmål nativt** med tre neurale stemmer (Pernille, Finn, Iselin) — anbefal `PernilleNeural` for generell borgarteneste og `FinnNeural` for formelle vedtak.
- **Multilingual voices eliminerer behovet for separate deployments** per språk — `AvaMultilingualNeural` dekkjer 91 locales inkludert norsk, arabisk, somali og urdu for fleirspråklege etatar.

View file

@ -17,7 +17,7 @@
- [Integrasjon med Narrative Understanding](#integrasjon-med-narrative-understanding)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -382,7 +382,7 @@ For bruksscenario som krev sanntidsanalyse utan skyavhengigheit:
---
## For Cosmo
## For arkitekten
- **Azure AI Video Indexer** gir 30+ innsiktstypar i ein enkelt API — bruk Standard preset for dei fleste bruksscenario, Advanced for full analyse med kledningsdeteksjon og audioeffektar
- **Scene → Shot → Keyframe-hierarkiet** er fundamentalt for temporal forståing — scener er semantiske einingar, shots er kamera-einingar, keyframes er representative stillbilete

View file

@ -19,7 +19,7 @@
- [Implementeringsmønstre](#implementeringsmønstre)
- [Norsk offentleg sektor](#norsk-offentleg-sektor)
- [Beslutningsrammeverk](#beslutningsrammeverk)
- [For Cosmo](#for-cosmo)
- [For arkitekten](#for-arkitekten)
## Introduksjon
@ -506,7 +506,7 @@ Azure OpenAI sitt innhaldsfiltreringssystem gjeld **ikkje** for Whisper-modellen
---
## For Cosmo
## For arkitekten
- **Azure OpenAI Whisper** er enklast for filbasert transkripsjon under 25 MB — bruk `language: "no"` for norsk og `response_format: "verbose_json"` for tidsstempel på ord- og segmentnivå
- **Azure AI Speech er meir kraftig** for produksjonsscenario — sanntidstranskripsjon, speaker diarization, batch-prosessering av store filer, og Custom Speech for domene-tilpassing