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:
parent
a8d79e4484
commit
6a7632146e
490 changed files with 213249 additions and 2 deletions
506
plugins/ms-ai-architect/docs/eu-ai-act-integration-handover.md
Normal file
506
plugins/ms-ai-architect/docs/eu-ai-act-integration-handover.md
Normal 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:** 8–12 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. 16–27: 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*
|
||||
172
plugins/ms-ai-architect/docs/gap-analysis-2026-02.md
Normal file
172
plugins/ms-ai-architect/docs/gap-analysis-2026-02.md
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
# Gap-analyse: Microsoft AI-kapabiliteter vs KB
|
||||
|
||||
**Dato:** 2026-02-18
|
||||
**Scope:** ms-ai-architect-plugin KB (364 filer, 20 kategorier, 62 playground-items)
|
||||
**Metode:** MCP-research (microsoft-learn) + WebSearch (feb 2026)
|
||||
**Formål:** Identifisere gaps mellom faktiske Microsoft AI-kapabiliteter og pluginens kunnskapsbase
|
||||
|
||||
---
|
||||
|
||||
## A. Helt nye domener som mangler i KB (kritiske gaps)
|
||||
|
||||
Nye tjenester og kapabiliteter annonsert/lansert etter siste KB-oppdatering (jan 2026).
|
||||
|
||||
| # | Gap | Hva det er | Kilde/Tidspunkt | Prioritet |
|
||||
|---|-----|-----------|-----------------|-----------|
|
||||
| 1 | **Entra Agent ID + Registry** | Identitetsstyring for AI-agenter. Zero Trust-prinsipper for agent-identiteter. Agent Registry for livssyklushåndtering. | Ignite nov 2025 | **P1** |
|
||||
| 2 | **Security Copilot (inkl. i E5)** | 12 innebygde security-agenter for trusseletterforskning, identitetsanalyse, sårbarhetshåndtering. Inkludert i M365 E5 fra nov 2025. | GA nov 2025 | **P1** |
|
||||
| 3 | **GPT-5-serien** | Neste generasjon: gpt-5 (flaggskip), gpt-5-mini (kostnadseffektiv), gpt-5-nano (on-device), gpt-5-chat (samtalefokusert). | GA aug 2025 | **P1** |
|
||||
| 4 | **GPT-4.1-serien** | Mellomgenerasjon: gpt-4.1, gpt-4.1-mini, gpt-4.1-nano. Optimert for kode og instruksjonsfølging. | GA apr 2025 | **P1** |
|
||||
| 5 | **Foundry Agent Service (GA)** | Managed multi-agent runtime med persistent workflows, error recovery, inter-agent kommunikasjon. MCP og A2A-protokollstøtte. | GA mai 2025 | **P1** |
|
||||
| 6 | **Computer-Using Agents (CUA)** | Desktop-automatisering uten API. Agenter som interagerer med GUI via skjermbilder og museklikk. Copilot Studio-integrasjon. | Preview sep 2025 | **P2** |
|
||||
| 7 | **Copilot Tuning** | Fine-tune M365 Copilot-modeller på enterprise-data. Tilpasning av Copilot-oppførsel til organisasjonsdomene. | Preview jun 2025 | **P2** |
|
||||
| 8 | **Foundry Local** | On-device inference uten skytilkobling. Kjører modeller lokalt for latensfølsomme eller offline-scenarier. | GA 2025 | **P2** |
|
||||
| 9 | **Foundry Workflows** | Visuell multi-agent orkestreringsdesigner. Drag-and-drop design av agent-workflows med feilhåndtering og branching. | GA 2025 | **P2** |
|
||||
| 10 | **Microsoft Agent Framework** | Open-source multi-agent SDK. Felles abstraksjon for Semantic Kernel, AutoGen og Copilot Studio-agenter. | Open source | **P2** |
|
||||
| 11 | **Fabric AI Functions** | `ai.embed()`, `ai.generate_response()` direkte i Microsoft Fabric. AI integrert i data-lakehouse. | GA nov 2025 | **P2** |
|
||||
| 12 | **Agent2Agent-protokoll (A2A)** | Agent-til-agent kommunikasjonsprotokoll. Åpen standard for interoperabilitet mellom agentsystemer. | GA 2025 | **P2** |
|
||||
| 13 | **Deep Research tool** | o3-deep-research + Bing-integrasjon. Dybdeanalyse med automatisk websøk og kildehenvisninger. | GA | **P2** |
|
||||
| 14 | **AI Prompt Shield (Entra)** | Nettverksbasert prompt injection-beskyttelse. Entra-integrert forsvar som filtrerer ondsinnet input på nettverksnivå. | Preview | **P2** |
|
||||
| 15 | **Dynamics 365 AI-agenter** | Case Management, Sales, Finance, Customer Intent. Ferdigbygde agenter for Dynamics-scenarier. | GA 2025 | **P3** |
|
||||
| 16 | **GitHub Copilot Enterprise** | Code-assistanse med organisasjonskontekst. Tilpasset kodegenerering basert på interne repos. | GA | **P3** |
|
||||
| 17 | **Sora (video-generering)** | AI-videogenerering i Azure AI Foundry. Tekst-til-video og bilde-til-video. | GA, kun Sweden Central | **P3** |
|
||||
| 18 | **GPT-image-modeller** | Neste generasjon bildegenerering i Foundry. Erstatter DALL-E 3. | Preview/GA | **P3** |
|
||||
| 19 | **Browser Automation (Foundry)** | Playwright-basert web-interaksjon for agenter. Automatisert navigering og datahenting fra nettsider. | Preview aug 2025 | **P3** |
|
||||
|
||||
### Tiltaksoversikt P1-gaps
|
||||
|
||||
| Gap | Tiltak | Ny KB-fil |
|
||||
|-----|--------|-----------|
|
||||
| Entra Agent ID | Ny fil i `ai-security-engineering/` | `entra-agent-id-zero-trust.md` |
|
||||
| Security Copilot | Ny fil i `ai-security-engineering/` | `security-copilot-integration.md` |
|
||||
| AI Prompt Shield | Ny fil i `ai-security-engineering/` | `ai-prompt-shield-network.md` |
|
||||
| GPT-5/4.1-serien | Ny fil i `platforms/` | `model-catalog-2026.md` |
|
||||
| GPT-5/4.1 pricing | Ny fil i `cost-optimization/` | `gpt5-gpt41-pricing-models.md` |
|
||||
| Foundry Agent Service | Ny fil i `agent-orchestration/` | `foundry-agent-service-ga.md` |
|
||||
| A2A-protokoll | Ny fil i `agent-orchestration/` | `agent-to-agent-a2a-protocol.md` |
|
||||
| Foundry Workflows | Ny fil i `agent-orchestration/` | `foundry-workflows-visual-orchestration.md` |
|
||||
| CUA | Ny fil i `agent-orchestration/` | `computer-using-agents-cua.md` |
|
||||
|
||||
---
|
||||
|
||||
## B. Eksisterende KB som trenger oppdatering
|
||||
|
||||
### Plattformfiler (høyest prioritet)
|
||||
|
||||
| KB-fil | Hva som mangler | Prioritet |
|
||||
|--------|----------------|-----------|
|
||||
| `platforms/azure-ai-foundry.md` | "Microsoft Foundry" rebranding (Satya, Build 2025), Foundry Agent Service GA-detaljer, nye verktøy (Workflows, Local, CUA), GPT-5/4.1 i modellkatalog | **P1** |
|
||||
| `platforms/copilot-studio.md` | CUA-integrasjon, Copilot Tuning, Code Interpreter GA, MCP GA (nov 2025), VS Code-utvidelse, GPT-5 som default-modell | **P1** |
|
||||
| `platforms/power-platform.md` | AI Builder + Document Intelligence GA, Prompt Builder med Foundry-tilkobling, Copilot Credits-endringer (fra mai-modell), nye AI-funksjoner i Power Pages | **P1** |
|
||||
| `platforms/m365-copilot.md` | GPT-5 som default-modell, Copilot Library, Copilot Tuning, Agent Builder med GPT-5, Copilot Pages GA, nye Copilot-agenter | **P1** |
|
||||
|
||||
### Andre KB-kategorier
|
||||
|
||||
| KB-kategori | Filer som trenger oppdatering | Prioritet |
|
||||
|-------------|------------------------------|-----------|
|
||||
| `architecture/licensing-matrix.md` | Security Copilot i E5, Copilot Credits-endringer, nye lisenstyper | **P1** |
|
||||
| `architecture/decision-trees.md` | Nye modeller (GPT-5/4.1), CUA-gren, Foundry Workflows-gren | **P2** |
|
||||
| `agent-orchestration/*.md` | A2A-protokoll, Foundry Workflows, CUA-integrasjon, MCP GA | **P2** |
|
||||
| `ai-security-engineering/*.md` | Entra Agent ID, AI Prompt Shield, Security Copilot-integrasjon | **P1** |
|
||||
| `cost-optimization/*.md` | GPT-5/4.1 pricing, Copilot Credits-oppdatering, nye PTU-modeller | **P2** |
|
||||
|
||||
---
|
||||
|
||||
## C. Playground-gaps (items som mangler)
|
||||
|
||||
Nåværende: 62 items i ITEMS-array. Følgende bør legges til:
|
||||
|
||||
| # | Manglende item | `id` | `aisle` | `sources` | Prioritet |
|
||||
|---|---------------|------|---------|-----------|-----------|
|
||||
| 1 | GPT-5 (flaggskip) | `llm-gpt5` | `llm` | `['openai','foundry']` | **P1** |
|
||||
| 2 | GPT-5-mini | `llm-gpt5-mini` | `llm` | `['openai','foundry']` | **P1** |
|
||||
| 3 | GPT-4.1 | `llm-gpt41` | `llm` | `['openai','foundry']` | **P1** |
|
||||
| 4 | GPT-4.1-mini | `llm-gpt41-mini` | `llm` | `['openai','foundry']` | **P1** |
|
||||
| 5 | Foundry Agent Service (multi-agent) | *eksisterer som `agent-foundry`* | — | — | OK |
|
||||
| 6 | CUA (Computer-Using Agents) | `agent-cua` | `agent` | `['studio']` | **P2** |
|
||||
| 7 | Foundry Workflows | `agent-workflows` | `agent` | `['foundry']` | **P2** |
|
||||
| 8 | Agent2Agent-protokoll | `agent-a2a` | `agent` | `['foundry','studio']` | **P2** |
|
||||
| 9 | Copilot Tuning | `llm-copilot-tuning` | `llm` | `['studio','m365']` | **P2** |
|
||||
| 10 | Security Copilot | `sec-copilot` | `security` | `['m365']` | **P2** |
|
||||
| 11 | Entra Agent ID | `auth-agent-id` | `identity` | `['m365']` | **P1** |
|
||||
| 12 | Deep Research | `agent-deep-research` | `agent` | `['foundry']` | **P2** |
|
||||
| 13 | Fabric AI Functions | `data-fabric-ai` | `data` | `['fabric']` | **P3** |
|
||||
| 14 | DeepSeek-R1/V3 | `llm-deepseek` | `llm` | `['foundry']` | **P2** |
|
||||
|
||||
**Merk:** `agent-foundry` eksisterer allerede og dekker Foundry Agent Service. Items #5 trenger kun oppdatering av eksisterende item, ikke ny oppføring.
|
||||
|
||||
---
|
||||
|
||||
## D. Norway East-begrensninger (nytt)
|
||||
|
||||
Viktig for norsk offentlig sektor: Ikke alle kapabiliteter er tilgjengelige i Norway East-regionen.
|
||||
|
||||
### Azure AI Search
|
||||
| Funksjon | Norway East | Alternativ |
|
||||
|----------|-------------|------------|
|
||||
| Agentic Retrieval | Ikke tilgjengelig | Sweden Central, West Europe |
|
||||
| Semantic Ranker (free tier) | Ikke tilgjengelig | Sweden Central |
|
||||
| Query Rewrite | Ikke tilgjengelig | Sweden Central, West Europe |
|
||||
| Standard Search | Tilgjengelig | — |
|
||||
| Integrated Vectorization | Tilgjengelig | — |
|
||||
|
||||
### Azure AI Foundry / OpenAI
|
||||
| Funksjon | Norway East | Alternativ |
|
||||
|----------|-------------|------------|
|
||||
| GPT-4o, GPT-4o-mini | Tilgjengelig | — |
|
||||
| GPT-5 (full) | Ikke bekreftet | Sweden Central, West Europe |
|
||||
| GPT-4.1, GPT-4.1-mini | Tilgjengelig (standard) | — |
|
||||
| o1/o3 Reasoning | Begrenset | Sweden Central |
|
||||
| Sora (video) | Ikke tilgjengelig | Sweden Central, East US 2 |
|
||||
| GPT-image | Kun global deployment | — |
|
||||
| DALL-E 3 | Tilgjengelig | — |
|
||||
|
||||
### Databricks (via Foundry)
|
||||
| Funksjon | Norway East | Alternativ |
|
||||
|----------|-------------|------------|
|
||||
| Vector Search | Ikke tilgjengelig | West Europe |
|
||||
| Mosaic AI | Ikke tilgjengelig | West Europe |
|
||||
| Predictive Optimization | Ikke tilgjengelig | West Europe |
|
||||
|
||||
### Konsekvenser for arkitekturanbefalinger
|
||||
1. **Multi-region-strategi nødvendig** for avanserte funksjoner (Agentic Retrieval, GPT-5, Sora)
|
||||
2. **Sweden Central** er nærmeste alternativ med bredest funksjonalitet
|
||||
3. **Data Boundary-krav** kan begrense multi-region: Verifiser at Sweden Central er innenfor EU Data Boundary
|
||||
4. **Fallback-arkitektur** bør designes for tjenester som ikke er i Norway East
|
||||
|
||||
---
|
||||
|
||||
## E. Prioritert handlingsplan
|
||||
|
||||
### Fase 1: Plattformoppdatering (denne sesjonen)
|
||||
1. Oppdater 4 plattformfiler med MCP-research
|
||||
2. Opprett 9 nye KB-filer for P1/P2-gaps
|
||||
3. Oppdater playground ITEMS-array
|
||||
4. Oppdater CLAUDE.md
|
||||
|
||||
### Fase 2: Dybdedekning (neste sesjon)
|
||||
1. Oppdater `architecture/licensing-matrix.md`
|
||||
2. Oppdater `architecture/decision-trees.md`
|
||||
3. Oppdater eksisterende agent-orchestration-filer med A2A/MCP GA
|
||||
4. Legg til Norway East-begrensninger i relevante filer
|
||||
|
||||
### Fase 3: Lavere prioritet (fremtidig)
|
||||
1. P3-gaps: Dynamics 365, GitHub Copilot Enterprise, Sora, Browser Automation
|
||||
2. Fabric AI Functions (krever ny `fabric` brand i playground)
|
||||
3. Playground-scenarioer for nye items
|
||||
|
||||
---
|
||||
|
||||
## F. Verifiseringsplan
|
||||
|
||||
| Sjekk | Kommando | Forventet |
|
||||
|-------|---------|-----------|
|
||||
| Strukturell validering | `bash tests/validate-plugin.sh` | PASS |
|
||||
| KB-ferskhet | `bash scripts/kb-staleness-check.sh` | Nye filer datert 2026-02 |
|
||||
| KB-antall | `find skills/ -name "*.md" \| wc -l` | 373+ (opp fra 364) |
|
||||
| Playground items | Grep ITEMS-array | 76+ items (opp fra 62) |
|
||||
| Playground browser-test | Åpne i browser | Nye items synlige |
|
||||
|
||||
---
|
||||
|
||||
*Generert: 2026-02-18 | Neste review: 2026-03*
|
||||
82
plugins/ms-ai-architect/docs/kb-update-policy.md
Normal file
82
plugins/ms-ai-architect/docs/kb-update-policy.md
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# Knowledge Base Update Policy
|
||||
|
||||
**Last updated:** 2026-02
|
||||
**Applies to:** ms-ai-architect plugin (5 skills, 364 reference files)
|
||||
|
||||
---
|
||||
|
||||
## Update Frequency
|
||||
|
||||
| Priority | Category Pattern | Threshold | Rationale |
|
||||
|----------|-----------------|-----------|-----------|
|
||||
| Critical | cost, pricing, pris | 30 days | Azure prices change monthly |
|
||||
| High | responsible-ai, norwegian-public-sector-governance, ai-security-engineering | 60 days | Regulations and compliance evolve quarterly |
|
||||
| Medium | platforms, copilot-extensibility, azure-ai-services, multi-modal, performance-scalability, monitoring-observability, agent-orchestration, data-engineering, api-management, hybrid-edge, bcdr, rag-architecture, mlops-genaiops, prompt-engineering | 90 days | Feature updates follow Azure release cycles |
|
||||
| Low | architecture, development, patterns | 180 days | Foundational patterns change slowly |
|
||||
|
||||
## Category-to-Skill Mapping
|
||||
|
||||
| Category | Skill Directory | File Count |
|
||||
|----------|----------------|------------|
|
||||
| rag-architecture | ms-ai-engineering | ~20 |
|
||||
| azure-ai-services | ms-ai-engineering | ~25 |
|
||||
| copilot-extensibility | ms-ai-engineering | ~15 |
|
||||
| prompt-engineering | ms-ai-engineering | ~15 |
|
||||
| data-engineering | ms-ai-engineering | ~20 |
|
||||
| api-management | ms-ai-engineering | ~10 |
|
||||
| agent-orchestration | ms-ai-engineering | ~15 |
|
||||
| multi-modal | ms-ai-engineering | ~10 |
|
||||
| mlops-genaiops | ms-ai-engineering | ~15 |
|
||||
| performance-scalability | ms-ai-engineering | ~10 |
|
||||
| monitoring-observability | ms-ai-engineering | ~10 |
|
||||
| responsible-ai | ms-ai-governance | ~25 |
|
||||
| norwegian-public-sector-governance | ms-ai-governance | ~25 |
|
||||
| cost-optimization | ms-ai-security | ~15 |
|
||||
| ai-security-engineering | ms-ai-security | ~15 |
|
||||
| hybrid-edge | ms-ai-infrastructure | ~15 |
|
||||
| bcdr | ms-ai-infrastructure | ~15 |
|
||||
| platforms | ms-ai-advisor | ~20 |
|
||||
| architecture | ms-ai-advisor | ~20 |
|
||||
|
||||
## Operational Procedure
|
||||
|
||||
### Regular Check (Monthly)
|
||||
|
||||
1. Run staleness check:
|
||||
```bash
|
||||
bash scripts/kb-staleness-check.sh --json --output kb-status.json
|
||||
```
|
||||
|
||||
2. Review stale files by priority:
|
||||
```bash
|
||||
bash scripts/kb-staleness-check.sh --priority-only
|
||||
```
|
||||
|
||||
3. Update critical/high priority files:
|
||||
```
|
||||
/architect:generate-skills --update --priority critical
|
||||
/architect:generate-skills --update --priority high
|
||||
```
|
||||
|
||||
### Quarterly Review
|
||||
|
||||
1. Run full staleness report
|
||||
2. Update all medium+ priority files
|
||||
3. Review and archive obsolete files
|
||||
4. Update this policy if thresholds need adjustment
|
||||
|
||||
### Update vs Regenerate
|
||||
|
||||
- **Update** (preferred): Preserves existing structure, updates facts/dates/URLs. Uses Edit tool.
|
||||
- **Regenerate**: Full rewrite. Use when file structure is outdated or content is >50% stale.
|
||||
|
||||
## Quality Gates
|
||||
|
||||
- Updated files must pass: `bash tests/validate-plugin.sh`
|
||||
- Updated files must have "Verified (MCP {month})" markers on MCP-sourced facts
|
||||
- Updated files must maintain 7-15 KB size range
|
||||
- No broken links or stale Microsoft Learn URLs
|
||||
|
||||
## Automation
|
||||
|
||||
The SessionStart hook (`session-start-context.mjs`) automatically reports KB staleness levels at session start. The `kb-staleness-check.sh` script supports both human-readable and JSON output formats for integration with CI/CD or monitoring.
|
||||
155
plugins/ms-ai-architect/docs/onboarding-ros-analysis.md
Normal file
155
plugins/ms-ai-architect/docs/onboarding-ros-analysis.md
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
# From Clone to PR: Building ROS Analysis for ms-ai-architect
|
||||
|
||||
Step-by-step guide for **Windows**. Start at Step 1, end with a PR containing a complete ROS analysis feature.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [Node.js](https://nodejs.org/) (LTS) — required for Claude Code and MCP servers
|
||||
- [Git for Windows](https://git-scm.com/download/win) — includes Git Bash (needed for test scripts)
|
||||
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) — `npm install -g @anthropic-ai/claude-code`
|
||||
## Step 1: Clone and Register
|
||||
|
||||
Open PowerShell:
|
||||
|
||||
```powershell
|
||||
# Create the marketplace directory
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\plugins\marketplaces"
|
||||
|
||||
# Clone
|
||||
git clone https://github.com/guttormsen108/ktg-privat.git "$env:USERPROFILE\.claude\plugins\marketplaces\ktg-privat"
|
||||
```
|
||||
|
||||
Edit `%USERPROFILE%\.claude\settings.json` (create if it doesn't exist):
|
||||
|
||||
```json
|
||||
{
|
||||
"enabledPlugins": {
|
||||
"ms-ai-architect@ktg-privat": true
|
||||
},
|
||||
"mcpServers": {
|
||||
"microsoft-learn": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@nicobailey/microsoft-learn-mcp-server"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> **Tip:** Open the file with `notepad $env:USERPROFILE\.claude\settings.json`
|
||||
|
||||
## Step 2: Verify
|
||||
|
||||
```powershell
|
||||
cd "$env:USERPROFILE\.claude\plugins\marketplaces\ktg-privat"
|
||||
claude
|
||||
```
|
||||
|
||||
You should see:
|
||||
```
|
||||
Architect: Ingen virksomhetstilpasning. Kjor /architect:onboard (~5 min).
|
||||
```
|
||||
|
||||
Type `/architect:help` — if you see a list of commands, the plugin works.
|
||||
|
||||
## Step 3: Create a Branch
|
||||
|
||||
```powershell
|
||||
git checkout -b feat/ros-analysis
|
||||
```
|
||||
|
||||
## Step 4: Read the Pattern Files
|
||||
|
||||
Before writing anything, ask Claude to read these files. They are the patterns your ROS implementation must follow:
|
||||
|
||||
```
|
||||
Read these files:
|
||||
- plugins/ms-ai-architect/commands/dpia.md
|
||||
- plugins/ms-ai-architect/agents/dpia-agent.md
|
||||
- plugins/ms-ai-architect/agents/security-assessment-agent.md
|
||||
- plugins/ms-ai-architect/skills/ms-ai-security/references/ai-security-engineering/security-scoring-rubrics-6x5.md
|
||||
- plugins/ms-ai-architect/CLAUDE.md
|
||||
```
|
||||
|
||||
Key patterns to understand:
|
||||
- **Command** (`dpia.md`): collects context via dialog, then delegates to agent via `Task`
|
||||
- **Agent** (`dpia-agent.md`): phased methodology, KB-routing to reference files, structured output
|
||||
- **Scoring** (`security-scoring-rubrics-6x5.md`): deterministic rubrics with checkpoints per cell
|
||||
|
||||
## Step 5: Plan the Implementation
|
||||
|
||||
This is the critical step. Type `plan` first, then your prompt:
|
||||
|
||||
```
|
||||
plan Build a professional ROS analysis feature for the ms-ai-architect
|
||||
plugin. It needs: a /architect:ros command, a ros-analysis-agent,
|
||||
knowledge base files (threat library, scoring rubrics, sector checklists,
|
||||
methodology guide, report templates, integration guide), E2E tests,
|
||||
and updates to CLAUDE.md + help.md + SKILL.md.
|
||||
|
||||
Follow the patterns in dpia.md, dpia-agent.md, and
|
||||
security-scoring-rubrics-6x5.md exactly.
|
||||
```
|
||||
|
||||
Claude will explore the codebase and produce a detailed plan listing every file to create/modify. **Review the plan carefully.** The plan should include roughly:
|
||||
|
||||
- **~10 new files**: command, agent, 6 knowledge base references, test script, test fixture
|
||||
- **~5 modified files**: CLAUDE.md, help.md, SKILL.md, summary-agent.md, run-e2e.sh
|
||||
|
||||
When satisfied, approve the plan. Claude implements exactly what was approved — nothing more.
|
||||
|
||||
## Step 6: Verify
|
||||
|
||||
After implementation, run validation in **Git Bash** (not PowerShell — the test scripts are bash):
|
||||
|
||||
```bash
|
||||
# Open Git Bash from Start menu, then:
|
||||
cd ~/.claude/plugins/marketplaces/ktg-privat
|
||||
|
||||
# Plugin structure validation
|
||||
bash plugins/ms-ai-architect/tests/validate-plugin.sh
|
||||
|
||||
# E2E tests (no Claude invocation needed)
|
||||
bash plugins/ms-ai-architect/tests/run-e2e.sh --ros
|
||||
```
|
||||
|
||||
> **Note:** Alternatively, ask Claude to run the tests for you — Claude's built-in Bash tool handles this on Windows.
|
||||
|
||||
Fix any failures before proceeding.
|
||||
|
||||
## Step 7: Commit and PR
|
||||
|
||||
Ask Claude:
|
||||
|
||||
```
|
||||
Commit all changes and create a PR to main
|
||||
```
|
||||
|
||||
Commit message convention: `feat(architect): add ROS analysis command and agent`
|
||||
|
||||
CLAUDE.md must be updated in the same commit as the new functionality.
|
||||
|
||||
## What the Final PR Should Contain
|
||||
|
||||
| Type | Files | Description |
|
||||
|------|-------|-------------|
|
||||
| Command | `commands/ros.md` | `/architect:ros` with quick and full mode |
|
||||
| Agent | `agents/ros-analysis-agent.md` | Multi-phase ROS with scoring rubrics |
|
||||
| KB: Threats | `references/.../ros-ai-threat-library.md` | ~45 AI-specific threats |
|
||||
| KB: Scoring | `references/.../ros-scoring-rubrics-7x5.md` | Deterministic rubrics (7 dimensions x 5 levels) |
|
||||
| KB: Sectors | `references/.../ros-sector-checklists.md` | Health, transport, finance, justice, education |
|
||||
| KB: Methodology | `references/.../ros-methodology-ns5814-iso31000.md` | NS 5814 / ISO 31000 process mapping |
|
||||
| KB: Templates | `references/.../ros-report-templates.md` | Quick and full report templates |
|
||||
| KB: Integration | `references/.../ros-dpia-security-integration.md` | When to use ROS vs DPIA vs Security |
|
||||
| Tests | `tests/test-ros-output.sh` + `tests/fixtures/ros-analysis/` | E2E structure validation |
|
||||
| Docs | CLAUDE.md, help.md, SKILL.md, summary-agent.md, run-e2e.sh | Updated tables and references |
|
||||
|
||||
## Quick Reference
|
||||
|
||||
| Action | How |
|
||||
|--------|-----|
|
||||
| See all commands | Type `/` and scroll |
|
||||
| Plan mode | Type `plan` before your prompt |
|
||||
| Auto-accept tool calls | Shift+Tab |
|
||||
| Cancel | Esc |
|
||||
| New conversation | `/clear` |
|
||||
| Context usage | `/cost` |
|
||||
249
plugins/ms-ai-architect/docs/playground-ai-act-plan.md
Normal file
249
plugins/ms-ai-architect/docs/playground-ai-act-plan.md
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
# Playground AI Act Integration — Sesjonplan
|
||||
|
||||
## Kontekst
|
||||
|
||||
Playground (`playground/azure-ai-playground.html`, 1850L) har allerede en `ai-act-high` checkbox i Step 1 (intake) og Step 2 (filter). Når den er valgt, vises en gul "AI Act høy-risiko" compliance-sjekk i Step 3. Men dette er bare en passiv indikator — ingen risikonivåer, ingen rollevisning, ingen utvidet eksport.
|
||||
|
||||
Denne sesjonen utvider Step 3 og Step 5 med AI Act-bevissthet.
|
||||
|
||||
## Hva som finnes i dag
|
||||
|
||||
| Sted | Linje | Innhold |
|
||||
|------|-------|---------|
|
||||
| Step 1 (intake) | L356 | `<input type="checkbox" value="ai-act-high">` |
|
||||
| Step 2 (filter) | L455 | `<input type="checkbox" data-filter="compliance" value="ai-act-high">` |
|
||||
| Step 3 (`getComplianceStatus()`) | L1449-1451 | Gul status-badge: `{ label: 'AI Act hoy-risiko', status: 'yellow' }` |
|
||||
| Step 5 (prompt) | L1639 | Compliance-krav inkluderer `ai-act-high` som tekst |
|
||||
| Step 5 (JSON) | L1765 | `compliance: state.intake.compliance` (inkluderer `ai-act-high`) |
|
||||
|
||||
## Endring 1: Step 1 — Utvid AI Act-valg fra checkbox til dropdown
|
||||
|
||||
**Nå:** Én checkbox (`ai-act-high`).
|
||||
**Etter:** Dropdown med 4 risikonivåer + "Ikke vurdert".
|
||||
|
||||
```html
|
||||
<!-- Erstatt L356 -->
|
||||
<div class="param-input" style="margin-top:0.5rem">
|
||||
<label>EU AI Act risikonivå</label>
|
||||
<select onchange="updateAiActLevel(this.value)">
|
||||
<option value="">Ikke vurdert</option>
|
||||
<option value="minimal">Minimal risiko</option>
|
||||
<option value="limited">Begrenset risiko</option>
|
||||
<option value="high-risk">Høyrisiko (Annex III)</option>
|
||||
<option value="prohibited">Forbudt (Art. 5)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="param-input">
|
||||
<label>Rolle i AI Act</label>
|
||||
<select onchange="state.intake.aiActRole=this.value">
|
||||
<option value="">Ikke bestemt</option>
|
||||
<option value="deployer">Deployer</option>
|
||||
<option value="provider">Provider</option>
|
||||
<option value="deployer-provider">Deployer + Provider</option>
|
||||
</select>
|
||||
</div>
|
||||
```
|
||||
|
||||
**State-utvidelse:**
|
||||
```javascript
|
||||
// I state.intake (rundt L?? i init/state):
|
||||
aiActLevel: '', // '', 'minimal', 'limited', 'high-risk', 'prohibited'
|
||||
aiActRole: '', // '', 'deployer', 'provider', 'deployer-provider'
|
||||
```
|
||||
|
||||
**Ny funksjon:**
|
||||
```javascript
|
||||
function updateAiActLevel(level) {
|
||||
state.intake.aiActLevel = level;
|
||||
// Synk legacy compliance-array
|
||||
const idx = state.intake.compliance.indexOf('ai-act-high');
|
||||
if (level === 'high-risk' || level === 'prohibited') {
|
||||
if (idx === -1) state.intake.compliance.push('ai-act-high');
|
||||
} else {
|
||||
if (idx !== -1) state.intake.compliance.splice(idx, 1);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Filter i Step 2 (L455):** Behold eksisterende `ai-act-high` filter — den fungerer allerede.
|
||||
|
||||
## Endring 2: Step 3 — Utvidet compliance-sjekk
|
||||
|
||||
**Nå:** `getComplianceStatus()` (L1410-1454) viser gul badge.
|
||||
**Etter:** AI Act-sjekken blir dynamisk basert på nivå og rolle.
|
||||
|
||||
Erstatt L1448-1451 med:
|
||||
|
||||
```javascript
|
||||
// AI Act
|
||||
const aiLevel = state.intake.aiActLevel;
|
||||
if (aiLevel === 'high-risk') {
|
||||
checks.push({ label: 'AI Act: Høyrisiko (Annex III)', status: 'red' });
|
||||
checks.push({ label: 'FRIA påkrevd (Art. 27)', status: 'red' });
|
||||
if (!hasObservability) {
|
||||
checks.push({ label: 'Logging min. 6 mnd påkrevd (Art. 12/26)', status: 'red' });
|
||||
}
|
||||
} else if (aiLevel === 'limited') {
|
||||
checks.push({ label: 'AI Act: Begrenset risiko', status: 'yellow' });
|
||||
checks.push({ label: 'Transparensplikt (Art. 50)', status: 'yellow' });
|
||||
} else if (aiLevel === 'minimal') {
|
||||
checks.push({ label: 'AI Act: Minimal risiko', status: 'green' });
|
||||
} else if (aiLevel === 'prohibited') {
|
||||
checks.push({ label: 'AI Act: FORBUDT — kan ikke brukes', status: 'red' });
|
||||
} else if (state.intake.compliance.includes('ai-act-high')) {
|
||||
// Legacy fallback
|
||||
checks.push({ label: 'AI Act høy-risiko', status: 'yellow' });
|
||||
}
|
||||
```
|
||||
|
||||
## Endring 3: Step 3 — AI Act anbefalingspanel
|
||||
|
||||
Etter compliance-listen i `renderConfigure()` (L1396-1404), legg til et AI Act-panel som vises når nivå er satt:
|
||||
|
||||
```javascript
|
||||
// Etter complianceHtml i renderConfigure()
|
||||
let aiActHtml = '';
|
||||
if (state.intake.aiActLevel) {
|
||||
const level = state.intake.aiActLevel;
|
||||
const role = state.intake.aiActRole || 'deployer';
|
||||
const cmds = [];
|
||||
|
||||
if (level === 'high-risk') {
|
||||
cmds.push({ cmd: '/architect:classify', desc: 'Bekreft klassifisering' });
|
||||
cmds.push({ cmd: '/architect:frimpact', desc: 'FRIA (obligatorisk offentlig sektor)' });
|
||||
cmds.push({ cmd: '/architect:dpia', desc: 'Personvernkonsekvensvurdering' });
|
||||
cmds.push({ cmd: '/architect:requirements', desc: 'Konkrete Art. 9-27 krav' });
|
||||
} else if (level === 'limited') {
|
||||
cmds.push({ cmd: '/architect:classify', desc: 'Bekreft klassifisering' });
|
||||
cmds.push({ cmd: '/architect:transparency', desc: 'Generer Art. 50 transparensnotis' });
|
||||
} else if (level === 'minimal') {
|
||||
cmds.push({ cmd: '/architect:classify', desc: 'Dokumenter klassifisering' });
|
||||
}
|
||||
|
||||
aiActHtml = `
|
||||
<div class="param-group" style="border-left:3px solid ${level === 'high-risk' || level === 'prohibited' ? 'var(--red)' : level === 'limited' ? 'var(--accent4)' : 'var(--accent2)'}; padding-left:0.75rem">
|
||||
<h4>EU AI Act — Neste steg</h4>
|
||||
${cmds.map(c => `<div style="font-size:0.82rem;margin:0.3rem 0"><code>${c.cmd}</code> — ${c.desc}</div>`).join('')}
|
||||
${level === 'high-risk' ? '<div style="font-size:0.78rem;color:var(--text-dim);margin-top:0.5rem">Frist: 2. august 2026 (GPAI + Annex III)</div>' : ''}
|
||||
</div>`;
|
||||
}
|
||||
```
|
||||
|
||||
Inject `aiActHtml` etter compliance-listen i HTML-template.
|
||||
|
||||
## Endring 4: Step 5 — AI Act i alle eksportformater
|
||||
|
||||
### 4a. Prompt (L1615-1654)
|
||||
Etter compliance-krav-linjen (L1639), legg til:
|
||||
|
||||
```javascript
|
||||
if (state.intake.aiActLevel) {
|
||||
prompt += `EU AI Act risikonivå: ${state.intake.aiActLevel}.\n`;
|
||||
if (state.intake.aiActRole) prompt += `Rolle: ${state.intake.aiActRole}.\n`;
|
||||
if (state.intake.aiActLevel === 'high-risk') {
|
||||
prompt += 'NB: Høyrisiko — FRIA (Art. 27) og samsvarsvurdering (Art. 43) kreves.\n';
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4b. Pipeline (L1657-1687)
|
||||
I `generatePipelineTab()`, legg til AI Act-commands etter standard pipeline:
|
||||
|
||||
```javascript
|
||||
// Etter pipeline.commands mapping
|
||||
if (state.intake.aiActLevel === 'high-risk') {
|
||||
cmds += `
|
||||
<div style="margin:1rem 0 0.5rem;font-size:0.82rem;color:var(--text-dim);font-weight:600">EU AI Act compliance</div>
|
||||
`;
|
||||
const aiCmds = [
|
||||
{ cmd: 'classify', desc: 'Bekreft AI Act-klassifisering' },
|
||||
{ cmd: 'frimpact', desc: 'FRIA — obligatorisk for offentlig sektor' },
|
||||
{ cmd: 'requirements', desc: 'Konkrete deployer/provider-krav' },
|
||||
{ cmd: 'conformity', desc: 'Samsvarsvurdering (Annex IV)' }
|
||||
];
|
||||
cmds += aiCmds.map((c, i) => `
|
||||
<div class="cmd-row">
|
||||
<span class="cmd-num">+${i + 1}</span>
|
||||
<div class="cmd-info">
|
||||
<div class="cmd-code">/architect:${c.cmd}</div>
|
||||
<div class="cmd-desc">${c.desc}</div>
|
||||
</div>
|
||||
<button class="cmd-copy" onclick="copyToClipboard('/architect:${c.cmd}')">Kopier</button>
|
||||
</div>
|
||||
`).join('');
|
||||
}
|
||||
```
|
||||
|
||||
### 4c. Brief Markdown (L1701-1737)
|
||||
Etter dataresidens-linjen (L1716), legg til:
|
||||
|
||||
```javascript
|
||||
if (state.intake.aiActLevel) {
|
||||
md += `**EU AI Act:** ${state.intake.aiActLevel === 'high-risk' ? 'Høyrisiko (Annex III)' : state.intake.aiActLevel === 'limited' ? 'Begrenset risiko' : state.intake.aiActLevel === 'minimal' ? 'Minimal risiko' : 'Forbudt'}\n`;
|
||||
if (state.intake.aiActRole) md += `**Rolle:** ${state.intake.aiActRole}\n`;
|
||||
}
|
||||
```
|
||||
|
||||
Og etter prompt-seksjonen (L1734), legg til en AI Act-seksjon:
|
||||
|
||||
```javascript
|
||||
if (state.intake.aiActLevel === 'high-risk') {
|
||||
md += `\n## EU AI Act — Compliance-krav\n\n`;
|
||||
md += `- [ ] FRIA gjennomført (Art. 27) — /architect:frimpact\n`;
|
||||
md += `- [ ] Samsvarsvurdering (Art. 43) — /architect:conformity\n`;
|
||||
md += `- [ ] Transparensnotis (Art. 50) — /architect:transparency\n`;
|
||||
md += `- [ ] Logging min. 6 mnd (Art. 12/26)\n`;
|
||||
md += `- [ ] Menneskelig tilsyn formalisert (Art. 14)\n`;
|
||||
md += `\n**Frist:** 2. august 2026 (GPAI + Annex III høyrisiko)\n`;
|
||||
}
|
||||
```
|
||||
|
||||
### 4d. JSON Record (L1752-1803)
|
||||
Legg til `aiAct`-objekt i returverdien:
|
||||
|
||||
```javascript
|
||||
aiAct: state.intake.aiActLevel ? {
|
||||
riskLevel: state.intake.aiActLevel,
|
||||
role: state.intake.aiActRole || null,
|
||||
requiresFRIA: state.intake.aiActLevel === 'high-risk',
|
||||
requiresConformity: state.intake.aiActLevel === 'high-risk',
|
||||
deadline: state.intake.aiActLevel === 'high-risk' ? '2026-08-02' : null
|
||||
} : null,
|
||||
```
|
||||
|
||||
## Endring 5: CSS for AI Act-fargekoding
|
||||
|
||||
Legg til i `<style>`-seksjonen (rundt L200):
|
||||
|
||||
```css
|
||||
.compliance-item .status-red { color: #ef4444; }
|
||||
.ai-act-panel { border-left: 3px solid var(--accent4); padding-left: 0.75rem; margin-top: 0.75rem; }
|
||||
```
|
||||
|
||||
## Rekkefølge
|
||||
|
||||
1. State-utvidelse (`aiActLevel`, `aiActRole`)
|
||||
2. Step 1 UI (erstatt checkbox med dropdowns)
|
||||
3. `updateAiActLevel()` funksjon
|
||||
4. `getComplianceStatus()` oppdatering
|
||||
5. `renderConfigure()` — AI Act-panel
|
||||
6. Step 5: alle 4 eksportfunksjoner
|
||||
7. CSS
|
||||
8. Test i nettleser (åpne HTML, velg høyrisiko, gå gjennom alle steg)
|
||||
|
||||
## Verifisering
|
||||
|
||||
- [ ] Velg "Høyrisiko" i Step 1 → compliance-sjekk viser rød badge + FRIA
|
||||
- [ ] Velg "Minimal" → grønn badge
|
||||
- [ ] Step 3 viser "Neste steg"-panel med relevante commands
|
||||
- [ ] Step 5 Prompt inkluderer AI Act-nivå og rolle
|
||||
- [ ] Step 5 Pipeline viser 4 ekstra AI Act-commands for høyrisiko
|
||||
- [ ] Step 5 Brief har compliance-sjekkliste for høyrisiko
|
||||
- [ ] Step 5 JSON har `aiAct`-objekt
|
||||
- [ ] Legacy `ai-act-high` checkbox i Step 2 filter fungerer fortsatt
|
||||
- [ ] "Ikke vurdert" → ingen AI Act-info i eksport
|
||||
- [ ] Ingen regresjoner i øvrig funksjonalitet
|
||||
|
||||
## Estimat
|
||||
|
||||
~50 netto nye linjer JS, ~10 HTML, ~5 CSS. Moderat risiko — endrer eksisterende funksjoner (`getComplianceStatus`, `renderConfigure`, 4 eksportfunksjoner). Én commit.
|
||||
147
plugins/ms-ai-architect/docs/playground-plan.md
Normal file
147
plugins/ms-ai-architect/docs/playground-plan.md
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
# Azure AI Architecture Playground
|
||||
|
||||
**Target:** Lagre denne planen i `/Users/ktg/.claude/plugins/marketplaces/ktg-privat/plugins/ms-ai-architect/docs/playground-plan.md`
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
`ai-frameworks/framework-comparison.html` er en "grocery store" for open-source AI agent frameworks — 130+ features sortert i 8 kategorier, med handlekurv og eksport som Claude Code brief. Konseptet fungerer, men Azure AI-landskapet har et annet problem: brukere vet hva de vil oppna, men ikke hvilke tjenester som loser det.
|
||||
|
||||
**Mal:** Bygge et guidet arkitekturbeslutningsverktoy for Azure AI-plattformen, ved a bruke Playground-pluginen som generator og ms-ai-architect som kunnskapsbase. Prompt-outputen fra playground limes tilbake i Claude for a kjore `/architect`-kommandoer.
|
||||
|
||||
**Arbeidskatalog:** `/Users/ktg/.claude/plugins/marketplaces/ktg-privat/plugins/ms-ai-architect/` (ms-ai-architect plugin-mappen)
|
||||
|
||||
---
|
||||
|
||||
## Approach: Playground-generert HTML med 3 innganger
|
||||
|
||||
### Inngang 1: Scenariovelger (hovedmodus for ikke-eksperter)
|
||||
- Bruker velger et scenario fra 8-10 forhapsdefinerte: "RAG-chatbot for interne dokumenter", "Autonom agent for saksbehandling", "Dokumentklassifisering", "Multi-agent workflow", "Copilot-utvidelse for M365", etc.
|
||||
- Handlekurv pre-fylles med anbefalte kapabiliteter
|
||||
- Hvert pre-fylt item forklarer HVORFOR det trengs
|
||||
- Bruker kan justere (fjerne, legge til, bytte alternativer)
|
||||
|
||||
### Inngang 2: Constraint-filter (smalner valg)
|
||||
- Sidebar med filtre: lisenstype (E3/E5/Azure), budsjett, dataresidens (Norway East?), compliance-krav (Schrems II, DPIA)
|
||||
- Filtrene skjuler items som ikke er tilgjengelige/relevante
|
||||
- Basert pa data fra `licensing-matrix.md` og `decision-trees.md`
|
||||
|
||||
### Inngang 3: Frittsurfing (ekspertmodus)
|
||||
- Browse alle kapabiliteter pa tvers av aisles, som originalen
|
||||
- For arkitekter som allerede kjenner landskapet
|
||||
|
||||
### Prompt output (noykkelen)
|
||||
Genererer en strukturert prompt klar til a lime inn i Claude:
|
||||
|
||||
```
|
||||
Jeg planlegger en [scenario] for [malgruppe].
|
||||
Organisasjonen har [lisenstype] og krav om [compliance].
|
||||
Budsjettramme: [estimat/maned].
|
||||
|
||||
Valgte kapabiliteter:
|
||||
- [Aisle]: [Item 1] (fra [Azure-tjeneste])
|
||||
- [Aisle]: [Item 2] (fra [Azure-tjeneste])
|
||||
...
|
||||
|
||||
Kjor /architect:utredning med disse valgene som utgangspunkt.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Data model
|
||||
|
||||
### Azure AI "brands" (tilsvarer frameworks i originalen)
|
||||
1. **M365 Copilot** — out-of-box produktivitet
|
||||
2. **Copilot Studio** — no-code/low-code agenter
|
||||
3. **Azure AI Foundry** — pro-code AI-plattform
|
||||
4. **Azure OpenAI Service** — direkte LLM-tilgang
|
||||
5. **Azure AI Search** — RAG og sokeindeksering
|
||||
6. **Azure AI Services** — Vision, Speech, Language, Document Intelligence
|
||||
7. **Semantic Kernel** — orkestrerings-SDK
|
||||
8. **Power Platform AI** — AI Builder, Power Automate AI
|
||||
9. **Microsoft Graph** — data-tilgang og integrasjon
|
||||
|
||||
### Aisles (kategorier)
|
||||
1. **LLM-tilgang** — modellvalg, deployment, PTU vs PAYG
|
||||
2. **RAG & Sok** — vektorindeks, hybrid search, grounding
|
||||
3. **Agent-orkestrering** — multi-agent, tool use, autonomi
|
||||
4. **Identitet & Auth** — Managed Identity, RBAC, Entra ID
|
||||
5. **Sikkerhet & Compliance** — Content Safety, DLP, Schrems II, DPIA
|
||||
6. **Kanaler & UX** — Teams, web, WhatsApp, Adaptive Cards
|
||||
7. **Data & Integrasjon** — Graph, connectors, datakilder
|
||||
8. **Observability** — logging, monitoring, evaluering, cost tracking
|
||||
|
||||
### Item-metadata (utover originalen)
|
||||
```json
|
||||
{
|
||||
"name": "Azure AI Search — Hybrid Vector+Keyword",
|
||||
"desc": "Kombinerer semantisk og keyword-sok for optimal RAG-recall",
|
||||
"sources": ["Azure AI Search"],
|
||||
"category": "RAG & Sok",
|
||||
"cost_tier": "medium",
|
||||
"license_req": "azure-payg",
|
||||
"compliance": {
|
||||
"norway_east": true,
|
||||
"schrems_ii": "ok",
|
||||
"dpia_required": false
|
||||
},
|
||||
"maturity": "GA",
|
||||
"scenarios": ["rag-chatbot", "document-search", "knowledge-base"]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Implementeringsplan
|
||||
|
||||
### Steg 1: Opprett prosjektstruktur i ms-ai-architect
|
||||
- Grunnstruktur: `playground/`, `playground/data/`, `playground/docs/`
|
||||
- Legg til CLAUDE.md med prosjektbeskrivelse i playground/
|
||||
|
||||
### Steg 2: Ekstraher strukturert data fra ms-ai-architect
|
||||
- Parse `decision-trees.md` -> scenario-til-kapabilitet-mapping
|
||||
- Parse `licensing-matrix.md` -> lisens-til-kapabilitet-filter
|
||||
- Parse referansefiler -> kapabilitetskatalog med metadata
|
||||
- Output: `playground/data/capabilities.json` — maskinlesbar katalog
|
||||
|
||||
### Steg 3: Bygg playground HTML
|
||||
- Bruk Playground plugin-monsteret: kontroller + preview + prompt output
|
||||
- Adaptor fra grocery store HTML (aisles, cards, cart, export)
|
||||
- Tilleggselementer: scenariovelger, constraint-filtre, kostnadsestimator
|
||||
- Self-contained, dark theme, ingen eksterne avhengigheter
|
||||
|
||||
### Steg 4: Implementer de 3 inngangene
|
||||
- Scenariovelger: dropdown/cards med pre-fylling
|
||||
- Constraint-filter: sidebar med lisens, budsjett, compliance toggles
|
||||
- Frittsurfing: browse aisles som originalen
|
||||
|
||||
### Steg 5: Prompt output og eksport
|
||||
- Live prompt-output som oppdateres ved hvert valg
|
||||
- Copy-knapp for a lime i Claude
|
||||
- Alternativ eksport: markdown-brief, JSON for maskin-konsumering
|
||||
|
||||
### Steg 6: Koble til ms-ai-architect workflow
|
||||
- Dokumenter hvordan prompt-output feeds inn i `/architect:utredning`
|
||||
- Vurder om grocery store kan bli en ny `/architect:explore` command
|
||||
|
||||
---
|
||||
|
||||
## Referansefiler (eksisterende, gjenbruk)
|
||||
|
||||
| Fil | Bruk |
|
||||
|-----|------|
|
||||
| `ai-frameworks/framework-comparison.html` | UI-monster og JavaScript-patterns |
|
||||
| `ms-ai-architect/.../decision-trees.md` | Scenario-mapping logikk |
|
||||
| `ms-ai-architect/.../licensing-matrix.md` | Lisensfilter-data |
|
||||
| `ms-ai-architect/.../cost-models.md` | Kostnadsestimering |
|
||||
| `ms-ai-architect/.../public-sector-checklist.md` | Compliance-filtre |
|
||||
| Playground SKILL.md + templates | HTML-genereringsmonster |
|
||||
|
||||
## Verifikasjon
|
||||
|
||||
1. Apne HTML i browser — alt fungerer uten nettverk
|
||||
2. Velg scenario "RAG-chatbot" -> handlekurv pre-fylles med 5-8 items
|
||||
3. Aktiver filter "E3 + Norway East" -> items som krever E5/annen region skjules
|
||||
4. Kopier prompt output -> lim inn i Claude -> verifiser at den gir nok kontekst for `/architect`
|
||||
5. Eksporter som markdown -> verifiser at den er lesbar og handlingsbar
|
||||
104
plugins/ms-ai-architect/docs/playground-v2-spec.md
Normal file
104
plugins/ms-ai-architect/docs/playground-v2-spec.md
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
# Playground v2: Full Self-Service Architecture Pipeline
|
||||
|
||||
> Spec document for the Azure AI Architecture Playground v2 rewrite.
|
||||
> Status: Approved plan, ready for implementation.
|
||||
|
||||
---
|
||||
|
||||
## Definition
|
||||
|
||||
> **Playground er det visuelle inntakspunktet til ms-ai-architect-pluginen.** Den transformerer "jeg har et problem" til "kjor disse kommandoene med dette inputet, i denne rekkefolgem, og forvent disse leveransene."
|
||||
|
||||
| Playground ER | Playground er IKKE |
|
||||
|---|---|
|
||||
| Visuell intake-wizard for arkitekturbeslutninger | Kodegenerator eller prosjekt-scaffolding |
|
||||
| Kapabilitetskatalog med intelligent filtrering | Statisk dokumentasjon eller lesestoff |
|
||||
| Command-pipeline-generator for /architect-kommandoer | Erstatning for Claude — den FEEDER Claude |
|
||||
| Selvbetjent for alle nivaer (nybegynner til ekspert) | Kun for tekniske arkitekter |
|
||||
|
||||
---
|
||||
|
||||
## Pipeline: 5 steg
|
||||
|
||||
### Steg 1: INTAKE — "Hvem er du og hva trenger du?"
|
||||
- Organisasjonstype, sektor, storrelse (dropdown/cards)
|
||||
- Eksisterende lisensportefolje (checkboxes: E3, E5, Copilot, Azure, Power)
|
||||
- Compliance-krav (Schrems II, DPIA, AI Act, NSM)
|
||||
- Dataresidens (Norway East, EU, Global)
|
||||
- Problemstilling (velg scenario eller skriv fritekst)
|
||||
- Brukerantall og estimert volum
|
||||
- Tidsramme for prosjekt
|
||||
|
||||
### Steg 2: EXPLORE — "Hvilke kapabiliteter matcher?"
|
||||
- Filtrert kapabilitetskatalog (grocery store)
|
||||
- Items som ikke matcher intake-constraints er graaet ut
|
||||
- Scenario-valg pre-fyller handlekurven med begrunnelser
|
||||
- Ekspertmodus: full browsing pa tvers av aisles
|
||||
|
||||
### Steg 3: CONFIGURE — "Juster arkitekturen"
|
||||
- Handlekurv med valgte kapabiliteter
|
||||
- Juster parametere: brukerantall, volum, budsjetttak
|
||||
- Live kostnadsestimat
|
||||
- Compliance-sjekk: gront/gult/rodt lys per krav
|
||||
|
||||
### Steg 4: REVIEW — "Her er arkitekturen din"
|
||||
- Arkitekturoversikt
|
||||
- Kostnadsestimat (P10/P50/P90)
|
||||
- Compliance traffic lights
|
||||
- Risikoflagg og anbefalinger
|
||||
|
||||
### Steg 5: EXPORT — "Her er hva du skal gjore videre"
|
||||
- A: Strukturert prompt (for Claude)
|
||||
- B: Command pipeline med pre-fylte argumenter
|
||||
- C: Arkitektur-brief (Markdown)
|
||||
- D: JSON Decision Record
|
||||
|
||||
---
|
||||
|
||||
## UX: Tre brukernivaer
|
||||
|
||||
| Niva | Navn | Flyt | Klikk til output |
|
||||
|---|---|---|---|
|
||||
| Nybegynner | "Guide meg" | Wizard: intake -> auto-fill -> review -> export | 5-6 klikk |
|
||||
| Mellom | "La meg utforske" | Intake -> browse aisles -> manual selection -> review -> export | 8-10 klikk |
|
||||
| Ekspert | "Jeg vet hva jeg vil" | Hopp til browse -> manual selection -> export | 3-4 klikk |
|
||||
|
||||
---
|
||||
|
||||
## Data Model Extensions (vs v1)
|
||||
|
||||
| Ny dimensjon | Kilde | Pavirker |
|
||||
|---|---|---|
|
||||
| `skill_req` per item | citizen/pro/devops | UX-filtering, anbefaling |
|
||||
| `setup_days` per item | Estimert dager | POC-planlegging |
|
||||
| `user_rec` per item | Anbefalingstekst | Brukerantall-veiledning |
|
||||
| Brukerantall-input | Intake-felt | `/architect:cost` pre-fill |
|
||||
| Volum/dag-input | Intake-felt | `/architect:cost` pre-fill |
|
||||
| Tidsramme | Intake-felt | `/architect:poc` pre-fill |
|
||||
| Plattform-anbefaling per scenario | COMMAND_PIPELINES | `/architect:compare` pre-fill |
|
||||
| Command pipeline per scenario | COMMAND_PIPELINES | Export steg 5B |
|
||||
|
||||
---
|
||||
|
||||
## Command Pipeline Mapping
|
||||
|
||||
8 av 17 `/architect:*`-kommandoer kan pre-fylles:
|
||||
|
||||
1. `/architect:utredning` — scenario + org + lisenser + compliance + kapabiliteter
|
||||
2. `/architect:compare` — topp 2 plattformer basert pa valg
|
||||
3. `/architect:security` — plattform + compliance-krav
|
||||
4. `/architect:cost` — plattform + brukere + volum
|
||||
5. `/architect:dpia` — scenario + persondata (kun nar relevant)
|
||||
6. `/architect:diagram` — arkitekturtype + scenario
|
||||
7. `/architect:summary` — genereres fra foregaende output
|
||||
8. `/architect:adr` — genereres fra foregaende output
|
||||
|
||||
---
|
||||
|
||||
## Verifikasjon
|
||||
|
||||
1. Apne HTML i browser — alt fungerer offline
|
||||
2. Nybegynner-flyt: "Guide meg" -> statlig etat -> E5 + Azure -> RAG-chatbot -> review -> kopier pipeline
|
||||
3. Ekspert-flyt: Hopp til Browse -> velg 5 items -> export JSON -> verifiser valid JSON
|
||||
4. Alle 4 output-formater produserer korrekt output
|
||||
5. Command pipeline har riktige pre-fylte argumenter
|
||||
Loading…
Add table
Add a link
Reference in a new issue