KB-45D6

Topic Axis Self-Operated — 00 Readme First

4 min read Revision 1
topic-axisself-operateddecision-queuereadme2026-06-04

00 — Readme First (Topic Axis Self-Operated Advance, 2026-06-04)

Macro: TOPIC_AXIS_SELF_OPERATED_DECISION_QUEUE_UI_CONTENT_AUTOMATION Final status: PARTIAL — every safe/additive/reversible branch self-operated and committed live; only genuine human/legal decisions remain. Execution mode: EXECUTION_MODE (additive only). prod = query_pg RO (MCP) + ssh contabo → docker exec postgres psql -U directus RW. Live mutation: YES — three additive, reversible objects committed this run (see below). 0 taxonomy nodes, 0 candidate promotions, 0 activation, 0 approval marked approved, 0 source-tag change.

What changed this run (vs the prior decision-queue macro)

The prior macro left the approval workflow, governance gap, and automation bridge as prose packets. This run turned the safe parts into operational live objects:

  1. Self-operated approval queue — LIVE. 14 approval_requests rows, code AXR-TOPIC-01..14, all status='pending' (never approved). Covers all 7 decision categories: axis activation, FAC-08 root review, 7 per-candidate topic decisions, taxonomy-node creation, assignment promotion, ownership bootstrap, relation vocabulary, KG automation pilot. The human gate is now a concrete row-by-row queue, not free text.
  2. v_axis_topic_governance_gap — LIVE (read-only view, 8 rows, all OWNER_MISSING). Makes the empty-ownership blocker operationally visible and links each gap to bootstrap request AXR-TOPIC-12.
  3. v_axis_topic_automation_candidates — LIVE (read-only view, 49 rows = 7 topics × 7 routing patterns). The automation bridge in queryable form — non-executing.

Plus: deploy-ready UI/API handler bundle (10 routes incl. 3 new), content-map backlog for all 7 candidates, end-to-end proof re-run on live data.

Two critical governance findings this run (read these)

  • action='add' approval_requests auto-approve. Trigger trg_apr_auto_approvefn_auto_approve_add() flips any action='add' row to approved on insert. Rehearsal caught 3 rows flipping. All AI-filed governance proposals MUST use action='review' to stay human-gated. Fixed before commit; all 14 rows verified pending.
  • approval_requests births one row per insert (trg_birth_approval_requestsfn_birth_registry_auto('code')). 14 inserts = +14 births (1,152,873 → 1,152,887). This is the normal governed provenance path for all 211 pre-existing approval rows — not a gate bypass. Births are unretirable (system-wide); rows are DELETE-reversible but their births orphan, same as every approval row.

Note: the MCP read-only role does not see these triggers via information_schema.triggers (returned 0). Always confirm triggers via pg_trigger before asserting "no side effects."

Reversibility

/tmp/axis_self_operated_rollback.sql (local): DELETE FROM approval_requests WHERE code LIKE 'AXR-TOPIC-%'; DROP VIEW v_axis_topic_automation_candidates; DROP VIEW v_axis_topic_governance_gap;. Caveat: the 14 provenance births are not retirable.

Document map

  • 01 — live state & SSOT confirmation
  • 02 — self-operated approval workflow (the 14 live rows)
  • 03 — UI/API patch/deploy readiness (deploy-ready handler bundle + tests)
  • 04 — information-piece content-map (7 candidates)
  • 05 — automation bridge draft row/edge plan (+ live view)
  • 06 — governance ownership bootstrap queue (+ live view)
  • 07 — final end-to-end proof
  • 08 — next macro decision
  • 09 — final summary
  • 10 — GPT/MCP-readable checkpoint Short checkpoint: checkpoint-topic-axis-self-operated-advance-2026-06-04.md.

Next macro

Primary: INFORMATION_PIECE_CONTENT_WORK_ON_CANDIDATE_TOPIC_SURFACE (engineering-actionable now, no human gate) running in parallel with owner review of the live AXR-TOPIC-* queue. See doc 08.

Back to Knowledge Hub knowledge/dev/reports/architecture/topic-axis-self-operated-decision-ui-content-automation-2026-06-04/00-readme-first.md