2.3 KiB
2.3 KiB
| description | argument-hint | allowed-tools |
|---|---|---|
| Propose a new glossary term — drafts an entry in .ontology/glossary.ncl | <new-term-id> [hint about what it means] | 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
- Run
./ontoref describe term <id> --fmt json 2>/dev/nullto verify the term doesn't already exist (under any alias). If it returns{ "found": false }proceed; otherwise show the existing entry and stop. - Search the codebase / ontology for context before drafting:
rg -i "<keyword>" .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 identifiername— display label, EN + EScategory— one of:'Discipline,'Concept,'Practice,'Artifact,'Procedure,'Tension,'Antipatterndefinition— first sentence is the standalone definition, both EN and ESorigin—{ kind = 'Axiom|'Tension|'Practice|'Adr|'Schema|'Module|'Crate|'External, ref = "<id-or-path>" }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 viaverified = trueafter 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
enandeskeys. If a translation is missing, leave the other lang empty ("") rather than copy-paste.
After drafting
- Show the user the NCL block you propose to add.
- Wait for confirmation.
- Append the block to the
project_termsarray in.ontology/glossary.ncl. - Run
nickel export --import-path . --format json .ontology/glossary.ncl > /dev/nullto verify it parses; report exit code. - Run
./ontoref describe term <new-id>to confirm it reads back correctly.
Arguments received: $ARGUMENTS