feat(db): ObjectTag registry ratified + importer validation — resolves Q-049 (T-995)
The shipped 28-tag catalog palette is canonical (user ratification, /whats-next refinement 2026-07-07). New machine-readable registry wiki/economics/object_tag_vocabulary.toml (wall/roof/facade/street axes + 4 generic fallback terminals, Miri/Araminta co-owned header). Importer validation in economy_import/traits.py: V-TT-03 (every catalog allow/block/visual_bundle tag exists in the registry, axis-checked) and V-TT-04 (fallback graph: non-generics declare a parent, chains acyclic, resolve to a generic — absorbs T-1004's Phase-4 slice). Registry added to generator_sources (stamp coverage); systems.db regenerated + stamped. Q-049 marked Resolved — divergence is now a loud build failure. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -81,6 +81,13 @@ ARCHITECTURE_TRAIT_CATALOG_TOML: Path = (
|
||||
ARCHITECTURE_TRAIT_BIAS_TOML: Path = (
|
||||
REPO_ROOT / "wiki" / "economics" / "architecture_trait_bias.toml"
|
||||
)
|
||||
# ObjectTag vocabulary registry (T-995, Q-049): read by traits.py alongside the
|
||||
# catalog above to validate allow_tags/block_tags/visual_bundle references and
|
||||
# the fallback-graph (V-TT-03/V-TT-04), so a registry edit must flip the stamp
|
||||
# exactly like a catalog edit does.
|
||||
OBJECT_TAG_VOCABULARY_TOML: Path = (
|
||||
REPO_ROOT / "wiki" / "economics" / "object_tag_vocabulary.toml"
|
||||
)
|
||||
|
||||
|
||||
def _economy_import_modules() -> tuple[Path, ...]:
|
||||
@@ -116,6 +123,7 @@ IMPORT_ECONOMICS_SOURCES: tuple[Path, ...] = (
|
||||
SYSTEM_SPECIALIZATION_TOML,
|
||||
ARCHITECTURE_TRAIT_CATALOG_TOML,
|
||||
ARCHITECTURE_TRAIT_BIAS_TOML,
|
||||
OBJECT_TAG_VOCABULARY_TOML,
|
||||
)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user