Aspirational vs Committed
+Modifier på Objective-card. Aspirational (0,7 = success) har stiplet ring + ASP-badge. Committed (1,0 = expected) har solid ring + COM-badge.
+diff --git a/CLAUDE.md b/CLAUDE.md index ba7185c..a14d093 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,8 +17,8 @@ plugins/ ultra-cc-architect/ v0.1.0 — Claude-Code-specific architecture matching + skill-factory (extracted from ultraplan-local in v3.0.0) shared/ - playground-design-system/ v0.1 — Aksel/Digdir-aligned CSS design system + JSON schemas for plugin Playgrounds (consumed by ms-ai-architect, okr, llm-security, ultraplan-local, config-audit) - playground-examples/ — Reference scenarios (ROS-Lier, OKR-Bærum, security-Direktorat) + showcase landing + playground-design-system/ v0.1 — Aksel/Digdir-aligned CSS design system + JSON schemas + self-hosted Inter/JetBrains Mono/Source Serif 4 fonts (Tier 1+2+3 wave 1+wave 2 = 20 Tier 3 components total). Consumed by ms-ai-architect, okr, llm-security, ultraplan-local, config-audit + playground-examples/ — Reference scenarios (ROS-Lier, OKR-Bærum, security-Direktorat) + showcase landing + 12 isolated Tier 3 wave 2 component demos under components/ ``` Hvert plugin er selvstendig med egen CLAUDE.md, README, hooks, agents og commands. `shared/` inneholder marketplace-nivå infrastruktur som flere plugins bygger på. diff --git a/README.md b/README.md index 92b510d..03af5e7 100644 --- a/README.md +++ b/README.md @@ -247,10 +247,12 @@ Shared design system for plugin Playgrounds — visual self-service UIs that com Targets five plugins: `ms-ai-architect`, `okr`, `llm-security`, `ultraplan-local`, `config-audit`. Built for Norwegian public sector decision-makers (kommunaldirektører, sikkerhetsoffiserer, OKR-koordinatorer) plus developer power-users — one visual family, two information densities. -- **Tokens** — Inter font, body 17px, Digdir blue `#0062BA`, deuteranopia-safe severity ramp, distinct severity-red vs failure-red, plugin-scope colors, semantic CSS custom properties +- **Tokens** — Inter/JetBrains Mono/Source Serif 4 (all self-hosted, OFL 1.1), body 17px, Digdir blue `#0062BA`, deuteranopia-safe severity ramp, distinct severity-red vs failure-red, plugin-scope colors, semantic CSS custom properties - **Tier 1 components** — radar/spider, 5×5 matrix-heatmap (bottom-left origin, ROS/DPIA), findings-browser, critique-card, wizard/stepper, live-meter with antipattern lints - **Tier 2 components** — decision-tree (AI Act 4-step), traffic-lights, diff-review, treemap (token hotspots), distribution P10/P50/P90, command-pipeline output, AI Act 4-color pyramide, pipeline-cockpit, verdict-pill + 5-band risk-meter, codepoint-reveal (Unicode steganography), small-multiples grid (16-category posture without overcrowded radar), OWASP badges (LLM/ASI/AST/MCP) +- **Tier 3 components (wave 1+2, 20 total)** — pair-before-after, AI Act timeline, 3-track entry, FRIA rights-matrix, capability-matrix, parallel-agent-status, ErrorSummary, GuidePanel, toxic-flow chain, fleet-overview, kanban Keep/Review/Remove, maturity-ladder, classify-and-transform, cycle-ribbon, persistent-antipattern, suppressed-signals, ExpansionCard, ReadMore, FormProgress, Aspirational-vs-Committed - **JSON schemas** — `finding.schema.json`, `okr-set.schema.json`, `ros-threat.schema.json` for cross-plugin data interchange +- **Privacy-first** — all fonts self-hosted as woff2 in `fonts/`, zero external CDN requests, GDPR-safe for offentlig sektor, works offline / behind air-gapped firewalls - **Reference scenarios** — Lier kommune ROS-rapport (ms-ai-architect), Bærum kommune T2 OKR live-writer, Direktoratet for digital tjenesteutvikling ToxicSkills findings review (85 funn, BLOCK) → [Full documentation](shared/playground-design-system/README.md) · [Browse showcase](shared/playground-examples/index.html) diff --git a/shared/playground-design-system/README.md b/shared/playground-design-system/README.md index fd404f7..b54de64 100644 --- a/shared/playground-design-system/README.md +++ b/shared/playground-design-system/README.md @@ -20,7 +20,14 @@ shared/ │ ├── base.css # Reset, typography, primitives, focus, print │ ├── components.css # Tier 1: radar, matrix, findings-browser, critique-card, wizard, live-meter │ ├── components-tier2.css # Tier 2: decision-tree, traffic-lights, diff-review, treemap, distribution, command-pipeline, pyramide, pipeline-cockpit, verdict-pill+risk-meter, codepoint-reveal, small-multiples, OWASP badges -│ ├── components-tier3.css # Tier 3: pair-before-after, AI Act timeline, 3-track entry, FRIA rights-matrix, capability-matrix, parallel-agent-status, ErrorSummary, GuidePanel +│ ├── components-tier3.css # Tier 3 wave 1: pair-before-after, AI Act timeline, 3-track entry, FRIA rights-matrix, capability-matrix, parallel-agent-status, ErrorSummary, GuidePanel +│ ├── components-tier3-supplement.css # Tier 3 wave 2 (12): toxic-flow, fleet-overview, kanban Keep/Review/Remove, maturity-ladder, classify-and-transform, cycle-ribbon, persistent-antipattern, suppressed-signals, ExpansionCard, ReadMore, FormProgress, Aspirational-vs-Committed +│ ├── fonts.css # @font-face declarations for self-hosted fonts +│ ├── fonts/ # Self-hosted woff2 + license attribution +│ │ ├── Inter-{Regular,Medium,SemiBold,Bold}.woff2 +│ │ ├── JetBrainsMono-{Regular,Medium,SemiBold}.woff2 +│ │ ├── SourceSerif4-{Regular,Semibold}.woff2 +│ │ └── LICENSES.md # All three are SIL OFL 1.1 │ ├── print.css # A4 print stylesheet with B/W severity patterns │ └── schemas/ # Cross-plugin JSON schemas │ ├── finding.schema.json # Used by llm-security, config-audit, ultraplan-review, ms-ai-review @@ -31,8 +38,22 @@ shared/ ├── index.html # System showcase (browse all components) ├── ros-lier-kommune.html # Scenario A — ms-ai-architect ROS report ├── okr-baerum.html # Scenario B — OKR live writer - ├── security-direktorat.html # Scenario C — llm-security findings review + ├── security-direktorat.html # Scenario C — llm-security findings review ├── templates.html # Skeleton + print-template demos + ├── tier3-preview.html # Tier 3 wave 1 visual preview + ├── components/ # Tier 3 wave 2 — 12 isolated demo pages + │ ├── sankey-toxic-flow.html + │ ├── fleet-overview.html + │ ├── kanban.html + │ ├── maturity-ladder.html + │ ├── classify-transform.html + │ ├── cycle-ribbon.html + │ ├── persistent-antipattern.html + │ ├── suppressed-signals.html + │ ├── expansion-card.html + │ ├── read-more.html + │ ├── form-progress.html + │ └── aspirational-committed.html ├── ros-app.js # Scenario A interactivity └── ros-data.js # Scenario A mock data ``` @@ -50,8 +71,12 @@ To use the design system from a plugin's Playground: + + + +
Modifier på Objective-card. Aspirational (0,7 = success) har stiplet ring + ASP-badge. Committed (1,0 = expected) har solid ring + COM-badge.
+Lim inn tildelingsbrev øverst — hver krav-setning klassifiseres etter OKR-egnethet (lav, medium, høy).
+Persistent stripe under app-header som viser hvor i tertialen brukeren er. Klikk for detaljpanel.
+Skjul sekundær informasjon bak klikkbar overskrift. Animert utvidelse respekterer prefers-reduced-motion.
+Avvises rapporten må arbeidsgruppen ta opp igjen tre trusler i kategori "Kritisk":
+Forventet forsinkelse: 4–6 uker. Pilot-fasen flyttes fra juni til august.
+Konfig versjoneres i git.fromaitochitta.com/playground/configs, valideres ved CI mot config.schema.json, og distribueres via signert artifact til target-tenants.
Cross-project posture på én skjerm. 4 kolonner desktop → 2 → 1.
+Vertikal sidebar for store skjema. Autosave-status, ferdig-prosent per steg, estimert resterende tid. Ikke å forveksle med horisontal stepper.
+Skjemaet hadde 12 felt — 7 utfylt, 5 igjen. Estimert ferdig om 5 minutter.
+Klassifisér installerte plugins/MCP-servere etter trust. Klikk-flytt mellom kolonner.
+Vertikal stepper med rik beskrivelse. Current step har progress-ring (her 65 %).
+Markerer antipatterns som har dukket opp i 2+ påfølgende sykluser. Pulserende prikk skiller seg fra one-shot.
+KR-formuleringer beskriver aktiviteter ("Innføre nytt system", "Pilotere X") i stedet for målbare utfall. Vedvarende mønster på tvers av sykluser indikerer at OKR-coaching ikke har festet seg.
+Targets satt så lavt at de oppnås uten reell innsats. Score > 0,9 to sykluser på rad uten endring i baseline.
+Inline-trigger for å skjule lange forklaringer mid-tekst.
+Sensitivity Labels brukes til å klassifisere dokumenter etter konfidensialitetsnivå. + + + + Når et dokument merkes "Konfidensielt — intern", vil M365 Copilot ikke oppsummere innholdet for brukere uten samme tilgangsnivå. + DLP-policyen sjekker label-attributter ved hver prompt-respons og avbryter generering hvis cross-label data flyter sammen. + For Lier kommune betyr dette at saksbehandlere på Helse-avdelingen ikke utilsiktet kan dra inn HR-relatert informasjon i samme svar. + + +
+ +Schrems II-vurdering kreves for cross-tenant data-flyt. + + + + EU-domstolen kjente Privacy Shield ugyldig i 2020. Overføring av personopplysninger til USA krever supplerende tiltak (TIAs, krypteringsnøkler i EU). + For Microsoft 365-tenants betyr dette at EU Data Boundary må være aktivert, og at audit-logger må bekrefte at prompt-data ikke forlater EØS. + + +
+Trifecta Flow Analysis: Input → Access → Exfil. Hver leg viser type, kilde og mitigation-status. Tykkere arrows = høyere severity. Grønt skjold = mitigation som bryter kjeden.
+Synlig — men sammenklappet — liste over funn som ble nedgradert eller fjernet, og hvorfor. Aldri skjult i en meny: tillit krever transparens.
+Etter funn-listen, før footer:
+ +Entropy-scanner flagget GLSL shader-keywords som secrets. Nedgradert til info etter regel-treff på shaders/*.glsl.
Fixture-filer i tests/fixtures/ med bevisst dummy-data (bestått manuell review 2026-04-22).
Findings under 4 ord — ikke handlebar. Filtrert ut av Judge.
+