Intblock topic taxonomy governance
This document defines how topic keys on intblock records are added, merged, and deprecated.
Principles
- Canonical keys — Use stable snake_case keys (
economy,climate_change,human_rights). - Avoid synonyms — Do not introduce near-duplicates (
economicvseconomy). Checkdata/schemas/topic_aliases.yamlfirst. - Minimum assignment — Every intblock record must have at least one topic, including acronyms and government-form groupings.
- Sports — Use
sportsfor sport/event records; usesports_governancefor federations and leagues.
Adding a topic
- Search existing keys in
data/intblocks/**/*.yamlandtopic_aliases.yaml. - Prefer reusing a canonical key over creating a new one.
- Add the key as
{key, name}on records;nameis a human-readable label. - If the key is genuinely new, document it in a PR description.
Merging / deprecating
- Add a mapping in
data/schemas/topic_aliases.yaml(deprecated → canonical). - Migrate all YAML sources in one PR.
- Keep deprecated keys in the alias file for one release cycle;
validate_intblocks.pywarns on deprecated usage.
Validation
- Empty
topicslists emit warnings (ratcheting to error per completeness config). - Deprecated keys emit warnings referencing the canonical replacement.
References
- Manus data-quality report:
dev/research/report_manus_20260615.md§3.2 - OpenSpec change:
consolidate-topic-taxonomy