KB-3B68

UI Preview Master Home — Manifest Contract

3 min read Revision 1
ui-previewmaster-homemanifest-contractgovernance-index

UI Preview Master Home — Manifest Contract

manifest.json is the single source the Master Home page renders. It is a static file deployed next to index.html under /ui-preview/_master/v1/.

Top-level

{
  "schema_version": "1.0",
  "workspace": "Incomex UI Preview Workspace",
  "generated_by": "claude-code",
  "generated_at": "YYYY-MM-DD",
  "preview_base": "https://vps.incomexsaigoncorp.vn/ui-preview/",
  "status_vocab": [...],      // allowed status values
  "approval_vocab": [...],    // allowed approval_status values
  "groups": [ { "id": "...", "label": "..." } ],
  "surfaces": [ <surface>... ]
}

Surface row

field type notes
id string kebab-case unique id
group string must match a groups[].id
surface_name string human label
description string one-line purpose
status enum see status vocab
approval_status enum none / pending_user_review / user_approved / changes_requested
current_version string|null e.g. "v1" if a preview exists
preview_url string|null full URL if deployed
spec_path string|null KB path to spec
review_log_path string|null KB path to review-log
design_brief_path string|null KB path to design brief
owner_agent string claude-design / claude-code / etc.
next_action string the immediate next step
dependencies string[] ids of surfaces this depends on
checklist object 9 booleans (below)
updated_at string YYYY-MM-DD

Status vocab

not_started, idea, cowork_sketch, spec_ready, preview_deployed, needs_review, approved, design_polish, code_ready, implemented

Approval vocab

none, pending_user_review, user_approved, changes_requested

Checklist (9 booleans, rendered in this order)

idea, cowork_sketch, spec_in_kb, preview_deployed, gpt_reviewed, user_approved, design_polished, code_ready, shell_implemented

Rules

  • Only mark a checklist box true when there is KB / deploy evidence. Never invent approvals.
  • A surface with a live preview must have preview_deployed: true and a non-null preview_url.
  • user_approved may only be set by a human approval recorded in the surface review-log.

Versioning

  • v1 manifest is shipped under _master/v1/. Updating the index = redeploy manifest.json in place (additive content change), or cut _master/v2/ for a structural change.
  • Optional future: _master/current/ as a mutable pointer — only if explicitly created and documented (see the update/versioning protocol). Not used in v1.