Second template axis (org identity: letterhead, footer, signature, margins) server-side: OrgTemplateStore with JSON version history, publish/rollback, sent-brief version pinning, admin role + capability, 5 admin endpoints, org-logo upload category. FE seam widened only (Role/Capability unions, interceptor); WP-24/26 consume it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
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), andPOST /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.mdand 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
- Demo script: table scenario → URL + clicks, covering every kept §12 entry.
- e2e spec (backend + FE running, WP-19 pattern).
- Story sweep for the new components/states.
- Docs updates.
Acceptance criteria
- Every kept PRD §12 scenario has a working URL + click path in the script (walked manually once).
npm run e2egreen, including the new spec.- Full GREEN; backlog README statuses correct; CLAUDE.md mentions
?role=adminand/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.