feat(ms-ai-architect): add plugin to open marketplace (v1.5.0 baseline)

Initial addition of ms-ai-architect plugin to the open-source marketplace.
Private content excluded: orchestrator/ (Linear tooling), docs/utredning/
(client investigation), generated test reports and PDF export script.
skill-gen tooling moved from orchestrator/ to scripts/skill-gen/.

Security scan: WARNING (risk 20/100) — no secrets, no injection found.
False positive fixed: added gitleaks:allow to Python variable reference
in output-validation-grounding-verification.md line 109.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-07 17:17:17 +02:00
commit 6a7632146e
490 changed files with 213249 additions and 2 deletions

View file

@ -0,0 +1,506 @@
# EU AI Act Integration Handover til Claude Code
**Dato:** 2026-02-22
**Formål:** Legg til full EU AI Act-støtte i ms-ai-architect plugin
**Prioritet:** P1 Frister nærmer seg (2. august 2026: høyrisiko-krav trer i kraft)
**Estimert arbeid:** 812 timers Claude Code-arbeid fordelt på 10 steg
---
## Kontekst
ms-ai-architect er en Claude Code-plugin for Microsoft AI-arkitektur i norsk offentlig sektor, primært brukt av KTG (AI-rådgiver, Statens vegvesen). Pluginen har allerede DPIA- og ROS-agenter. EU AI Act-støtte skal integreres som en **overordnet regulatory layer** som feeder inn i eksisterende arbeidsflyt.
**Logisk sekvens (uforanderlig):**
```
EU AI Act-klassifisering → DPIA (Art. 13/14 input) → ROS (dimensjon 6 input)
```
Eksisterende AI Act-kunnskap i pluginen:
- `skills/ms-ai-governance/references/responsible-ai/ai-act-compliance-guide.md`
- `skills/ms-ai-governance/references/responsible-ai/ai-act-annex-iii-checklist.md`
Disse er komplette og oppdaterte per feb 2026. Ikke overskriv dem.
---
## Implementeringsrekkefølge
### STEG 1: Opprett 7 nye KB-filer
Plassering: `skills/ms-ai-governance/references/responsible-ai/`
#### 1a. `ai-act-classification-methodology.md`
Systematisk metodikk for klassifisering i fire steg:
1. Forbudt praksis-sjekk (Annex II / Art. 5)
2. Generell AI-modell (GPAI) er det en grunnmodell/frontier model?
3. Høyrisiko-sjekk via Annex III (8 kategorier) og Annex I (produktsikkerhet)
4. Begrenset/minimal risiko (default)
For hvert steg: beslutningspunkter, terskelverdier, SVV-eksempler.
Inkluder: Annex III full liste på norsk med presiseringer for transport/infrastruktur-sektoren.
#### 1b. `ai-act-provider-obligations.md`
Forpliktelser for **tilbydere** (organisasjoner som utvikler/tilpasser AI-systemer):
- Art. 9: Risk management system
- Art. 10: Datakvalitetskrav
- Art. 11: Teknisk dokumentasjon (Annex IV-format)
- Art. 12: Logging og hendelsesregistrering
- Art. 13: Transparens og informasjon til brukere
- Art. 14: Menneskelig tilsyn (human oversight)
- Art. 15: Nøyaktighet, robusthet, cybersikkerhet
- Art. 1627: Kvalitetsstyring, samsvarsvurdering, CE-merking (relevant ved anskaffelse)
SVV-kontekst: Statens vegvesen er typisk **deployer**, ikke provider. Men ved intern utvikling på topp av Azure AI/Copilot Studio: provider-rolle.
#### 1c. `ai-act-deployer-obligations.md`
Forpliktelser for **deployere** (organisasjoner som tar i bruk AI-systemer):
- Art. 26: Deployerens forpliktelser
- Bruk i tråd med provider-instruksjoner
- Menneskelig tilsyn (Art. 26(2))
- Databehandlingsansvar ved trening på egne data
- Logging (Art. 26(5) 6 måneder minimum)
- Informasjon til berørte parter
- FRIA-plikt for offentlig sektor (Art. 27)
SVV som deployer: Copilot Studio-agenter, Azure AI Foundry-løsninger, M365 Copilot.
#### 1d. `ai-act-fria-template.md`
Fundamental Rights Impact Assessment **obligatorisk for offentlig sektor** (Art. 27).
Mal med følgende seksjoner:
1. Systembeskrivelse og formål
2. Grunnleggende rettigheter som kan påvirkes (GDPR Art. 1-katalog)
3. Berørte grupper (sårbare grupper, minoriteter, ansatte)
4. Sannsynlighet og alvorlighetsgrad per rettighet
5. Eksisterende beskyttelsestiltak
6. Restrisiko og konklusjon
7. Godkjenningsstatus og dato
Norsk kontekst: Datatilsynet veileder, Nkom koordinerer nasjonal håndhevelse.
#### 1e. `ai-act-conformity-assessment.md`
Samsvarsvurdering for høyrisiko-systemer:
- Intern (Art. 43(2)): Selvvurdering mot harmoniserte standarder → EU-deklarasjon
- Ekstern (Art. 43(1)): Krav til notifisert organ (visse Annex III-kategorier)
- Teknisk dokumentasjon (Annex IV) komplett sjekkliste
- EU-deklarasjon om samsvar mal
- Registrering i EU-databasen (Art. 49, plikt for offentlig sektor)
#### 1f. `ai-act-transparency-notices.md`
Mal for transparensnotiser per Art. 13 og 52:
- Art. 13: Informasjon til brukere av høyrisiko-systemer
- Formål og funksjonalitet
- Nøyaktighet og begrensninger
- Menneskelig tilsyn
- Kontaktinformasjon
- Art. 52(1): Notis til brukere av samtalesystemer (chatbots)
- Art. 52(3): Deepfake-merking
- Art. 50: GPAI-modeller krav til maskinlesbar metadata
SVV-eksempler: Chatbot på vegvesen.no, AI i saksbehandling.
#### 1g. `ai-act-microsoft-tools-mapping.md`
Kartlegging av Microsoft-verktøy mot AI Act-krav:
- **Purview Compliance Manager**: AI Act assessment template, kontroller, improvement actions
- **Azure AI Foundry / AI Reports**: Teknisk dokumentasjon, evaluering, monitoring
- **Priva**: FRIA-støtte, personvernvurdering, data mapping
- **Entra Agent ID**: Agentidentitet og sporbarhet (Art. 12 logging)
- **Azure Policy + Defender for Cloud**: Teknisk kontroll og compliance-bevis
- **Microsoft Copilot Studio**: Innebygde transparens-features, human handoff
---
### STEG 2: Opprett ai-act-assessor agent
Fil: `agents/ai-act-assessor.md`
```yaml
name: ai-act-assessor
description: EU AI Act-klassifisering og compliance-vurdering for AI-systemer i norsk offentlig sektor
model: claude-sonnet-4-5
tools:
- Read
- Glob
- Grep
- WebSearch
- mcp__microsoft-learn__microsoft_docs_search
- mcp__microsoft-learn__microsoft_docs_fetch
```
**Triggers:** "AI Act", "høyrisiko", "Annex III", "samsvarsvurdering", "conformity assessment", "FRIA", "transparensnotis", "risikoklassifisering"
**Arbeidsflyt:**
1. Les inn systemdokumentasjon fra bruker (navn, formål, brukere, teknologi)
2. Kjør klassifiseringssjekk: Forbudt → GPAI → Høyrisiko (Annex III) → Begrenset/Minimal
3. Fastslå rolle (provider/deployer/begge)
4. List konkrete forpliktelser basert på klassifisering og rolle
5. Lag tiltaksplan med prioritet og frist
6. Anbefal neste steg: DPIA (hvis persondata), ROS (alltid for høyrisiko)
**Output-format:**
```markdown
# EU AI Act Vurdering: [Systemnavn]
## Risikoklassifisering
**Klasse:** [Forbudt / Høyrisiko / Begrenset / Minimal]
**Hjemmel:** Annex III, kategori X [beskrivelse]
## Rolle
**SVV som:** [Provider / Deployer / Begge]
## Forpliktelser
### Umiddelbart (innen 2026-08-02)
...
### Kortfristet (innen 2027-08-02)
...
## Tiltaksplan
| Tiltak | Hjemmel | Ansvar | Frist | Status |
|--------|---------|--------|-------|--------|
...
## Anbefalte neste steg
- [ ] Kjør /architect:dpia AI Act Art. 13/14 er nå input
- [ ] Kjør /architect:ros AI Act-krav i dimensjon 6 (juridisk/regulatorisk)
- [ ] [Evt. /architect:frimpact for offentlig sektor]
```
**KB-routing:**
- Primary: `skills/ms-ai-governance/references/responsible-ai/` (alle 7 nye filer + eksisterende 2)
- Secondary: `skills/ms-ai-governance/` (øvrige governance-filer)
---
### STEG 3: Opprett 5 nye commands
#### 3a. `commands/architect-classify.md`
```yaml
name: architect:classify
description: Klassifiser AI-system mot EU AI Act (Annex II/III), tildel risikonivå
```
Prompt-struktur:
1. Be bruker om: systemnavn, formål, målgrupper, teknologi, sektortilhørighet
2. Kjør ai-act-assessor agent
3. Output: Klassifiseringsrapport med risikonivå og umiddelbare forpliktelser
#### 3b. `commands/architect-requirements.md`
```yaml
name: architect:requirements
description: Hent konkrete AI Act-krav basert på risikonivå og sektortilhørighet
```
Bruker oppgir: risikonivå, rolle (provider/deployer), sektor
Output: Prioritert kravliste med artikkelreferanser og Microsoft-verktøy-mapping
#### 3c. `commands/architect-transparency.md`
```yaml
name: architect:transparency
description: Generer Art. 13/52 transparensnotis for AI-system
```
Input: Systembeskrivelse, brukergrupper, risikoklasse
Output: Ferdig transparensnotis på norsk/bokmål, klar for publisering
#### 3d. `commands/architect-frimpact.md`
```yaml
name: architect:frimpact
description: Fundamental Rights Impact Assessment (Art. 27) obligatorisk for offentlig sektor
```
Workflow: Strukturert intervju → FRIA-rapport med risikovurdering per rettighet
Merk: Skal normalt kjøres ETTER /architect:classify bekrefter høyrisiko
#### 3e. `commands/architect-conformity.md`
```yaml
name: architect:conformity
description: Samsvarsvurdering (Art. 43) for høyrisiko AI-systemer sjekkliste og EU-deklarasjon
```
Output: Annex IV teknisk dokumentasjon sjekkliste + mal for EU-samsvarserklæring
---
### STEG 4: Oppdater eksisterende agenter
#### 4a. `agents/dpia-agent.md`
Legg til i agent-instruksjonene:
```
Hvis AI Act-klassifisering er utført (sjekk om bruker har output fra /architect:classify):
- Integrer Art. 13 (transparens) og Art. 14 (menneskelig tilsyn) som eksplisitte DPIA-tiltak
- Referér AI Act-klassifisering i DPIA-rapporten under "Tilknyttede rammeverk"
- Høyrisiko-klassifisering skjerper terskelen for "høy risiko" i DPIA-forstand
Hvis AI Act-klassifisering IKKE er utført:
- Spør om systemet er vurdert mot AI Act (kan være relevant)
- Fortsett DPIA uavhengig de er separate rettslige krav
```
#### 4b. `agents/ros-analysis-agent.md`
I dimensjon 6 (Juridisk og regulatorisk risiko), legg til:
```
EU AI Act spesifikke trusler:
- T6.4: Feilklassifisering av AI-system (feil risikonivå → manglende compliance)
- T6.5: Manglende teknisk dokumentasjon (Art. 11/Annex IV)
- T6.6: Utilstrekkelig logging og hendelsesregistrering (Art. 12/26)
- T6.7: Manglende FRIA for offentlig sektor (Art. 27)
- T6.8: Overskridelse av compliance-frister (2026-08-02, 2027-08-02)
- T6.9: Ulovlig AI-praksis iht. Art. 5 (forbud)
Sanksjonsnivåer (skjerper alvorlighetsgrad):
- Art. 5-brudd: Inntil 35 MEUR eller 7% av global omsetning
- Høyrisiko-brudd: Inntil 15 MEUR eller 3%
- Øvrige brudd: Inntil 7.5 MEUR eller 1%
```
#### 4c. `agents/architecture-review-agent.md`
Legg til i review-sjekklisten:
```
EU AI Act Conformity Check (kjøres automatisk hvis systemet er AI-basert):
□ Er systemet klassifisert mot Annex III?
□ Er SVVs rolle (provider/deployer) avklart?
□ Er teknisk dokumentasjon (Annex IV) påbegynt?
□ Er Art. 14 menneskelig tilsyn implementert i arkitekturen?
□ Er logging (Art. 12/26) designet inn ikke ettermontering?
□ Er FRIA planlagt (offentlig sektor, høyrisiko)?
□ Er transparensnotis (Art. 13) planlagt for brukergrensesnitt?
```
---
### STEG 5: Oppdater CLAUDE.md
Gjør følgende endringer i `CLAUDE.md`:
**A. Legg til i innledningsavsnittet** (etter "Tilbyr strukturert arkitekturveiledning..."):
```markdown
## Regulatorisk arbeidsflyt
Alltid i denne rekkefølgen:
1. **EU AI Act-klassifisering** (`/architect:classify`) fastslår risikonivå og forpliktelser
2. **DPIA** (`/architect:dpia`) hvis systemet behandler persondata; AI Act Art. 13/14 er input
3. **ROS-analyse** (`/architect:ros`) alltid for høyrisiko-systemer; AI Act dimensjon 6 er input
Grunnen: AI Act-klassifisering påvirker omfanget av både DPIA og ROS.
```
**B. Oppdater kommandotabellen** legg til 5 nye kommandoer:
| Kommando | Beskrivelse |
|----------|-------------|
| `/architect:classify` | EU AI Act-klassifisering: Fastslå risikonivå (forbudt/høyrisiko/begrenset/minimal) |
| `/architect:requirements` | Hent konkrete AI Act-krav basert på risikonivå og rolle |
| `/architect:transparency` | Generer Art. 13/52 transparensnotis på norsk |
| `/architect:frimpact` | Fundamental Rights Impact Assessment (obligatorisk offentlig sektor) |
| `/architect:conformity` | Samsvarsvurdering (Art. 43) sjekkliste og EU-samsvarserklæring |
**C. Oppdater agenttabellen** legg til ny agent:
| Agent | Formål | Modell |
|-------|--------|--------|
| `ai-act-assessor` | EU AI Act-klassifisering og compliance-vurdering | sonnet |
**D. Oppdater skills-tabellen** ms-ai-governance: 71 → 78 referansefiler
**E. Legg til seksjon "Viktige frister"** nederst i CLAUDE.md:
```markdown
## Viktige frister (EU AI Act)
| Dato | Krav |
|------|------|
| 2026-02-02 | Forbudt AI-praksis (Art. 5) i kraft |
| 2026-08-02 | GPAI-modell-krav i kraft |
| 2027-08-02 | Høyrisiko-krav (Annex III) i kraft |
| 2030-08-02 | Overgangsperiode for eksisterende systemer utløper |
Tilsynsmyndighet Norge: Nkom (koordinerende), Datatilsynet (personvern), sektorspesifikke myndigheter.
```
---
### STEG 6: Oppdater hooks
#### 6a. `hooks/session-start-context.mjs`
Legg til AI Act-fristsjekk i SessionStart-hook:
```javascript
// AI Act deadline warning
const today = new Date();
const deadline1 = new Date('2026-08-02');
const daysToDeadline1 = Math.ceil((deadline1 - today) / (1000 * 60 * 60 * 24));
if (daysToDeadline1 > 0 && daysToDeadline1 <= 180) {
console.log(`⚠️ EU AI Act: ${daysToDeadline1} dager til høyrisiko-krav (2026-08-02)`);
}
```
#### 6b. `hooks/stop-assessment-reminder.mjs`
Legg til i Stop-hook (assessment reminder):
```javascript
// Sjekk om AI Act-vurdering bør kjøres
const aiActKeywords = ['AI-system', 'agent', 'copilot', 'modell', 'prediksjon', 'automatisering'];
const hasAiContext = aiActKeywords.some(kw => conversationContext.includes(kw));
if (hasAiContext && !conversationContext.includes('AI Act')) {
console.log('💡 Tips: Vurdere /architect:classify for EU AI Act-klassifisering?');
}
```
---
### STEG 7: Oppdater playground
Fil: `playground/azure-ai-playground.html`
I steg 3 (Konfigurer) legg til ny seksjon "Regulatory Compliance":
```html
<div class="compliance-section">
<h4>EU AI Act</h4>
<label>
<input type="checkbox" id="ai-act-classify">
Klassifiser mot Annex III (kjør /architect:classify)
</label>
<label>
<input type="checkbox" id="ai-act-fria">
FRIA obligatorisk (offentlig sektor + høyrisiko)
</label>
<label>
<input type="checkbox" id="ai-act-transparency">
Transparensnotis (Art. 13/52)
</label>
</div>
```
I eksport-formater (steg 5) legg til AI Act-output alternativ:
- "AI Act Assessment Report (Markdown)"
- "Conformity Assessment Record (JSON)"
---
### STEG 8: Opprett tester
#### 8a. `tests/fixtures/ai-act/fixture.md`
Test-case: Fiktivt AI-system hos SVV
```markdown
# Test-system: FartsPrediksjonsagent
Formål: Predikere trafikkfart på E6 ved hjelp av historisk og sanntids-data
Teknologi: Azure Machine Learning, python-modell, REST API
Brukere: Intern trafikkovervåking, ingen direkte borgerinteraksjon
Data: GPS-data fra biler, kameraer, sensorer (anonymisert)
Sektor: Transport og infrastruktur
```
Forventet output: Klassifisert som "Begrenset/Minimal" (ikke Annex III, ikke direkte borgerimpakt)
#### 8b. `tests/fixtures/ai-act/fixture-high-risk.md`
Test-case: Høyrisiko-system
```markdown
# Test-system: AutomatiskSaksbehandler
Formål: Automatisk vurdering av dispensasjonssøknader (kjøretillatelser)
Teknologi: Azure OpenAI GPT-4, Copilot Studio
Brukere: Borgere sender søknad, AI gir innstilling til saksbehandler
Data: Persondata, helseopplysninger (ved dispensasjon)
Sektor: Offentlig forvaltning
```
Forventet output: Høyrisiko (Annex III, kategori 5: offentlige tjenester og ytelser)
#### 8c. `tests/test-ai-act-output.sh`
```bash
#!/bin/bash
# Test EU AI Act assessment output quality
echo "=== AI Act Output Test ==="
# Test 1: Klassifisering minimal risiko
echo "Test 1: Minimal risiko-klassifisering..."
# [implementer test]
# Test 2: Klassifisering høyrisiko
echo "Test 2: Høyrisiko-klassifisering..."
# [implementer test]
# Test 3: FRIA-trigger ved høyrisiko + offentlig sektor
echo "Test 3: FRIA-trigger..."
# [implementer test]
echo "=== Done ==="
```
#### 8d. Oppdater `tests/run-e2e.sh`
Legg til AI Act test-suite som del av end-to-end:
```bash
echo "Running AI Act assessment suite..."
bash tests/test-ai-act-output.sh
```
---
### STEG 9: Kjør validate-plugin.sh
```bash
cd /Users/ktg/.claude/plugins/marketplaces/ktg-privat/plugins/ms-ai-architect
bash tests/validate-plugin.sh
```
Forventede advarsler (akseptable):
- Nye commands mangler i CLAUDE.md kommandotabell INNTIL steg 5 er fullført
---
### STEG 10: Kjør run-e2e.sh
```bash
bash tests/run-e2e.sh
```
Verifiser at alle eksisterende tester fortsatt passerer.
---
## Kritiske hensyn
1. **Sekvens er uforanderlig**: AI Act → DPIA → ROS. Aldri omgå dette.
2. **SVV er typisk deployer**, ikke provider. Men ved intern utvikling (Copilot Studio-agenter bygget internt): provider-rolle. Agenten skal avklare dette eksplisitt.
3. **FRIA er obligatorisk for offentlig sektor** ved høyrisiko-systemer. Ikke valgfritt.
4. **Fristen 2026-08-02 er 162 dager unna** (per 2026-02-22). SVV må ha klassifisert alle høyrisiko-systemer og ha GPAI-compliance på plass innen da.
5. **Ikke overskriv eksisterende KB-filer**: `ai-act-compliance-guide.md` og `ai-act-annex-iii-checklist.md` er komplette. Referer til dem, ikke erstatt dem.
6. **ms-ai-governance skills** skal oppgraderes: Oppdater manifest/teller fra 71 til 78 referansefiler etter at 7 nye filer er opprettet.
7. **Norsk språk**: All output til sluttbrukere skal være på norsk/bokmål. Interne agent-instruksjoner kan være på engelsk.
---
## Referanser
- EU AI Act (Regulation 2024/1689): https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689
- Nkom norsk tilsynsmyndighet: https://www.nkom.no/aktuelt/nyheter/nkom-koordinerer-eu-ai-act-i-norge
- Datatilsynet AI Act-veileder: https://www.datatilsynet.no/regelverk-og-verktoy/veiledere/kunstig-intelligens/
- Microsoft AI Act: https://learn.microsoft.com/en-us/azure/compliance/offerings/offering-eu-ai-act
- Purview Compliance Manager AI Act template: https://learn.microsoft.com/en-us/purview/compliance-manager-templates-list
---
*Handover opprettet: 2026-02-22 av Claude Sonnet 4.6 i Claude.ai Desktop*
*Plugin-versjon: Se CHANGELOG.md*