feat(glossary): add optional paths.glossary standing-reading slot
Pins canonical nomenclature per project so terminology does not drift and LLM-driven work reuses the established term instead of coining a synonym each session. The glossary rides the existing standing-reading mechanism — one optional path slot, no new delivery path. Single-sourcing, to avoid cross-doc drift: - `paths.glossary` row in profile-schema.md owns the "set => standing reading for every role; unset => no-op" semantics; agent-template.md and pipeline.md each carry one referencing sentence, not a restatement. - glossary-convention.md owns the format (flat per-term blocks: canonical heading + Avoid line + <=2-sentence definition) and the boss record-reality-never-invent write-rule; boss/SKILL.md only points to it. - glossary.md dogfoods the format on the plugin's own vocabulary (cycle, milestone, iteration, drift, hard-gate). Write authority: user any time; boss autonomously but only to record terms already in consistent use or to settle a drift it just resolved — never to coin. All other roles are read-only consumers. No executable surface; this repo has no test runner, so each task closed on a grep presence-assertion against the file it touched. All eight gates green (T1 3>=3, T2 5, T3 2, T4 1, T5 1, T6 1, T7 2, final sweep present). Implements docs/specs/2026-05-31-glossary-integration-design.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# Glossary convention
|
||||
|
||||
A project's glossary pins canonical nomenclature so terminology does
|
||||
not drift over time, and so that LLM-driven work reuses the
|
||||
established term for a concept instead of coining a fresh synonym each
|
||||
session. This file owns the format, the reading obligation, and the
|
||||
write discipline; an individual project's glossary is an instance of
|
||||
this convention.
|
||||
|
||||
## Where it lives
|
||||
|
||||
A project opts in by setting `paths.glossary` in its
|
||||
`.claude/dev-cycle-profile.yml` (see `profile-schema.md` § `paths`).
|
||||
When the slot is set, the file it names is standing reading for every
|
||||
role — no separate `standing_reading.always` entry is required. When
|
||||
the slot is unset, the whole feature is a documented no-op.
|
||||
|
||||
## Format
|
||||
|
||||
The glossary is a flat list of per-term blocks (not a table), so an
|
||||
appended entry produces a clean line-wise diff. Each block has exactly
|
||||
three fields:
|
||||
|
||||
1. a level-3 heading naming the **canonical term** to use;
|
||||
2. an **Avoid:** line listing known synonyms that must NOT be used;
|
||||
3. a definition of at most two sentences.
|
||||
|
||||
```
|
||||
### canonical-term
|
||||
**Avoid:** synonym-one, synonym-two
|
||||
A definition of at most two sentences.
|
||||
```
|
||||
|
||||
A term with no known synonyms still carries an `**Avoid:** —` line so
|
||||
every block has the same three-field shape.
|
||||
|
||||
## Reading obligation
|
||||
|
||||
Every skill and agent reads the glossary as part of its standing
|
||||
reading and, when producing prose or naming a concept, uses the
|
||||
canonical term and avoids the listed synonyms. If a concept is not
|
||||
listed, reuse the closest existing term — do not silently coin a new
|
||||
one.
|
||||
|
||||
## Extending the glossary (user + boss only)
|
||||
|
||||
The user may edit the glossary at any time. In a `/boss` session the
|
||||
orchestrator may extend it autonomously — but only to **record
|
||||
reality, never to invent**:
|
||||
|
||||
- A term already used consistently across shipped artefacts but not
|
||||
yet listed → add it, with its known synonyms under **Avoid**.
|
||||
- A drift the orchestrator just resolved (two terms for one concept)
|
||||
→ record the winner as the canonical entry, the loser under
|
||||
**Avoid**.
|
||||
|
||||
The orchestrator never coins a brand-new term into the glossary: a
|
||||
term earns its entry by already being in consistent use. All other
|
||||
skills and agents are read-only consumers of the glossary.
|
||||
Reference in New Issue
Block a user