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_unithas nouiunit_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:
- 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).
- EXTEND to PG-backed: either add
design_statustoui_pagesor birth aui_surfacecollection (meta_catalog-managed); manifest.json becomes a render of a PG query (Đ28 thin-shell). - 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.
- DEFER surface-as-IU (
unit_kind='ui_surface') until Đ44 enacted. - KB-only fix now (allowed): correct stale
review-log.md19/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.