Files
Skills/docs/glossary-convention.md
T
Brummel a6794d178a 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>
2026-05-31 14:35:57 +02:00

2.2 KiB

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.