Files
diagram-design/docs/adr/0002-semantic-patterns-do-not-expand-the-taxonomy.md
T
Cathryn Lavery dbc4abd965 feat(skill): pre-draw checkpoint, docs-sync gate, packaged self-check, ADRs
- SKILL.md: confirm type/pattern/size/cuts with the user before rendering;
  checklist hooks for the checkpoint and the packaged self-check
- scripts/verify-docs-sync.py: CI now fails when the frontmatter description
  loses a type's lexical hook, the gallery can't reach a shipped example, or
  the README tree names a missing file
- skills/diagram-design/scripts/self_check.py: distilled output checker that
  ships with the skill so installed agents can verify their own diagrams;
  adversarial suite in scripts/test-self-check.py
- assets/index.html: six new tabs (OAuth sequence + five single-variant
  examples with a data-single variant lock) so every shipped example is
  browsable
- docs/adr/0001-0004: settled policies recorded (pinned controller, taxonomy
  freeze, reveal-only autoplay, byte cap + trigger-rich description)
- README: It's-working-if section, new gates documented; CONTRIBUTING: gate
  table, ADR guidance, type-addition invariants; CI: two new steps
2026-08-12 17:00:08 -07:00

1.1 KiB

ADR 0002 — Semantic patterns never expand the 27-type taxonomy

Status: accepted (v2.3)

Context

Auditing behavior-rich figures (queues, policy traces, trust boundaries) showed the skill could arrange boxes but not model system behavior. The obvious fix — new diagram types — would balloon the taxonomy, dilute the selection guide, and force every new behavior into a new layout grammar.

Decision

Behavior is a separate axis. The seven semantic patterns in references/semantic-patterns.md each route to the nearest existing visual type for layout; a pattern owns semantic primitives and a tighter budget, never a second layout grammar. The visual-type count stays at 27 unless a genuinely new layout grammar appears.

Consequences

  • "27 visual types" is a stable, verifiable claim (verify-semantic-motion.py and verify-docs-sync.py both count it).
  • A new behavior costs one pattern section plus a routing-table row — not a new type reference, template set, and example triple.
  • If a pattern ever needs a layout no existing type provides, that is the signal to add a type, with the full §10 shipping set.