▣ wi

New work item

Sub-item of #1042 Demo-data UI+route gating behind SHOW_DEMO_TOOLS flag (server-side, default FALSE, byte-identical fleet-wide). Conditional-render not CSS-hide (no DOM/view-source leak) for ALL roles incl admin; gate demo UI surfaces AND seed/teardown server actions/routes (403/404 when off — seal the injection path, not just the button). Keep code: flag-gated in main, CI typecheck touch so demo path compiles, one-line README. Pluto surfaces: createdVia='demo_seed', demo teardown route, @demo.pluto allowlist (email-allowlist.ts), seed-demo script, any isDemo/demo badge/filter/nav. Existing demo ROWS = separate db-op, Elazar's call (Pluto LIVE → purge demo-labeled only w/ archive-context, or leave hidden). BLOCKED on Elazar greenlight + nw-whey's cross-app enumeration checklist. · pluto