Topic Axis — 04 Topic Tag Reconciliation to Candidates
04 — Topic Tag Reconciliation to Candidates (Workstream C)
Status: LIVE
The pre-existing ungoverned iu_metadata_tag topic:* vocabulary is now visible as governed candidate backlog in axis_assignment, with full evidence preserved and zero loss.
Source (untouched)
iu_metadata_tag rows where tag_key starts with topic: — 7 keys, 25 assignments:
| topic key | assignments / distinct IU |
|---|---|
| topic:knowledge_graph | 10 |
| topic:architecture | 5 |
| topic:dot_trigger | 3 |
| topic:governance | 3 |
| topic:workflow | 2 |
| topic:cut_pipeline | 1 |
| topic:render_pipeline | 1 |
| Total 25 assignments over ≤16 of 219 IUs. These source rows were neither deleted nor modified (verified 25 before and after). |
Reconciliation rule (applied)
For each source tag, one axis_assignment row was inserted:
- axis_code = AX-TOPIC
- node_code =
TOPIC-CAND:+ the part aftertopic:(e.g. TOPIC-CAND:knowledge_graph) - target_type = information_unit, target_code = the IU uuid
- relation_type = tagged_topic
- confidence + source carried from the tag (confidence, enrichment_source)
- status = candidate
- evidence_ref =
iu_metadata_tag:<original-tag-uuid>(full provenance back-link)
Result: 25 candidate assignments, 7 distinct candidate nodes. Each node's substrate (the linked IU uuids + the originating tag uuids) is resolvable via fn_topic_node_substrate (doc 06).
Normalisation notes (cautious, non-destructive)
- No merges/splits performed (those require approval). Synonym/dup detection is left as a GOV-COUNCIL decision; none of the 7 keys are obvious duplicates, though
dot_trigger,cut_pipeline,render_pipelinemay later cluster under a "pipeline"/"DOT" broader root. - No invalid/noisy tags detected among the 7.
- node→document candidate links were not synthesised (no reliable IU→document topic derivation exists yet); target_type knowledge_document is supported but currently empty — a documented gap, not a silent omission.
Forbidden-action compliance
No AI/user tags promoted to approved topics; no merge/split; no evidence lost; no source mutation; no taxonomy node created; no topic levels assumed. Everything is candidate and reversible (delete the 25 rows; originals remain).
What ratification will do
On approval, operator step 3 re-points the approved subset from TOPIC-CAND:* tokens to the real taxonomy code and flips status candidate→approved, preserving evidence_ref.