# WP-28 — Brief v2 demo polish (scenarios, e2e, docs) Status: todo Phase: 6 — Brief v2 (edit-on-the-letter, org templates, server-rendered preview) ## Why Phase 6 ships across five WPs; this one makes it demonstrable and closes the loop: a demo script that maps every kept PRD §12 scenario to a URL + click path, an e2e spec covering the new flows end-to-end, story gap-fill, and the docs/README updates that keep CLAUDE.md and the backlog truthful. ## Read first - PRD Brief v2 §6 (demo choreography), §12 (scenario list); WP-23..27 as built - `e2e/` (WP-19 conventions); `src/app/shared/infrastructure/scenario.ts` ## Decisions (pre-made, don't relitigate) - **No preset registry.** The PRD's 18 scenarios collapse onto the existing toggles: `?role=drafter|approver|admin`, `?scenario=slow|loading|error` (the interceptor already covers all `/api/` calls, the new endpoints included), and `POST /brief/reset`. The demo script documents the mapping; no new interceptor cases, no scenario code. - Demo script lives at `docs/prd/0003-brief-v2-demo-script.md` and follows the §6 choreography (compose → preview → switch sub-org seed → "two axes, one render"). - One e2e spec, not a suite: drafter composes on canvas → submit → approve → send pins the org-template version; admin publishes → drafter canvas reflects it. Preview assertion is content-type-level (text/html), not pixel. - CLAUDE.md gets the new role value + route only — keep it rules, not narrative. ## Files - `docs/prd/0003-brief-v2-demo-script.md` (new) - `e2e/brief-v2.spec.ts` (new) - story gap-fill where WP-24..27 left holes - `docs/backlog/README.md` (statuses), `CLAUDE.md` (roles/routes touch-up) ## Steps 1. Demo script: table scenario → URL + clicks, covering every kept §12 entry. 2. e2e spec (backend + FE running, WP-19 pattern). 3. Story sweep for the new components/states. 4. Docs updates. ## Acceptance criteria - [ ] Every kept PRD §12 scenario has a working URL + click path in the script (walked manually once). - [ ] `npm run e2e` green, including the new spec. - [ ] Full GREEN; backlog README statuses correct; CLAUDE.md mentions `?role=admin` and `/brief/huisstijl`. ## Verification Walk the demo script top to bottom against `docker compose up`; GREEN one-liner; `npm run e2e`. ## Out of scope New scenario interceptor cases; a scenario-switcher UI; screenshots/video. ## Risks The demo script rots when flows change — it lists URLs + clicks only (no prose walkthroughs), so churn stays cheap.