KB-6ECB

MOW Unified Canvas & Master UI Handoff Pack — Overview / Control Tower

6 min read Revision 1
mowmowdui-handoffunified-canvascontrol-towerclaude-designclaude-code2026-05-29

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 is GOV-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:

  1. Cowork visual intent (locked prototypes A & C; draft D & E; v1 handoff pack tokens & contract).
  2. T6→T1 hierarchy model ("MỘT khuôn, SÁU tầng").
  3. MOW Design Registry data contract (Phase 1 doc 04 + v1 CanvasNode/CanvasContext).
  4. DOT action mapping (Phase 1 15-DOT family + 4 canvas read DOTs).
  5. Backend permission model (Điều 28 render-shell, Điều 37 per-tier permission slice).
  6. Claude Design handoff (visual, tokens, components — no backend overload).
  7. 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 views v_mow_design_workflow, v_mow_design_step, v_mow_governance_cockpit; 15-DOT family (6 read rehearsed GREEN, 9 mutating deferred); governance on workflow_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.

Back to Knowledge Hub knowledge/dev/reports/architecture/mow-unified-canvas-master-ui-handoff-pack-2026-05-29/00-overview-and-control.md