KB-2F75

07 — Topic Operational Workflows (hardened, semantic-uncertainty-aware)

8 min read Revision 1
one-roof-governanceaxisauthorizationproposalhardeningbuild-readydesign-onlyread-only2026-06-02topic-workflows

07 — Topic Operational Workflows (hardened, semantic-uncertainty-aware)

Package: one-roof-axis-auth-proposal-operational-hardening-build-ready-design-2026-06-02 Mode: DESIGN ONLY · READ-ONLY · NO COMMIT · NO MUTATION Hardens: prior …-2026-06-01/06-topic-operational-workflow.md. Closes GPT review gap #3: "Topic promotion/birth rules need exact criteria: which candidate becomes born, who can promote, what minimum evidence is required."


7.0 What "topic" is, and what governance can and cannot do

A topic = a taxonomy node under FAC-08 "Chủ đề nội dung" (content topic), plus an axis_assignment (IU ↔ topic, with confidence/zone), plus KG discovery (universal_edges). FAC-08 is currently cardinality=single, max_labels_per_entity=0defined but not operationalized (doc 01).

Honest limit (forbidden claim guard): governance does not make a topic semantically correct. Semantic correctness is an open, uncertain problem. Governance makes topic assignment bounded, reviewed, owned, reversible, and correctable — it controls who may assert, what evidence is required, what is official vs candidate, and how errors are detected and fixed. AX-TOPIC is therefore an uncertain axis (doc 04 §4.2): proposal workflow, not validation.


7.1 Three entry paths (converge on one lifecycle)

Path Trigger Initial store Review
A — Human-requested approval_requests.request_type_code='register_topic_node' candidate taxonomy row status='candidate' L1/L2 (human owner / council)
B — AI-proposed approval_requests with proposed_action + assertion schema (doc 06 §6.4) taxonomy(status='candidate') + axis_assignment(zone='candidate'); no provenance ⇒ zone='quarantine' doc_reviews two-gate; AI proposes, never self-enacts
C — KG-assisted provisional KG discovery (universal_edges/iu_relation) taxonomy(status='provisional'), axis_assignment(zone='candidate'), AI-facing only trust-scored; not official until promoted

KG trust score (path C): trust = confidence × freshness_decay × provenance_weight × source_authority — a ranking signal for review prioritization, never an auto-promotion.


