From 20c1be65313b66f6d7bffeb7757d25b2e818dcf2 Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Thu, 18 Jun 2026 17:50:06 +0200 Subject: [PATCH] =?UTF-8?q?fix(ms-ai-architect):=20#7c=20wire=20foreldrel?= =?UTF-8?q?=C3=B8se=20deliverable-KB=20=E2=80=94=20nye=20kommandoer=20busi?= =?UTF-8?q?nesscase=20+=20anskaffelse=20(I)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audit P2 I. 6 foreldreløse deliverable-KB-er surfaces nå (var skrevet/betalt for, ikke nåbare). Operatørvalg: dedikerte kommandoer (audit-primær), ikke kun dokumentasjon. Telling 25→27 kommandoer. Nye kommandoer: - businesscase.md → samfunnsokonomisk-analyse-nnv.md + gevinstrealisering-dfo-methodology.md (NNV + DFØ 5-stegs gevinst) - anskaffelse.md → anskaffelser-ai-procurement-framework.md (kravspec, leverandørevaluering, terskelverdi) Utvidet eksisterende: - compare.md: weighted multi-kriterie-modus (alternativanalyse-methodology.md) ved 3+ alternativer / --weighted - cost.md: kapasitet-/gjennomførbarhetssteg (gpu-compute-sizing.md + capacity-feasibility-benchmarks.md) ved --capacity De-orphaning (kb-integrity måler orphan via SKILL.md/agents, ikke kommandofiler): - ms-ai-governance/SKILL.md: ny seksjon 1.4 Beslutningsgrunnlag (3 referanser) - ms-ai-advisor/SKILL.md: alternativanalyse + capacity-feasibility - ms-ai-security/SKILL.md: gpu-compute-sizing → alle 6 de-orphaned (kb-integrity warnings 268→262) Registrering/docs: help.md + README + CLAUDE.md-tabell + playground-katalog (2 produces_report:false- oppføringer, gjenbruker ikke 14-parser/17-renderer-kanonen) + docs/playground.md (25→27) + test 25→27. validate 231 PASS · playground v3 221 PASS · e2e alle suiter · kb-integrity 115/115 — 0 FAIL overalt. NB: README:358/418/427 har pre-eksisterende «24 commands»-drift (uavhengig av denne endringen) — flagget for #8. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ --- CLAUDE.md | 2 + README.md | 2 + commands/anskaffelse.md | 73 +++++++++++++++++++++ commands/businesscase.md | 76 ++++++++++++++++++++++ commands/compare.md | 17 +++++ commands/cost.md | 15 +++++ commands/help.md | 2 + docs/playground.md | 4 +- playground/ms-ai-architect-playground.html | 46 ++++++++++++- skills/ms-ai-advisor/SKILL.md | 2 + skills/ms-ai-governance/SKILL.md | 12 ++++ skills/ms-ai-security/SKILL.md | 1 + tests/test-playground-v3.sh | 8 +-- 13 files changed, 252 insertions(+), 8 deletions(-) create mode 100644 commands/anskaffelse.md create mode 100644 commands/businesscase.md diff --git a/CLAUDE.md b/CLAUDE.md index cf75447..4c3d153 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,11 +24,13 @@ Tilbyr strukturert arkitekturveiledning for Microsoft AI-stakken: | `/architect:compare` | Sammenlign Microsoft AI-plattformer for et gitt scenario | | `/architect:security` | Sikkerhets- og compliance-vurdering (6 dimensjoner) | | `/architect:cost` | Kostnadsestimat med konfidensgradering (NOK) | +| `/architect:businesscase` | Forretningscase: NNV (netto nåverdi) + DFØ-gevinstrealisering | | `/architect:adr` | Generer Architecture Decision Record (MADR v3.0) | | `/architect:research` | Utforsk siste nytt for en Microsoft AI-plattform | | `/architect:poc` | Generer POC-plan med suksesskriterier og risiko | | `/architect:license` | Kartlegg AI-kapabiliteter per lisenstype | | `/architect:migrate` | Planlegg migrasjon mellom plattformer | +| `/architect:anskaffelse` | AI-anskaffelse: kravspesifikasjon, leverandørevaluering, terskelverdier | | `/architect:utredning` | AI-arkitekturutredning for norsk offentlig sektor | | `/architect:diagram` | Generer arkitekturdiagram med Imagen 3 (mcp-image) | | `/architect:review` | Kjør arkitekturgjennomgang mot norske offentlig sektor-krav | diff --git a/README.md b/README.md index 188ceb9..92872d8 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ Cosmo will ask clarifying questions about your business need, licenses, data sou | `/architect:ros` | Risk and Vulnerability Analysis (ROS) with 7 dimensions and AI threat library | | `/architect:security` | Security and compliance assessment (6-dimension scoring) | | `/architect:cost` | Cost estimate with confidence grading in NOK | +| `/architect:businesscase` | Business case with net present value (NPV) and DFØ benefits realization | | `/architect:review` | Architecture review against Norwegian public sector requirements | | `/architect:dpia` | DPIA/PVK for an AI system with risk matrix and mitigation table | | `/architect:license` | Map AI capabilities per license type (E3, E5, F1, G5, etc.) | @@ -140,6 +141,7 @@ Cosmo will ask clarifying questions about your business need, licenses, data sou | `/architect:utredning` | Full AI architecture investigation for Norwegian public sector | | `/architect:poc` | Generate POC plan with success criteria and risk assessment | | `/architect:migrate` | Plan migration between Microsoft AI platforms | +| `/architect:anskaffelse` | AI procurement plan — requirements spec, vendor evaluation, thresholds | ### Setup & Maintenance diff --git a/commands/anskaffelse.md b/commands/anskaffelse.md new file mode 100644 index 0000000..924ee80 --- /dev/null +++ b/commands/anskaffelse.md @@ -0,0 +1,73 @@ +--- +name: architect:anskaffelse +description: Anskaffelsesplan for AI — kravspesifikasjon, leverandørevaluering og terskelverdier +argument-hint: "[hva som skal anskaffes]" +allowed-tools: Read, Glob, Grep, Task, Write, mcp__microsoft-learn__microsoft_docs_search +model: opus +--- + +# /architect:anskaffelse - AI-anskaffelse + +Du er Cosmo Skyberg i en anskaffelsesrolle. Hjelp brukeren å planlegge en AI-anskaffelse i norsk offentlig sektor — forankret i anskaffelsesloven/-forskriften, EØS-regelverket og DFØs veiledning for IT-anskaffelser. + +## Språk og encoding + +**VIKTIG:** Bruk norske tegn (æ, ø, å) korrekt i all output. Norsk prosa, engelske fagtermer der naturlig. + +## Instruksjoner + +### 1. Parse input + +Ekstraher hva som skal anskaffes (AI-tjeneste, plattform, konsulentbistand, ferdig løsning). + +### 2. Samle kontekst + +Spør om nøkkelinformasjon hvis ikke kjent: +- **Estimert verdi** (avgjør prosedyre + terskelverdi) +- **Type:** vare/tjeneste, rammeavtale, utvikling, SaaS +- **Databehandling:** personopplysninger? særlige kategorier? dataresidens-krav? +- **Eksisterende rammeavtaler** (f.eks. statens, Sykehusinnkjøp, egne) + +### 3. Les kunnskapsbasen + +- `skills/ms-ai-governance/references/norwegian-public-sector-governance/anskaffelser-ai-procurement-framework.md` — lovgrunnlag (anskaffelsesloven/-forskriften), EØS-regelverk, AI-spesifikk kravspesifikasjon, leverandørevaluering, etiske krav, DFØs IT-anskaffelsesveiledning + +For AI Act-deployer-/transparenskrav som skal inn i kravspec: koble til `/architect:requirements` og `/architect:classify`. + +### 4. Bygg anskaffelsesplanen + +**A. Prosedyrevalg og terskelverdi:** Fastslå anvendelig prosedyre ut fra estimert verdi (under/over EØS-terskel) per kunnskapsbasen — marker hvilken terskel som gjelder og hvorfor. + +**B. AI-spesifikk kravspesifikasjon:** +- Funksjonelle krav + ytelseskrav (nøyaktighet, latens, oppetid) +- Datakrav: residens, eierskap, sletting, sub-prosessorer (koble til DPIA/TIA) +- Transparens/forklarbarhet (AI Act Art. 13/50 der relevant) +- Sikkerhet (NSM, ISO 27001), exit/portabilitet + +**C. Tildelingskriterier + evalueringsmodell:** + +| Kriterium | Vekt | Målemetode | +|-----------|------|------------| +| Pris/TCO | X % | … | +| Kvalitet/ytelse | X % | … | +| Sikkerhet & personvern | X % | … | +| Leveranseevne | X % | … | + +**D. Etiske krav** (per kunnskapsbasen): ansvarlig AI, bias-testing, menneskelig tilsyn — som kontraktsvilkår. + +**E. Risiko & oppfølging:** leverandørlåsing, restoverføringer (Schrems II/TIA), kontraktsoppfølging. + +### 5. Lever + +Tilby: +- Skriv til fil (foreslå `docs/anskaffelse/ANSK-[slug].md`) +- `/architect:requirements` — AI Act-krav inn i kravspec +- `/architect:dpia` — personvern + cross-border-TIA før kontrakt +- `/architect:businesscase` — økonomisk grunnlag for anskaffelsen + +## Retningslinjer + +- Marker eksplisitt hvilken **terskelverdi/prosedyre** som gjelder — usikkerhet her er kostbar +- Skill mellom **må-krav** (absolutte) og **bør-krav** (tildelingskriterier) +- Ingen salgsspråk; etterprøvbart og klagebestandig +- Henvis til kilde (anskaffelsesloven/-forskriften, DFØ) ved konkrete krav diff --git a/commands/businesscase.md b/commands/businesscase.md new file mode 100644 index 0000000..9dc4462 --- /dev/null +++ b/commands/businesscase.md @@ -0,0 +1,76 @@ +--- +name: architect:businesscase +description: Forretningscase med NNV (netto nåverdi) og DFØ-gevinstrealisering for et AI-prosjekt +argument-hint: "[prosjektnavn] over [N] år" +allowed-tools: Read, Glob, Grep, Task, Write, mcp__microsoft-learn__microsoft_docs_search +model: opus +--- + +# /architect:businesscase - Forretningscase (NNV + gevinstrealisering) + +Du er Cosmo Skyberg i en økonomisk beslutningsrolle. Bygg et forretningscase for et AI-prosjekt i norsk offentlig sektor, forankret i samfunnsøkonomisk analyse (netto nåverdi) og DFØs gevinstrealiseringsmetodikk. Dette er beslutningsgrunnlag som skal tåle en styre- eller revisjonsgjennomgang. + +## Språk og encoding + +**VIKTIG:** Bruk norske tegn (æ, ø, å) korrekt i all output. Norsk prosa, engelske fagtermer der naturlig. + +## Instruksjoner + +### 1. Parse input + +Ekstraher: +- **Prosjektnavn** — hva som vurderes +- **Analyseperiode** — antall år (default 5) + +### 2. Samle kontekst + +Spør om nøkkeltall hvis ikke allerede kjent: +- **Investering:** engangskostnad (utvikling, anskaffelse, opplæring) +- **Driftskostnader:** årlige (lisenser, AI-tjenester, forvaltning) +- **Gevinster:** tidsbesparelse, kvalitetsheving, unngåtte kostnader — prissatte og ikke-prissatte +- **Kalkulasjonsrente:** default 4 % (DFØ/Finansdepartementet) +- **Gevinsteier:** hvem realiserer og følger opp gevinstene + +### 3. Les kunnskapsbasene + +- `skills/ms-ai-governance/references/norwegian-public-sector-governance/samfunnsokonomisk-analyse-nnv.md` — NNV-formel, kalkulasjonsrente, diskonteringsfaktorer, skattefinansieringskostnad, prissatte vs. ikke-prissatte virkninger +- `skills/ms-ai-governance/references/norwegian-public-sector-governance/gevinstrealisering-dfo-methodology.md` — DFØs 5-stegs modell + gevinstregister-mal + +For selve kostnadsestimatet: deleger til `/architect:cost` eller `cost-estimation-agent` og bruk resultatet som input til NNV-en. + +### 4. Bygg forretningscaset + +**A. NNV-beregning** (per kunnskapsbasen): +- Sett opp kontantstrøm per år (investering, drift, prissatte gevinster) +- Diskontér med kalkulasjonsrente (4 %), inkludér skattefinansieringskostnad der relevant +- Beregn netto nåverdi + tilbakebetalingstid + +| År | Investering | Drift | Prissatt gevinst | Netto | Diskontert (4 %) | +|----|-------------|-------|------------------|-------|------------------| +| 0 | X | – | – | –X | –X | +| 1–N | … | … | … | … | … | +| **NNV** | | | | | **X** | + +**B. Ikke-prissatte virkninger:** Vurder kvalitativt (rettssikkerhet, brukertilfredshet, omdømme) — pluss/minus-skala, ikke kroner. + +**C. Gevinstregister** (DFØs 5-stegs modell): + +| Gevinst | Type | Måleindikator | Baseline | Mål | Gevinsteier | Realiseringstidspunkt | +|---------|------|---------------|----------|-----|-------------|----------------------| + +**D. Følsomhetsanalyse:** Vis NNV ved ±20 % på de mest usikre forutsetningene. + +### 5. Lever + +Tilby: +- Skriv til fil (foreslå `docs/businesscase/BC-[slug].md`) +- `/architect:cost` — forankre kostnadssiden +- `/architect:adr` — dokumentér investeringsbeslutningen +- `/architect:utredning` — hvis dette inngår i en full utredning + +## Retningslinjer + +- Skill alltid mellom **prissatte** (kroner, i NNV) og **ikke-prissatte** (kvalitativt) virkninger +- Marker forutsetninger eksplisitt — et forretningscase er bare så godt som sine antakelser +- Ingen salgsspråk; nøktern, etterprøvbar økonomi +- Konfidensgrader gevinstanslagene (🟢/🟡/🔴) diff --git a/commands/compare.md b/commands/compare.md index d9002cc..d5b2f1b 100644 --- a/commands/compare.md +++ b/commands/compare.md @@ -45,6 +45,7 @@ Bruk microsoft_docs_search for begge plattformer." Les også relevant kunnskapsbase: - `skills/ms-ai-advisor/references/architecture/decision-trees.md` — beslutningsrammeverk - Les plattformfil(er) relevant for sammenligningen fra `skills/ms-ai-advisor/references/platforms/` (max 2-3 filer) +- **Ved 3+ alternativer eller `--weighted`:** `skills/ms-ai-advisor/references/architecture/alternativanalyse-methodology.md` — vektet multi-kriterie-analyse (scoringsskala, standardkriterier, vekting, begrunnelsestabell) ### 3. Bygg sammenligning @@ -71,6 +72,22 @@ Presenter resultatet som: - Kan plattformene brukes sammen? - Migrasjonsvei mellom dem? +### 3b. Vektet sammenligning (multi-kriterie — ved 3+ alternativer eller `--weighted`) + +Når valget skal tåle en anskaffelsesklage eller styre-utfordring, holder ikke en bar pros/cons-tabell. Bruk `alternativanalyse-methodology.md` og bygg et vektet scorecard: + +| Kriterium | Vekt | [Alt A] (1-5) | [Alt B] (1-5) | [Alt C] (1-5) | +|-----------|------|---------------|---------------|---------------| +| Funksjonell dekning | X % | | | | +| Sikkerhet & compliance | X % | | | | +| Kostnad/TCO | X % | | | | +| Leveranseevne/modenhet | X % | | | | +| **Vektet totalscore** | 100 % | **X,X** | **X,X** | **X,X** | + +- Bruk standardkriteriene + foreslåtte vekter fra metodikken; juster vekter eksplisitt og begrunn justeringen. +- **Begrunnelsestabell er obligatorisk** — hver score skal ha én linje som forklarer hvorfor (etterprøvbarhet). +- Inkludér **0-alternativet** (ikke gjøre noe) som referanse. + ### 4. Anbefaling Gi en klar anbefaling med begrunnelse: diff --git a/commands/cost.md b/commands/cost.md index 06c57c4..4c8c56b 100644 --- a/commands/cost.md +++ b/commands/cost.md @@ -27,6 +27,10 @@ Hvis informasjon mangler, spør brukeren om nøkkeltall. Les `skills/ms-ai-advisor/references/architecture/cost-models.md` for baseline-priser per plattform. Les `skills/ms-ai-security/references/cost-optimization/deterministic-cost-calculation-model.md` for enhetspriser, beregningsformler og P10/P50/P90 konfidensintervaller. +**Ved selvhostede modeller / GPU-inferens eller `--capacity`:** Les også +- `skills/ms-ai-security/references/performance-scalability/gpu-compute-sizing.md` — GPU VM-serier, modellstørrelse→GPU-krav, minnebudsjett, batch/throughput +- `skills/ms-ai-advisor/references/architecture/capacity-feasibility-benchmarks.md` — kompetanse-gap-matrise + tidsplan-validering mot bransjebenchmarks + ### 3. Deleger estimering Bruk Task-verktøyet til å lansere `cost-estimation-agent`: @@ -79,11 +83,22 @@ Verifiser priser via microsoft_docs_search." - Smaller models for enkle oppgaver (GPT-4o-mini vs GPT-4o) - Reserved capacity for forutsigbar last +### 4b. Kapasitet og gjennomførbarhet (betinget — selvhostet/GPU eller `--capacity`) + +For selvhostede modeller eller GPU-inferens, dimensjonér compute før du priser: +- **GPU-sizing:** velg VM-serie ut fra modellstørrelse og minnebudsjett (`gpu-compute-sizing.md`); oppgi antatt batch size og throughput-mål, og hvordan det driver antall instanser. +- **Gjennomførbarhet:** valider kompetanse (gap-matrise) og tidsplan mot bransjebenchmarks (`capacity-feasibility-benchmarks.md`) — et estimat som ignorerer kompetansegap er ikke realistisk. + +| Komponent | Modell/krav | GPU VM-serie | Instanser | Månedlig (NOK) | +|-----------|-------------|--------------|-----------|-----------------| +| Inferens | … | … | … | … | + ### 5. Neste steg Tilby: - `/architect:compare` — sammenlign med alternativ plattform - `/architect:license` — detaljert lisensanalyse +- `/architect:businesscase` — NNV/gevinst med dette estimatet som input - Justere estimat med andre parametere ## Retningslinjer diff --git a/commands/help.md b/commands/help.md index ceb1918..b3be442 100644 --- a/commands/help.md +++ b/commands/help.md @@ -23,11 +23,13 @@ Presenter følgende oversikt til brukeren i et ryddig, tabellbasert format. | `/architect:compare` | Sammenlign Microsoft AI-plattformer for et gitt scenario | | `/architect:security` | Kjør sikkerhets- og compliance-vurdering | | `/architect:cost` | Estimer kostnader for en foreslått arkitektur | +| `/architect:businesscase` | Forretningscase med NNV og DFØ-gevinstrealisering | | `/architect:adr` | Opprett en Architecture Decision Record (ADR) | | `/architect:research` | Dypdykk i et spesifikt Microsoft AI-tema | | `/architect:poc` | Generer en POC-plan med evalueringskriterier | | `/architect:license` | Kartlegg lisensbehov for en løsning | | `/architect:migrate` | Planlegg migrasjonssti mellom plattformer | +| `/architect:anskaffelse` | AI-anskaffelse — kravspesifikasjon, leverandørevaluering, terskelverdier | | `/architect:utredning` | AI-arkitekturutredning v2 — fil-basert orkestrering, TeamCreate, 3-fase KOMPLEKS | | `/architect:review` | Kjør arkitekturgjennomgang mot norske offentlig sektor-krav | | `/architect:diagram` | Generer arkitekturdiagram med Imagen 3 | diff --git a/docs/playground.md b/docs/playground.md index 9b08a26..abcf63c 100644 --- a/docs/playground.md +++ b/docs/playground.md @@ -7,7 +7,7 @@ Erstatter v2 5-stegs-pipelinen med en multi-surface-app som persisterer state og **v1.15.0 (sesjon 5 av ~8 i v2-prosjektet):** Project-surface byttet fra v2 `renderProjectSurface` (screen-tabs + category-tabs + per-command paste-cards) til v3 `renderProjectView` (sidebar med 17 artifacts + main-area + import-modal overlay). `renderActive()` ruter `project`-surface til `renderProjectSurfaceV3()` som wrapper renderProjectView + topbar + app-shell. V2-surface helt fjernet: `renderProjectSurface` (152 linjer), `renderCommandSubCard` (87 linjer), `rehydratePasteImports` (15 linjer), `currentProjectScreen`, `ACTIONS['project-screen']`, 5 v2-CSS-klasser. Zombie-handlers beholdt for test-back-compat: `currentProjectTab`, `ACTIONS['project-tab']`, `ACTIONS['parse']`, `handlePasteImport`, `window.__handlePasteImport`. 2 fingerprint-gap lukket: requirements.headers + license.headers. `migrateDataVersion` utvidet med `parserFor` → demo-state (kun `raw_markdown`) auto-parses til `project.artifacts[cid]`. Ship-QA-bugfixes: `components-tier4-project-view.css` lagt til i ``-kjeden (manglet → modal-overlay og two-column layout virket ikke); `renderImportModal` setter `data-open="true"` (DS-kontrakt). - **Fil:** `playground/ms-ai-architect-playground.html` (~3870+ linjer, single-file v3-arkitektur) -- **4 surfaces:** Onboarding (18 felles felt — 4 strukturerte / 14 fritekst etter v1.10.0) → Home (prosjekt-liste + 3 entry-tracks) → Catalog (25 commands gruppert i 5 expansion-grupper med søk) → **Project v3** (sidebar med 17 artifacts gruppert i 4 kategorier + søk + main-area med per-artifact view eller overview med top-risks/next-actions + import-modal som DS-overlay) +- **4 surfaces:** Onboarding (18 felles felt — 4 strukturerte / 14 fritekst etter v1.10.0) → Home (prosjekt-liste + 3 entry-tracks) → Catalog (27 commands gruppert i 5 expansion-grupper med søk) → **Project v3** (sidebar med 17 artifacts gruppert i 4 kategorier + søk + main-area med per-artifact view eller overview med top-risks/next-actions + import-modal som DS-overlay) - **Persistens:** IndexedDB-primær med localStorage-fallback. Schema-versjonert (`STATE_KEY = 'ms-ai-architect-state-v1'`) med eager `MIGRATIONS`-pipeline. v1.10.0 introduserer `dataVersion v1→v2`-migrasjon (idempotent) som backfill-er `verdict`+`keyStats`. - **17 rapport-renderers (felles grunnskjelett):** Alle wrapper output via `renderPageShell()` med eyebrow + h1 + valgfri verdict-pill + valgfri key-stats-grid + arketype-spesifikk body. Parser → struktur → HTML rutet via kanonisk archetype-routing-tabell. - **Foundation-helpers:** `renderPageShell`, `renderVerdictPill`, `renderKeyStatsGrid`, `inferVerdict`, `inferKeyStats`, `KEY_STATS_CONFIG`. @@ -19,7 +19,7 @@ Erstatter v2 5-stegs-pipelinen med en multi-surface-app som persisterer state og | Test | Kommando | Dekning | |------|----------|---------| -| Statisk struktur | `bash tests/test-playground-v3.sh` | 219 PASS, 2 WARN (pre-eks.) — vendored CSS, surfaces, 25 commands, 14 parsere, 17 renderers via PROJECT_VIEW_CONFIG.renderers-routing, action-handlers | +| Statisk struktur | `bash tests/test-playground-v3.sh` | 219 PASS, 2 WARN (pre-eks.) — vendored CSS, surfaces, 27 commands, 14 parsere, 17 renderers via PROJECT_VIEW_CONFIG.renderers-routing, action-handlers | | Parser-fixtures | `bash tests/test-playground-parsers.sh` | 70 PASS — 17 fixtures × parser-routing | | Migrasjon | `bash tests/test-playground-migrations.sh` | 16 PASS — v1→v2 + v2→v3 idempotent migrasjon | | Fingerprints | `bash tests/test-playground-fingerprints.sh` | 32 PASS — 17-fixture true-positive + 4 anti-match + API-sanity | diff --git a/playground/ms-ai-architect-playground.html b/playground/ms-ai-architect-playground.html index 382c6e2..f564ce4 100644 --- a/playground/ms-ai-architect-playground.html +++ b/playground/ms-ai-architect-playground.html @@ -1060,7 +1060,7 @@ ] }, - // ===== ECONOMY (2) ===== + // ===== ECONOMY (3) ===== { id: 'cost', category: 'economy', @@ -1103,7 +1103,49 @@ ] }, - // ===== DOCUMENTATION (6) ===== + { + id: 'businesscase', + category: 'economy', + label: 'Forretningscase (NNV + gevinst)', + description: 'Forretningscase med netto nåverdi og DFØ-gevinstrealisering.', + argument_hint: '[prosjektnavn] over [N] år', + calls_agent: null, + kb_files: ['samfunnsokonomisk-analyse-nnv.md', 'gevinstrealisering-dfo-methodology.md'], + produces_report: false, + report_archetype: null, + report_root_class: null, + renderer: null, + input_fields: [ + SHARED.organisation_name, + { id: 'project_name', label: 'Prosjektnavn', type: 'text', from: 'local' }, + { id: 'analysis_years', label: 'Analyseperiode (år)', type: 'number', from: 'local' }, + { id: 'investment', label: 'Investering (engangs, NOK)', type: 'number', from: 'local' }, + { id: 'annual_opex', label: 'Årlige driftskostnader (NOK)', type: 'number', from: 'local' }, + { id: 'expected_benefits', label: 'Forventede gevinster', type: 'textarea', from: 'local' } + ] + }, + + // ===== DOCUMENTATION (7) ===== + { + id: 'anskaffelse', + category: 'documentation', + label: 'AI-anskaffelse (kravspec + terskel)', + description: 'Anskaffelsesplan for AI: kravspesifikasjon, leverandørevaluering, terskelverdier.', + argument_hint: '[hva som skal anskaffes]', + calls_agent: null, + kb_files: ['anskaffelser-ai-procurement-framework.md'], + produces_report: false, + report_archetype: null, + report_root_class: null, + renderer: null, + input_fields: [ + SHARED.organisation_name, + SHARED.sector, + { id: 'procurement_object', label: 'Hva som skal anskaffes', type: 'textarea', from: 'local' }, + { id: 'estimated_value', label: 'Estimert verdi (NOK)', type: 'number', from: 'local' }, + { id: 'procurement_type', label: 'Type', type: 'select', from: 'local', options: ['Vare/tjeneste', 'Rammeavtale', 'Utvikling', 'SaaS'] } + ] + }, { id: 'migrate', category: 'documentation', diff --git a/skills/ms-ai-advisor/SKILL.md b/skills/ms-ai-advisor/SKILL.md index 050a8c6..09981ab 100644 --- a/skills/ms-ai-advisor/SKILL.md +++ b/skills/ms-ai-advisor/SKILL.md @@ -217,6 +217,8 @@ Du har tilgang til forhåndsresearchede kunnskapsbaser i `references/`-mappen: - `adr-template.md` - ADR-mal (MADR v3.0) - `diagram-prompt-templates.md` - Diagramprompts for Imagen 3 - `recommended-mcp-servers.md` - Anbefalte MCP-servere +- `alternativanalyse-methodology.md` - Vektet multi-kriterie-analyse (brukt av `/architect:compare --weighted`) +- `capacity-feasibility-benchmarks.md` - Kompetanse-gap + tidsplan-benchmarks (brukt av `/architect:cost --capacity`) - (+ øvrige filer i architecture/) **Utvikling (`references/development/`):** diff --git a/skills/ms-ai-governance/SKILL.md b/skills/ms-ai-governance/SKILL.md index c5c9ac2..6d9fd00 100644 --- a/skills/ms-ai-governance/SKILL.md +++ b/skills/ms-ai-governance/SKILL.md @@ -60,6 +60,18 @@ Key requirements for AI in administrative decisions: > **Reference:** `references/norwegian-public-sector-governance/forvaltningsloven-ai-decisions.md` +### 1.4 Beslutningsgrunnlag og anskaffelser + +Metodikk for å forankre AI-investeringer i samfunnsøkonomi, gevinstrealisering og offentlige anskaffelser. Brukes av `/architect:businesscase` og `/architect:anskaffelse`. + +- **Samfunnsøkonomisk analyse (NNV):** netto nåverdi, kalkulasjonsrente (DFØ/Finansdepartementet), prissatte vs. ikke-prissatte virkninger. +- **Gevinstrealisering:** DFØs 5-stegs modell + gevinstregister for AI-prosjekter. +- **AI-anskaffelser:** anskaffelsesloven/-forskriften, EØS-terskelverdier, AI-spesifikk kravspesifikasjon og leverandørevaluering. + +> **Reference:** `references/norwegian-public-sector-governance/samfunnsokonomisk-analyse-nnv.md` +> **Reference:** `references/norwegian-public-sector-governance/gevinstrealisering-dfo-methodology.md` +> **Reference:** `references/norwegian-public-sector-governance/anskaffelser-ai-procurement-framework.md` + --- ## 2. EU-regelverk diff --git a/skills/ms-ai-security/SKILL.md b/skills/ms-ai-security/SKILL.md index 5be3d24..bdda1e0 100644 --- a/skills/ms-ai-security/SKILL.md +++ b/skills/ms-ai-security/SKILL.md @@ -157,6 +157,7 @@ For detailed implementation guidance, see specific files in `references/performa - `auto-scaling-ai-infrastructure.md` — Scaling patterns - `rate-limit-management.md` — TPM/RPM quota management - `load-testing-ai-services.md` — Load testing methodology +- `gpu-compute-sizing.md` — GPU VM-sizing for selvhostet inferens (brukt av `/architect:cost --capacity`) --- diff --git a/tests/test-playground-v3.sh b/tests/test-playground-v3.sh index c2aed98..4b7fcff 100755 --- a/tests/test-playground-v3.sh +++ b/tests/test-playground-v3.sh @@ -138,7 +138,7 @@ for g in $EXPECTED_GLOBALS; do done # ------------------------------------------------------- -# 9. Alle 24 command-IDer fra commands/*.md referert i HTML +# 9. Alle command-IDer fra commands/*.md referert i HTML # ------------------------------------------------------- cmd_count=0 for f in "$PLUGIN_ROOT"/commands/*.md; do @@ -151,10 +151,10 @@ for f in "$PLUGIN_ROOT"/commands/*.md; do fail "Command-ID '${cmd_id}' mangler i v3 HTML" fi done -if [ "$cmd_count" -eq 25 ]; then - pass "25 command-filer funnet i commands/ (forventet 25)" +if [ "$cmd_count" -eq 27 ]; then + pass "27 command-filer funnet i commands/ (forventet 27)" else - fail "Forventet 25 command-filer, fant $cmd_count" + fail "Forventet 27 command-filer, fant $cmd_count" fi # -------------------------------------------------------