feat(ms-ai-architect): release v1.9.0 with playground v3 + screenshot suite

Version bump: v1.8.0 -> v1.9.0 (minor — plugin API surface unchanged).

Version sync:
- .claude-plugin/plugin.json (canonical), README.md badge,
  CHANGELOG.md (full v1.9.0 entry with playground v3 architecture,
  validation suite, A11Y artifacts, SemVer rationale),
  marketplace root README.md listing.

Screenshot suite (new):
- scripts/screenshots/capture-playground.py — Playwright Python automation
  that opens playground from file://, populates __store with Statens vegvesen
  ANPR demo data, navigates each surface, paste-imports fixtures, scrolls to
  the relevant report-slot, and saves viewport screenshots.
- 6 PNG screenshots in playground/screenshots/ covering: onboarding (18/18
  filled), home (3 projects), catalog (24 commands across 5 expansion groups),
  classify pyramid (high-risk Annex III), ROS 5x5 matrix + 7-dim radar,
  cost P10/P50/P90 distribution.

Doc updates (3 levels per repo policy):
- Plugin README: new "Screenshots" subsection embeds all 6 with description
  columns, plus reproduce command.
- Plugin CLAUDE.md: new "Screenshot-suite (v1.9.0)" subsection documenting
  the automation, demo-state seeding, and re-run trigger conditions.
- Marketplace root README: ms-ai-architect listing now mentions the
  screenshot suite + reproduce command.

Reproduce screenshots: python3 scripts/screenshots/capture-playground.py.

Notes:
- Light-mode tokens are not in the vendored design-system yet. The toggle
  swaps data-theme + label correctly (Step 13 mechanics intact), but the
  CSS palette only ships dark. Captured dark-mode only; light-mode capture
  re-enables when shared/playground-design-system gains [data-theme="light"]
  overrides.
- Local CSS fix in playground HTML: added `[hidden] { display: none !important; }`
  in the inline app-shell <style> block. The vendored .error-summary rule
  sets display: flex which overrode HTML's [hidden] default, leaking the
  onboarding error banner on cold start. Plugin-local for now; a proper
  fix belongs in shared/playground-design-system/components-tier3.css.

Verified post-bump:
- bash tests/validate-plugin.sh -> 215/215 PASS
- bash tests/run-e2e.sh --playground -> 240/240 PASS
This commit is contained in:
Kjell Tore Guttormsen 2026-05-03 20:40:07 +02:00
commit 9664bf1b1c
13 changed files with 435 additions and 4 deletions

View file

@ -6,7 +6,7 @@
*AI-generated: all code produced by Claude Code through dialog-driven development. [Full disclosure →](../../README.md#ai-generated-code-disclosure)*
![Version](https://img.shields.io/badge/version-1.8.0-blue)
![Version](https://img.shields.io/badge/version-1.9.0-blue)
![Platform](https://img.shields.io/badge/platform-Claude_Code_Plugin-purple)
![Docs](https://img.shields.io/badge/reference_docs-387-green)
![Agents](https://img.shields.io/badge/agents-12-orange)
@ -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) | ![Onboarding](playground/screenshots/01-onboarding.png) | 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) | ![Home](playground/screenshots/02-home.png) | 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) | ![Catalog](playground/screenshots/03-catalog.png) | 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) | ![Classify pyramid](playground/screenshots/04-project-classify-pyramide.png) | 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) | ![ROS matrix](playground/screenshots/05-project-ros-matrix.png) | 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) | ![Cost distribution](playground/screenshots/06-project-cost-distribution.png) | 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 |