MOW Unified Canvas & Master UI Handoff Pack — Overview / Control Tower
MOW Unified Canvas & Master UI Handoff Pack — Overview / Control Tower
Campaign: MOW_UNIFIED_CANVAS_AND_MASTER_UI_HANDOFF_PACK_MEGACAMPAIGN
Date: 2026-05-29 · Status: PASS (document-only; zero mutation) · Class: UI handoff pack + data-contract refinement + Claude Design / Claude Code split handoff. No UI implementation.
Host: contabo VPS · Container: postgres · DB: directus (PG 16) · Read channel: MCP query_pg role context_pack_readonly · Apply channel: NOT USED (read-only mission).
MOW remains the owning Mother. MOWD = the MOW Design Registry subdomain, not a fifth Mother. No
GOV-MOWD; owner isGOV-MOW. No second source-of-truth. IU-centered invariant preserved. Nuxt is a render shell with zero business logic; the backend (PostgreSQL + Directus views/permissions + DOTs) enforces all visibility and all actions.
1. What this package is
This package converts scattered Cowork UI ideas, prototypes (PHU-LUC-A/C/D/E), the prior MOW_UNIFIED_CANVAS_UI_HANDOFF_PACK_v1, and the MOWD Phase 1 backend contracts into one canonical UI handoff pack that splits cleanly into a Claude Design brief and a Claude Code brief. It is wireframe-and-contract level. It implements nothing.
It bridges seven layers into one coherent spec:
- Cowork visual intent (locked prototypes A & C; draft D & E; v1 handoff pack tokens & contract).
- T6→T1 hierarchy model ("MỘT khuôn, SÁU tầng").
- MOW Design Registry data contract (Phase 1 doc 04 + v1
CanvasNode/CanvasContext). - DOT action mapping (Phase 1 15-DOT family + 4 canvas read DOTs).
- Backend permission model (Điều 28 render-shell, Điều 37 per-tier permission slice).
- Claude Design handoff (visual, tokens, components — no backend overload).
- Claude Code handoff (contracts, views, DOTs, permission, no visual guessing).
2. Gate 0 result (this session)
| Check | Result |
|---|---|
| KB read access | ✅ Incomex_KB list/batch_read OK; all source packages present |
| Live PG read (data-contract validation) | ✅ available via query_pg/pg_schema role context_pack_readonly; container postgres healthy (up 6 weeks) |
| Cowork Drive references | ✅ folder 1bOPTt0VSurdMde_xHYi77Je-q3W_RUrd fully readable (20 items): v1 handoff pack, requirements FINAL, PHU-LUC-A/B/C/D/E, _STATUS |
| Apply channel | NOT USED — read-only mission |
| Mutation | None — no DDL, no Directus write, no Qdrant write, no DOT run, no Nuxt code |
| UI code generation | None — wireframe/contract only |
Access gap: none material. The Cowork prototypes are HTML/JS source (not binary screenshots); their visual intent was extracted from code verbatim (tokens, labels, component/class names). The "dark theme" named in the campaign brief is not present in the prototypes (they are a light Incomex-green theme) — recorded as a design decision in doc 07, not a blocker.
3. Source baseline (carried into every doc)
- Backend (MOWD Phase 1, committed-pending-Điều-32, not yet applied): additive EXTEND on
workflows(+8),workflow_steps(+7),workflow_step_relations(+1); read viewsv_mow_design_workflow,v_mow_design_step,v_mow_governance_cockpit; 15-DOT family (6 read rehearsed GREEN, 9 mutating deferred); governance onworkflow_change_requests+approval_requests/apr_approvals. - Live snapshot:
workflows 2 · workflow_steps 70 · workflow_step_relations 80 · tasks 10 · approval_requests 211 · apr_approvals 42 · governance_registry 9 · dot_iu_command_catalog 54 · information_unit 219. - Cowork canonical intent: one-frame-six-tier; tokens
--accent:#639922 / --warn:#ef9f27 / --danger:#e24b4a; 6-color traffic-light reconciled with the 9-state floor + 2 derived state machine; proposal-only editing ("Đề xuất cải tiến", never "Sửa trực tiếp").
4. Document map
| Doc | Branch | Title | Verdict |
|---|---|---|---|
| 00 | — | Overview / Control (this) | PASS |
| 01 | A | Canonical UI Intent | Locked |
| 02 | B | T6→T1 Interaction Model | Explicit |
| 03 | C | Node / Card Data Contract | Concrete + backend-mapped |
| 04 | D | Four Master UI Surfaces | Specified |
| 05 | E | DOT Action Map | Mapped (DOT_SPEC_ONLY flagged) |
| 06 | F | Proposal / Kaizen Flow | Defined |
| 07 | G | Claude Design Handoff | Separated, visual-only |
| 08 | H | Claude Code Handoff | Separated, engineering-only |
| 09 | I | Prototype Plan (5 stages) | Staged + acceptance |
| 10 | J | Risk Review | Complete |
| 11 | K | Next Prompt Pack (≥12) | 14 delivered |
| 12 | L | Law / Forbidden / Self-Review | PASS |
5. Headline verdicts
- UI handoff: PASS — Cowork intent captured verbatim, T6→T1 explicit, node contract concrete, four surfaces specified.
- Claude Design handoff: READY — visual brief separated, tokens/components/constraints supplied, no backend overload.
- Claude Code handoff: READY — data contracts + backend views/functions + DOT map + permission model + states + acceptance, no visual guessing.
- DOT action map: COMPLETE — every UI action mapped to a DOT; missing/unbuilt ones flagged
DOT_SPEC_ONLY. - Prototype plan: READY — 5 stages (static wireframe → mocked JSON → read-only shell → DOT proposal mode → WF-001 pilot) each with acceptance criteria.
- Forbidden compliance: FULL — no Nuxt, no UI code, no DDL, no Directus/Qdrant write, no runtime, no self-approval, no law enactment.
6. Next macro
MOW_UNIFIED_CANVAS_CLAUDE_DESIGN_VISUAL_PROTOTYPE (doc 11 prompt 1) in parallel with MOW_CANVAS_BACKEND_VIEW_CONTRACT_VALIDATION_LIVE_PG (prompt 3) — both gated behind the still-pending human Điều 32 EXTEND commit before any DOT/view goes live. UI shell build (prompt 2) starts only after read-model contract validation passes.