KB-2F43

Topic Promotion Governed Activation — 07 UI/API Projection Contract (2026-06-03)

2 min read Revision 1
one-roof-governancenonprod-cloneui-apiprojection2026-06-03

07 — Objective F: UI / API Projection Contract — PASS

Artifact: sql/F_ui_api.sql (7 read-only v_ui_* views, live JSON proven).

Views & contracts (live)

  1. v_ui_topic_tree — recursive topic tree, 9 nodes {topic,parent,status,provenance_kind,depth,path}.
  2. v_ui_object_topic — object→topic edges {object,topic,zone,confidence,assigned_kind,owner_gov_code,owner_kind,lane}; 6 edges; lane=official when owner exists else candidate.
  3. v_ui_axis_browser — per-axis registry+coverage rollup; 3 axes (containment 5 values/0 rules; responsibility 6/210 req/0 gap; topic 7/6 req/1 gap/1 quarantine).
  4. v_ui_lane — two-lane split; official=5, candidate=1.
  5. v_ui_detector_findings — open drift ordered critical→warning→info; 41.
  6. v_ui_review_queue — union of assignment_unowned + value_promotion + critical/warning drift; 6 items.
  7. v_ui_coverage_dashboard — single-row JSON: {ownership_gap:0, topic_gap:1, active_axes:3, open_drift:41, critical_drift:0, review_queue_size:6, reconcile:{label_orphans:0, topics_without_label:2, labels_without_topic:48, divergent_collections:4, projection_gaps:1}}.

Frontend notes

Candidate vs official lane is the central UX (official=owned/approved; candidate=needs review), drives the review queue. All views read-only; no production UI/Nuxt mutation. JSON shapes (jsonb_agg/to_jsonb) proven live = the API payloads.

Verdict

PASS. All 8 requested projections produced with live SELECT/JSON output.

Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-nonprod-clone-topic-promotion-governed-activation-2026-06-02/07-ui-api-projection-contract.md