KB-7FD8

MOW Unified Canvas — Mock Data Contract (v1)

3 min read Revision 1
mowunified-canvasmock-datadata-contract2026-05-29

MOW Unified Canvas — Mock Data Contract (v1)

Describes mock-data.json deployed at the preview (.../ui-preview/mow/unified-canvas/v1/mock-data.json). Generated from Component 3 of the spec. Mock only — no production data, no secrets. All ids are fabricated UUID-shaped strings.

Top-level shape

{
  "schema_ref", "generated_by", "generated_at",
  "traffic_light_legend": { green|yellow|red|gray|blue|orange : meaning },
  "tiers":  { T6, T5, T4, T3, T2, T1 : { context: CanvasContext, nodes: CanvasNode[] } },
  "states": { normal, proposal, instance, governance_alert }
}

Coverage matrix

Concern Where in mock
All 6 tiers (T6→T1) tiers.* each with context + nodes
Breadcrumb growth tiers.Tn.context.breadcrumb (deepens T6→T1)
Default view = T3 states.normal.active_tier = T3
child_preview max-3 + overflow tiers.T2.nodes[*].child_preview + child_count
Traffic-light variety green/yellow/red/gray across T2 nodes
automation_level full_auto / agent_in_loop / human_in_loop / manual on T1–T2
permission_actions [view], [view,propose], [view,propose,admin]
proposal_count badge tiers.T3.nodes[0], tiers.T2 NV03 (2)
Proposal Mode states.proposal + sample_proposals[] (edit + add)
Instance Mode (9-state) states.instance.node_instance_overrides (completed/in_progress/overdue/created/assigned/waiting_for_approval)
SLA traffic light (green/yellow/red/blue/orange) per instance override
Governance-alert / freeze (Đ32/37) states.governance_alert.alert (1/2 approvals, freeze_active)
Large-scale states.governance_alert.large_scale_demo (47 children, +44 overflow)

Domain content (faithful to PHU-LUC-A)

Hierarchy: Thương mại quốc tế (T6) → Incomex Sài Gòn (T5) → Nhân sự (T4) → Tuyển dụng (T3) → Tuyển sinh (T2) → NV01..NV06 (Tiếp nhận, Sàng lọc, Phỏng vấn, Thu hồ sơ, Đào tạo, Xuất cảnh) → T01..T03 tasks (T1).

Backend-validation TODO (Claude Code, after approval)

Each CanvasNode field must be mapped to an existing PG column / Directus field (reuse-first, no new tables) during the live PG survey — see spec Component 3 + the master handoff pack Branch H. iu_ref must resolve to a real IU; workflow_ref/task_type_ref to existing rows.