← Design · c121

plan/07-adoption-stage.md

07 · Adoption stage in the demo world + the docs (Wave 3, serial)

TL;DR: Mark Peterson's observation goes into the lab and the docs: an exception tightens early (Observe org-wide, Enforce for a pilot team or users) and loosens later (Enforce org-wide, Observe/Off where needed). Rob: preconfigure the demo with exactly that zero-to-one story.

Owns: fixture seeds in app/data/governance-fixture.ts (OCT19_MODES / OCT19_EXCEPTIONS / STORY_BETA area only), app/components/governance/mock/Bar.vue, app/composables/useGovernanceMock.ts (knob only), app/pages/pages/phase4/governance-model.vue.

Steps

  1. ?stage=adoption|established (D14), default established = today's world (a mix, already leaning established). adoption seeds: every enforceable policy Observe org-wide; exceptions Enforce for Team Engineering (pilot) on P-MCP, P-PROVIDERS, P-SENS-SANITIZE and for two named users; no loosening exceptions; findings mostly Observed (hidden by default → the findings page shows the pilot's enforced findings and the "N Observed hidden" line — the story). established: make sure it has at least one Observe and one Off exception with reasons and one with Until.
  2. Publishing seed per stage: adoption = v3 live, draft "Enforce P-MCP for Finance pilot"; established = today's v13.
  3. Bar.vue: stage switch, kept across links like as.
  4. Docs on /pages/phase4/governance-model: a section "Exceptions across the adoption lifecycle" — two short columns (Initial adoption / Established rollout) with Mark Peterson's two sentences, a mini posture bar each (05's component), and "See it" links to the lab with ?stage=. Brand voice: run check-brand-voice on the copy.
  5. Sweep every lab page in both stages (headless), fix seeds that break a page.

Done when

Both stages render on all lab pages; governance-model section live. Screenshots shots/07-*.png.

Follow-up (not this cycle)

The qdash demo world (c113 baked demo, demo.qpoint.io) and real user docs.

Qpoint Brand Style Guide