7.2 Promotion criteria — exact (GPT gap #3)

A topic candidate node becomes a born/official topic only if ALL hold:

  1. Provenance presentprovenance IS NOT NULL (else quarantine, never promoted).
  2. Confidence ≥ axis thresholdconfidence ≥ coverage_rule(AX-TOPIC).min_confidence (a row in coverage_rule_ref, not a literal).
  3. No unresolved blocking issue — no open topic_overlap / wrong_topic / topic_duplicate for the candidate (doc 09).
  4. Approval — an L2 quorum-approved approval_requests(proposed_action_code='register_topic_node', action='review') (≥1 president + ≥2 ai_council).
  5. Named owner scope — an owner-per-scope assignment exists/queued (GOV-KG-SYS substrate, GOV-COUNCIL policy; SB-2).
  6. L3 grant — a valid governance_build_authorization for the promotion step (doc 03).

Who may promote: propose — any agent/human (path A/B/C). Approve — L2 council (humans + AI-council votes). Apply (promote txn) — the sync agent under a valid L3 grant, granter ≠ executor. No agent self-promotes.

A topic ASSIGNMENT (IU↔topic) is promoted candidate→approved by the same gate at assignment grain: provenance + confidence-threshold + no blocking issue + (for already-born nodes) an L1/L2 approval per the axis's coverage_rule. Assignment promotion reconciles into entity_labels (doc 05 §5.5).


7.3 Merge / split / deprecate topic

  • Merge two topics → keep one canonical, set the other taxonomy.replaced_by, migrate axis_assignment/entity_labels to the survivor, record an iu_merge_set-style change-set. High-risk ⇒ L2/L3.
  • Split one topic → N → create children, distribute assignments by re-scoring (candidates re-reviewed), iu_split_set change-set. High-risk ⇒ L2/L3.
  • Deprecatetaxonomy.status='deprecated' + replaced_by; excluded from official UI; assignments migrate; deprecate-not-delete (reversible).
  • All three are structural high-risk operations: route the ladder, carry rollback, deprecate-not-delete.

7.4 Topic quality detectors (feed doc 09)

wrong_topic, topic_low_confidence, topic_overlap/topic_duplicate/topic_alias (similarity via pg_trgm + KG), topic_too_broad/topic_too_narrow, topic_drift, topic_contradiction, topic_island (a topic with no owner / bypassing central APR). Severity computed (doc 09 §noise control); coalesced at governance grain.


7.5 Operational workflows (input/output/store/owner/approval/agent/quality/rollback/UI/coverage)

WF-1 — Approved topic → retrieve related IUs → UI reading → quality feedback

  • Input: an active FAC-08 topic node. Output: ranked IU list + reader view. Store: axis_assignment(zone='approved') + entity_labels + taxonomy. Owner: GOV-KG-SYS. Approval: read = none; feedback that changes an assignment = L1/L2. Agents: Quality (detect mis-assignment), Propose (correction). Quality checks: confidence/overlap. Rollback: corrections are new candidates (reversible). UI: official topic-detail + IU-list views (doc 10), candidate lane clearly separate. Coverage trigger: each approved assignment becomes governed (doc 09 §9.1).

WF-2 — Topic candidate → review → promotion → governance coverage

  • Input: candidate/provisional node (path A/B/C). Output: born official topic. Store: taxonomy(candidate→active) + birth_registry + owner + axis_assignment(candidate→approved). Owner: GOV-KG-SYS+GOV-COUNCIL. Approval: L2 register_topic_node + L3 grant. Agents: Propose→Validate→Critique→(council)→Sync. Quality: §7.2 criteria. Rollback: deprecate-not-delete; revoke grant. UI: appears in official tree on promotion. Coverage trigger: scanner now expects an owner + no island (doc 09).

WF-3 — Dynamic AI/KG search that must NOT pollute official truth

  • Input: an exploratory query. Output: provisional/candidate results. Store: axis_assignment(zone='candidate') only; never writes zone='approved' or entity_labels. Owner: GOV-KG-SYS. Approval: none to explore; promotion needs WF-2. Agents: Propose/Quality. Rollback: candidates expire/retract. UI: candidate lane only (badged), excluded from official tree (doc 10 §critical rule). Coverage trigger: candidates are input-quality only — never governance orphans.

7.6 Division of labor across laws (no overlap, no island)

Concern Law / owner
Content anchoring from document text Điều 38 (scaffold graph)
Semantic discovery & trust scoring Điều 39 (KG) — GOV-KG-SYS
Alias / canonicalization (soft relations) NĐ-36-01 / Điều 36 (citation flagged, doc 05 §5.7) — interim universal_edges
Controlled vocabulary Điều 24
Lifecycle / ownership / approval / UI / coverage / issues One-Roof Governance (Điều 37 hub + Điều 32 approval + Điều 31 integrity + Điều 45 events)

7.7 Open decisions & forbidden-compliance

  • O-TOPIC-1: FAC-08 cardinality single→multiple and max_labels_per_entity 0→N — council L2 data decision (an IU usually has several topics ⇒ likely multiple).
  • O-TOPIC-2: per-axis min_confidence thresholds (rows).
  • O-TOPIC-3: when KG-assisted (path C) topics may auto-create candidates vs require a human seed.
  • Forbidden-compliance: design-only; no topic node/assignment/approval created; no claim that governance solves semantic correctness; read-only.
Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-axis-auth-proposal-operational-hardening-build-ready-design-2026-06-02/07-topic-operational-workflows.md