KB-5047

09 — UI Preview Master / Official List Cross-Check

4 min read Revision 1
architecturesecond-passui-preview-masterui-pagesmanifestdriftreconcile

09 — UI Preview Master / Official List Cross-Check

Mission §4 UI objects + the central question: are official lists connected to any live registry yet?

Drift verified directly this pass

  • review-log.md (rev 4) STILL says "19 UI surfaces across 4 groups" while the live manifest = 61 items / 16 groups. Read directly this pass → drift confirmed (not inferred). The static governance artifact disagrees with the static manifest it documents.
  • information_unit has no ui unit_kind (verified, doc 08) → surfaces are not IUs.
  • ui_pages (37) = live Nuxt routes, PG, counted by PIV-008 (verified 37). manifest (61) = design surfaces, static JSON, hand-counted. No join key. Two disjoint inventories — verified.
  • NEW this pass: CAT-007 'page' = record 37 vs count_b 52, LỆCH. A third number enters the UI-count picture (37 ui_pages / 52 recompute / 61 manifest). The meta_catalog page CAT is itself in LỆCH — so even the PG side of the UI count is not internally consistent.

Are official lists connected to a live registry? (mission Q9)

Split answer, verified:

  • Mature lists ARE connected: DOT (PIV-007→CAT-006), collection/meta (PIV-001/009), approval (PIV-207), workflow (PIV-004/005), task (PIV-010), ui_pages (PIV-008), trigger (PIV-015). These are PG-backed + pivot-counted + meta_catalog-registered → genuinely "living."
  • UI Preview Master is NOT connected: it is a static manifest.json on the VPS, hand-maintained, no PG source, no pivot, already drifted. It is a governance-correct snapshot (pending_user_review, zero self-approval — verified by first pass) but NOT a living list.
  • Immature/unborn lists (field/input_form/tier registries, workflow_trigger_design, runtime tables, human-org-role) are absent/dress-rehearsed/Đ32-gated — not connected by design.

Reuse-first path (unchanged, re-affirmed)

The fix is to lift the UI Preview Master onto the same chain the mature lists use (birth → meta_catalog → pivot → v_registry_counts → render → approval → KG), NOT to invent a UI registry engine:

  1. RECONCILE ui_pages (37 shipped) ↔ manifest (61 designed): define a surface→page mapping; resolve the 37/52/61 three-way inconsistency (incl. fixing CAT-007 LỆCH).
  2. EXTEND to PG-backed: either add design_status to ui_pages or birth a ui_surface collection (meta_catalog-managed); manifest.json becomes a render of a PG query (Đ28 thin-shell).
  3. NEW pivot over the PG surface source (proven absent — PIV-008 counts shipped routes only, nothing counts design-surfaces) → replaces hand-baked 61/36/25.
  4. DEFER surface-as-IU (unit_kind='ui_surface') until Đ44 enacted.
  5. KB-only fix now (allowed): correct stale review-log.md 19/4 → 61/16. (Not done in this read-only verification pass; flagged for the P3 macro / a doc-edit.)

Verdict

UI Preview Master: VERIFIED as governance-correct snapshot but NOT a living list; drift re-confirmed live (review-log 19/4) + a new CAT-007 LỆCH (37 vs 52). Reuse-first plan holds. This is the single official list with the largest gap between "looks official" and "is connected" — the mission's central UI concern is real.

Back to Knowledge Hub knowledge/dev/reports/architecture/law-capability-discovery-second-pass-cross-check-2026-05-30/09-ui-preview-official-list-cross-check.md