Context and Problem Statement
Glossary behavior in 2.x now spans three layers:
- Domain context definitions under
glossary/contexts/. - Curation tactics/styleguides in doctrine (including HiC terminology and candidate promotion rules).
- Runtime execution hook integration (
execute_with_glossary) for mission primitives.
This architecture existed in code and tests but lacked a dedicated ADR describing the model and invariants.
Decision Drivers
- Preserve consistent domain semantics across AI-assisted workflows.
- Keep glossary scope composable by domain context.
- Tie curation quality to explicit doctrine artifacts.
- Make glossary checks opt-in by metadata but enabled-by-default for safety.
Considered Options
- Keep a single monolithic glossary document with no context partitioning.
- Adopt context-owned living glossary with doctrine-guided curation and runtime hook integration (chosen).
- Defer glossary governance to external, non-repository tooling.
Decision Outcome
Chosen option: Adopt context-owned living glossary with doctrine-guided curation and runtime hook integration.
Decision Details
- Glossary terms are organized by bounded context files under
glossary/contexts/(for exampledossier,lexical,system-events,technology-foundations). - New terminology enters as
candidate; promotion authority remains with the Human-in-Charge. - Curation process is codified as a doctrine tactic plus writing styleguide (
glossary-curation-interview,kitty-glossary-writing). - Mission primitive execution can pass through glossary middleware via
execute_with_glossary; metadata/config determine enablement and strictness.
Consequences
Positive
- Terminology governance is explicit, context-scoped, and testable.
- Definition quality is reinforced by reusable doctrine artifacts.
- Runtime checks align generated outputs with glossary semantics.
Negative
- More governance files to maintain when terminology evolves.
- Cross-context linking introduces additional link-integrity risk without tests.
Neutral
- Existing mission execution contracts remain intact, with glossary checks layered on top.
Confirmation
This decision is validated when:
- Glossary context links and anchors resolve.
- Doctrine curation artifacts validate and resolve references.
- Primitive glossary hook behavior honors metadata/config precedence.
- New context additions can be introduced without breaking existing references.
More Information
Implementation references:
glossary/README.mdglossary/contexts/*.mdsrc/doctrine/tactics/glossary-curation-interview.tactic.yamlsrc/doctrine/styleguides/writing/kitty-glossary-writing.styleguide.yamlsrc/doctrine/missions/glossary_hook.pysrc/doctrine/missions/primitives.pysrc/specify_cli/missions/glossary_hook.pytests/doctrine/missions/test_glossary_hook.pytests/doctrine/missions/test_primitives.pytests/doctrine/test_glossary_link_integrity.pytests/doctrine/test_tactic_compliance.py