Goal
Verify a change reuses the repository's named vocabulary instead of inventing new patterns.
Workflow
- Review with fresh context: a separate pass from the one that wrote the change.
- Read the Canonical Primitives, Naming Conventions, Rules, and Anti-Patterns sections of CONVENTIONS.md.
- For each new component, helper, client, type, or pattern, check whether a named primitive already exists.
- Check naming against the documented conventions.
- Flag reinvention, divergent naming, and anti-pattern use, each naming the primitive or rule.
- Propose a CONVENTIONS.md update when the change establishes a genuinely new shared primitive.
Decisions
- If CONVENTIONS.md is missing or still a template → report that first; there is nothing to review against.
- If a convention conflicts with an accepted ADR → the ADR wins; stop and ask for a human decision.
Verification
- Every finding cites a specific primitive, naming rule, or anti-pattern.
- Reinvention of an existing primitive is caught or explicitly absent.
- New shared primitives are proposed for documentation, not silently accepted.
Resources
- For the vocabulary → docs/60-engineering/CONVENTIONS.md
- For past mistakes → docs/60-engineering/LESSONS.md
Output
- Finding list citing primitives or rules, or an explicit all-clear.
- Proposed CONVENTIONS.md update when one earned it.