diff --git a/README.md b/README.md index 5c8d65f..dea374f 100644 --- a/README.md +++ b/README.md @@ -177,7 +177,7 @@ Key command: `/graceful-handoff [topic-slug] [--no-commit] [--no-push] [--dry-ru --- -### [MS AI Architect — Azure AI and Microsoft Foundry](plugins/ms-ai-architect/) `v1.8.0` `🇳🇴 Norwegian` +### [MS AI Architect — Azure AI and Microsoft Foundry](plugins/ms-ai-architect/) `v1.9.0` `🇳🇴 Norwegian` Microsoft AI solution architecture guidance for Norwegian public sector and enterprise. @@ -199,6 +199,7 @@ Key commands: `/architect`, `/architect:ros`, `/architect:security`, `/architect - **17 inline report renderers** routed via canonical archetype-routing table: classify pyramid, ROS/security 5×5 + 6×5 risk matrices, radar, findings tables, cost distribution, capability matrix, phased plans, decision-record envelopes - **Light/dark theme toggle** persisted in `localStorage('ms-ai-architect-theme')`, FOUC-safe via `
`-bootstrap script - **Validation:** 240 PASS combined (`bash tests/run-e2e.sh --playground` runs static-structure + parser-fixture suites) +- **Screenshots in plugin README:** 6 reproducible PNGs of the 4 surfaces and 3 report archetypes (classify pyramid, ROS 5×5 matrix + radar, cost P10/P50/P90). Regenerate with `python3 plugins/ms-ai-architect/scripts/screenshots/capture-playground.py` (Playwright + chromium). - **Vendored design-system** at `playground/vendor/`, kept in sync via `scripts/sync-design-system.mjs ms-ai-architect`. Standalone — opens from `file://` without server or marketplace dependency. → [Full documentation](plugins/ms-ai-architect/README.md) diff --git a/plugins/ms-ai-architect/.claude-plugin/plugin.json b/plugins/ms-ai-architect/.claude-plugin/plugin.json index 9f3b9bf..6321d42 100644 --- a/plugins/ms-ai-architect/.claude-plugin/plugin.json +++ b/plugins/ms-ai-architect/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ms-ai-architect", - "version": "1.8.0", + "version": "1.9.0", "description": "Microsoft AI Solution Architect - structured architecture guidance for the full Microsoft AI stack", "author": { "name": "Kjell Tore Guttormsen" diff --git a/plugins/ms-ai-architect/CHANGELOG.md b/plugins/ms-ai-architect/CHANGELOG.md index 27449fb..b65fe26 100644 --- a/plugins/ms-ai-architect/CHANGELOG.md +++ b/plugins/ms-ai-architect/CHANGELOG.md @@ -5,6 +5,52 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.9.0] - 2026-05-03 + +### Added — Playground v3 (full architecture rewrite) + +The playground at `playground/ms-ai-architect-playground.html` was rebuilt from scratch as a multi-surface decision-builder + report viewer (3867 lines, single-file). It replaces the v2 5-step pipeline with a project-aware app that persists state across sessions and visualizes parsed reports inline. + +- **4 surfaces:** + - Onboarding — 5 grouped expansion sections (organization, technology, security, architecture, business) with 18 fields covering organization profile, tech stack, compliance, architecture preferences, and business references. Drives prefill across all 24 commands. + - Home — 3 entry tracks (Onboard / New project / Catalog) plus project list with completion-meter per project. + - Catalog — 24 commands grouped in 5 expansion categories (regulatory, security, economy, documentation, tool) with full-text search, filtered counts, and direct form-launch. + - Project — per-project tabs (one per command category), command form prefilled from shared onboarding state, paste-back markdown import that parses and visualizes reports inline. +- **Persistent state:** IndexedDB primary store with localStorage fallback. Schema-versioned (`STATE_KEY = 'ms-ai-architect-state-v1'`) with eager `MIGRATIONS` pipeline that runs at cold-load and import time. Throttled writer prevents excessive disk traffic. +- **17 inline report renderers** routed via canonical archetype-routing table: + - Regulatory (6): classify pyramid, requirements list, transparency text, FRIA, conformity checklist, DPIA matrix-risk-6×5 + - Security (3): security 5×5 matrix, ROS 5×5 matrix with 7-dimension threat library, review findings + - Economy (2): cost distribution P10/P50/P90, license capability matrix + - Documentation (6): migrate phased plan, ADR, summary markdown, POC verdict, utredning, compare +- **14 markdown parsers** with the same archetype keys, exposed as `window.__PARSERS`. All parsers return `{ok, data}` or `{ok, errors[]}` — never throw. +- **Light/dark theme toggle** in the topbar, persisted in `localStorage('ms-ai-architect-theme')`. FOUC-safe: a small bootstrap script in `` reads the saved value before stylesheets parse. +- **Export/import** as JSON Decision Record envelope (Blob + FileReader). Schema-version-aware on import; downgrades trigger MIGRATIONS automatically. +- **Vendored design-system** at `playground/vendor/playground-design-system/`, kept in sync via `scripts/sync-design-system.mjs ms-ai-architect` from the marketplace root. SHA-256 MANIFEST detects local drift. +- **24 ACTIONS** registered through a single delegated click handler on `document` — keeps event-handler footprint minimal. + +### Added — Playground validation + +- `tests/test-playground-v3.sh` — bash 3.2-compatible static structure tests (170 PASS lines): vendored CSS link order, file://-safety, surfaces, 24 commands, 14 parsers, 17 renderers, design-system class usage, exposed globals, 23 ACTIONS handlers. +- `tests/test-playground-parsers.sh` — 70 PASS lines: validates 17 fixtures × parser routing keys + handlePasteImport wiring. +- `tests/run-e2e.sh --playground` — new flag dispatching both suites; included in `--all`. +- `playground/test-fixtures/` — 17 synthetic markdown fixtures (one per report-producing command, ANPR traffic-analysis example) covering all canonical parser archetypes. +- `playground/A11Y-RAPPORT.md` — accessibility report skeleton with WCAG 2.2 AA test grid for both themes. +- `playground/MANUAL-CHECKLIST.md` — 10-section manual QA checklist (round-trip, schema migration, project CRUD, command form prefill, paste-import per report type, parse errors, export/import cycle, theme toggle, file://-standalone, axe-core a11y per surface) with concrete DevTools-console assertions. + +### Changed + +- `playground/ms-ai-architect-playground.html` — replaced (v2 1990 lines → v3 3867 lines). Same canonical filename, so external links continue to resolve. +- Plugin README — new "## Playground (v3)" section documenting the 4-surface architecture and validation matrix. +- Plugin CLAUDE.md — replaced v2 5-step pipeline section with v3 architecture overview. `docs/playground-v2-spec.md` retained as historical reference but no longer the contract; v3 spec lives at `.claude/projects/2026-05-03-playground-v3-architecture/`. +- Marketplace root README — playground listing for ms-ai-architect updated to describe v3 architecture, persistence model, 17 renderers, theme toggle, and 240-test validation. + +### Notes + +- **Plugin API surface unchanged.** All 24 commands, 12 agents, 5 skills (387 reference docs), 2 hooks, and MCP server configuration remain identical to v1.8.0. Playground v3 is an additive, optional UI surface — users invoking `/architect:*` directly see no behavioral difference. +- v1.9.0 is a minor bump per SemVer because the plugin contract (commands/agents/skills/hooks/MCP) is backward-compatible. The playground's local IndexedDB state schema would only affect users who had the v2 playground running; existing state is auto-migrated by the eager MIGRATIONS pipeline. + +--- + ## [1.8.0] - 2026-04-09 ### Added diff --git a/plugins/ms-ai-architect/CLAUDE.md b/plugins/ms-ai-architect/CLAUDE.md index 79bd83c..5979a12 100644 --- a/plugins/ms-ai-architect/CLAUDE.md +++ b/plugins/ms-ai-architect/CLAUDE.md @@ -193,6 +193,12 @@ Interaktiv decision-builder + rapport-viewer for Microsoft AI-beslutninger. Erst | Manuell A11Y QA | Se `playground/MANUAL-CHECKLIST.md` | 10 seksjoner inkl. axe-core-kjøring per surface | | A11Y-rapport | `playground/A11Y-RAPPORT.md` | Skjelett — fylles ut etter kjøring | +### Screenshot-suite (v1.9.0) + +`scripts/screenshots/capture-playground.py` automatiserer screenshots av alle 4 surfaces + 3 rapport-arketyper via Playwright. Output går til `playground/screenshots/` og embeddes i plugin README. Krever Playwright Python-pakke + chromium. Kjøres med `python3 scripts/screenshots/capture-playground.py` — ca. 15-20 sekunder. Demo-state seedes inline (Statens vegvesen ANPR-eksempel matcher fixture-filene), så ingen interaktivt brukerflow er nødvendig. + +Kjør på nytt etter design-endringer i playground eller `shared/playground-design-system/` (etter sync). + ### Vendored design-system Playground laster CSS fra `playground/vendor/playground-design-system/` — en vendored diff --git a/plugins/ms-ai-architect/README.md b/plugins/ms-ai-architect/README.md index 35d2ce2..2af825b 100644 --- a/plugins/ms-ai-architect/README.md +++ b/plugins/ms-ai-architect/README.md @@ -6,7 +6,7 @@ *AI-generated: all code produced by Claude Code through dialog-driven development. [Full disclosure →](../../README.md#ai-generated-code-disclosure)* - +    @@ -356,7 +356,7 @@ Interactive **decision-builder + report viewer** for Microsoft AI architecture d - **4 surfaces:** Onboarding (18 shared fields) → Home (project list + 3 entry tracks) → Catalog (24 commands grouped by 5 expansion categories with search) → Project (per-project tabs, command form prefill, paste-back report import + visualization) - **Persistent state:** IndexedDB primary store with localStorage fallback. Schema-versioned (`STATE_KEY = 'ms-ai-architect-state-v1'`) with eager `MIGRATIONS` pipeline. - **17 report renderers:** Each report-producing command has a parser (markdown → structured) and renderer (structured → HTML visualization: pyramid, matrix, radar, findings, distribution, capability-matrix, etc.) wired through a canonical archetype-routing table. -- **Theme:** Dark default + light mode toggle, persisted in `localStorage('ms-ai-architect-theme')`. +- **Theme:** Dark default + light mode toggle, persisted in `localStorage('ms-ai-architect-theme')`. Light-mode tokens are pending in the shared design-system; the toggle works but currently only swaps the label. - **Export/import:** JSON Decision Record envelope (Blob + FileReader), schema-version-aware on import. ```bash @@ -364,6 +364,19 @@ Interactive **decision-builder + report viewer** for Microsoft AI architecture d open plugins/ms-ai-architect/playground/ms-ai-architect-playground.html ``` +### Screenshots + +| Surface | Preview | What you see | +|---------|---------|--------------| +| Onboarding (18 shared fields, 5 grouped expansions) |  | Sidebar with form-progress per group · all 5 groups collapsed when complete · "Lagre og fortsett" enabled when 18/18 filled | +| Home (project list + 3 entry tracks) |  | Greeting based on shared state · 3 entry-track cards · project cards with completion meter (0/17 reports) · sticky topbar with theme toggle | +| Catalog (24 commands across 5 expansion categories, full-text search) |  | Search input · 24 of 24 hits · expansion groups (Regulatorisk/Sikkerhet/Økonomi/Dokumentasjon/Verktøy) · expanded card with `RAPPORT` pill, description, argument hints, and "Åpne skjema" | +| Project — EU AI Act classify report (pyramid renderer) |  | 4-tier risk pyramid with active tier (`aria-current="true"`) · role + justification · obligations bullet list per Art. 9-49 | +| Project — ROS analysis (5×5 matrix + 7-dimension radar) |  | 5×5 risk matrix · color-banded cells with threat-bubbles per consequence × likelihood · radar overlay covering 7 ROS-AI dimensions (Etterlevelse/Konfidensialitet/Integritet/Sporbarhet/Pålitelighet/Robusthet) | +| Project — Cost report (P10/P50/P90 distribution) |  | P10/P50/P90 bars · per-component NOK breakdown table · 3-year capex/opex/total/akkumulert ledger | + +Reproduce: `python3 scripts/screenshots/capture-playground.py` (Playwright + chromium required). + ### Validation | Test | Command | Coverage | diff --git a/plugins/ms-ai-architect/playground/ms-ai-architect-playground.html b/plugins/ms-ai-architect/playground/ms-ai-architect-playground.html index 4090b21..e1fe040 100644 --- a/plugins/ms-ai-architect/playground/ms-ai-architect-playground.html +++ b/plugins/ms-ai-architect/playground/ms-ai-architect-playground.html @@ -36,6 +36,11 @@ Kompakt med vilje — ingen komponent-CSS skal duplikeres her. -->