45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
---
|
|
description: Update an existing glossary term (definition, aliases, examples, verify status)
|
|
argument-hint: "<term-id> [field-hint: definition|aliases|examples|forbidden|verify]"
|
|
allowed-tools: Bash, Read, Edit
|
|
---
|
|
|
|
# Update an existing glossary term
|
|
|
|
## Discovery
|
|
|
|
1. Run `./ontoref describe term <id> --fmt json` to load the current state.
|
|
If the term doesn't exist, redirect the user to `/ontoterm-propose` and stop.
|
|
2. Identify whether the term lives in:
|
|
- `reflection/defaults/glossary.ncl` (seed — touch only with explicit user
|
|
authorization; changes propagate to consumer projects)
|
|
- `.ontology/glossary.ncl::project_terms` (project-specific — safe to edit)
|
|
|
|
## What can be updated
|
|
|
|
- `definition.en` / `definition.es` — improve wording, fix mistakes
|
|
- `aliases` — add an alternate spelling encountered in conversation
|
|
- `examples.en` / `examples.es` — add a new usage from the current session
|
|
- `forbidden.en` / `forbidden.es` — add an antipattern encountered
|
|
- `related_terms` / `related_nodes` — wire to other entries
|
|
- `verified` — flip `false → true` to promote a draft (REQUIRES user
|
|
confirmation; promotion is a deliberate act)
|
|
- `notes` — internal annotation, not rendered
|
|
|
|
## Important rules
|
|
|
|
- DO NOT change `id` — it's the stable handle. Add an alias instead.
|
|
- DO NOT change `category` without confirming the conceptual recategorization.
|
|
- DO NOT silently drop `forbidden` or `examples`. If you need to remove an
|
|
entry, justify it to the user.
|
|
- If editing the seed (`reflection/defaults/glossary.ncl`), warn the user:
|
|
changes propagate to all projects that apply migration 0019.
|
|
|
|
## After editing
|
|
|
|
1. `nickel export --import-path . --format json .ontology/glossary.ncl > /dev/null`
|
|
→ verify parse, report exit code.
|
|
2. `./ontoref describe term <id>` → confirm the visible result.
|
|
3. If `verified` was flipped to `true`, note it explicitly in the response.
|
|
|
|
Arguments received: `$ARGUMENTS`
|