Twinned from https://github.com/cfsh/ninefold/issues/967 by tools/beads/import_github.py's reconcile pass.
Aedan, in the design-009 round (chat, 2026-08-15): *"I never really understood the tier1/tier2/tier3 , but I guess this is partly what tier:3 was meant to cover (\"gameplay look and feel\")"* — he had to guess, and that's the finding. Three unrelated vocabularies share the word:
tier:1/2/3 — the reviewer's advisory risk classes (CHARTER.md §D: 1 = docs/test-only/tooling/pure-logic; 2 = shared infra, release, save, input, design_docs/; 3 = anything changing how the game looks/feels/sounds on a controller). Informational; deliberately never read by merge authority.nflib.perimeter + merge_pr.tier1_authority: may this PR merge with no human approval. Path-derived, nothing to do with the labels.NINEFOLD_PHILOSOPHY.md: game code (hacky-first) vs the stack (real standards).perimeter.py's docstring already documents collision 1↔2 (⚠ "Two different things are called 'tier 1' and only one of them is this module") — that paragraph exists because the collision has already misled readers, and #596/#697 are what it cost. Design 009's round adds the data point that the vocabulary confuses Aedan himself.
Cheapest fix shape: rename the reviewer's advisory labels to something self-describing (e.g. risk:1/2/3), since they're the least entrenched — one CHARTER section, the label constants in dispatch.py/verdict.py, and the playtest.md brief mention. The perimeter's "Tier 1" and the philosophy's tiers stay. Whoever takes this should survey actual usages before committing to the rename target.
Found during design 009 (PR #963). Not claimed. Not labelled.
None.
No comments.