KB-3A18

Topic Axis Self-Operated — 09 Final Summary

3 min read Revision 1
topic-axissummary2026-06-04

09 — Final Summary

Outcome

Moved Topic Axis from "candidate surface + decision queue live, but approval/UI/content/automation/governance still prose" to "everything safe is self-operated; only genuine human/legal decisions remain."

Live mutations this run (3 additive objects, all reversible)

  1. 14 approval_requests rows AXR-TOPIC-01..14, all status='pending' — the human gate as an operational, evidence-bearing, row-by-row queue (211→225). Side-effect: +14 governed provenance births (disclosed; the normal approval-insert path).
  2. v_axis_topic_governance_gap — read-only, 8 rows, all OWNER_MISSING → bootstrap request.
  3. v_axis_topic_automation_candidates — read-only, 49 rows = 7 topics × 7 routing patterns, non-executing.

Plus non-DB deliverables: 10-route deploy-ready UI/API handler bundle + tests (doc 03); content-map backlog for all 7 candidates with shared-IU adjacency graph (doc 04); end-to-end proof re-run live (doc 07).

Branch status

  • A Approval workflow: LIVE queue (14 pending rows). No fake approval.
  • B UI/API: DEPLOY-READY (10 routes incl. 3 new consuming this run's live objects) + tests + checklist. Redeploy operator-gated.
  • C Content-map: COMPLETE — 7 candidates classified; knowledge_graph deep-mapped; cross-topic overlaps found; editorial actions defined.
  • D Automation bridge: PLAN LIVE as a view (49 candidate routes) + pilot rows queued (AXR-TOPIC-13/14).
  • E Governance bootstrap: GAP LIVE as a view (8 OWNER_MISSING) + pending request AXR-TOPIC-12. No active ownership faked.
  • F End-to-end proof: COMPLETE, 9/9 steps on live data, 0 active topic, 0 fake approval.
  • G Next macro: INFORMATION_PIECE_CONTENT_WORK_ON_CANDIDATE_TOPIC_SURFACE (parallel owner-review + operator-deploy).

Two findings worth keeping

  • action='add' approval_requests auto-approve (fn_auto_approve_add). AI-filed governance proposals must use action='review'.
  • approval_requests (and ~166 tables) birth on insert; the MCP RO role can't see triggers via information_schema — confirm via pg_trigger.

Forbidden actions — none taken

No approval approved · no AX-TOPIC activation · no taxonomy node created · no candidate promoted · no source tag changed · no IU content edited · no routing executed · no engine built · no RP cleanup · no dot-pivot-update · no birth/governance gate bypass · no Nuxt math · no hardcoded levels · no DAG flattened.

Blocker (single, human/governance)

GOV-COUNCIL FAC-08 root approval (Điều-32) + owner authorisation for unretirable taxonomy births + a real owner_gov_code/OSPA for ownership writes + axis-law ratification. No engineering blocker. All of it is now queued as AXR-TOPIC-* pending rows.

Reversibility

/tmp/axis_self_operated_rollback.sql: delete the 14 rows + drop the 2 views (provenance births orphan — system-wide unretirable).

Back to Knowledge Hub knowledge/dev/reports/architecture/topic-axis-self-operated-decision-ui-content-automation-2026-06-04/09-final-summary.md