--- description: Propose a new glossary term — drafts an entry in .ontology/glossary.ncl argument-hint: " [hint about what it means]" allowed-tools: Bash, Read, Edit --- # Propose a new glossary term You are about to add a **draft** entry to the project glossary at `.ontology/glossary.ncl`. ## Discovery first 1. Run `./ontoref describe term --fmt json 2>/dev/null` to verify the term doesn't already exist (under any alias). If it returns `{ "found": false }` proceed; otherwise show the existing entry and stop. 2. Search the codebase / ontology for context before drafting: - `rg -i "" .ontology/ adrs/ reflection/` - Identify whether the term originates from an Axiom, Tension, Practice, ADR, Schema, Module, or is External folklore. ## Draft fields (REQUIRED) Ask the user (or infer when obvious) for: - `id` — kebab-case unique identifier - `name` — display label, EN + ES - `category` — one of: `'Discipline`, `'Concept`, `'Practice`, `'Artifact`, `'Procedure`, `'Tension`, `'Antipattern` - `definition` — first sentence is the standalone definition, both EN and ES - `origin` — `{ kind = 'Axiom|'Tension|'Practice|'Adr|'Schema|'Module|'Crate|'External, ref = "" }` - `related_terms` / `related_nodes` (optional but encouraged) - `examples` / `forbidden` (optional, both EN and ES if provided) ## Important rules - Always set `verified = false` (DRAFT) — the user explicitly promotes via `verified = true` after review. - DO NOT touch `reflection/defaults/glossary.ncl` (that file is the protocol seed, propagated to consumer projects via migration). Project-specific terms go in `.ontology/glossary.ncl::project_terms`. - DO NOT invent an origin. If unclear, ask the user or use `{ kind = 'External, ref = "" }`. - All natural-language content goes in both `en` and `es` keys. If a translation is missing, leave the other lang empty (`""`) rather than copy-paste. ## After drafting 1. Show the user the NCL block you propose to add. 2. Wait for confirmation. 3. Append the block to the `project_terms` array in `.ontology/glossary.ncl`. 4. Run `nickel export --import-path . --format json .ontology/glossary.ncl > /dev/null` to verify it parses; report exit code. 5. Run `./ontoref describe term ` to confirm it reads back correctly. Arguments received: `$ARGUMENTS`