1. Contract and validation
- [ ] 1.1 Add strict validation for
properties[WORD].accent,properties[WORD].describe, and unsupported glossary fields; reject packs atomically with field-specific errors. - [ ] 1.2 Normalize glossary keys/values and derive each level's implemented
custom-property set from
automata[].propertywithout adding behavior from glossary data alone. - [ ] 1.3 Add loader, catalog, pack-service, CommonJS export, and shared-link tests for valid glossaries, malformed glossaries, missing glossaries, and atomic failure preservation.
2. Board and ledger presentation
- [ ] 2.1 Thread normalized glossary and level-property metadata through the catalog/stage presentation boundary.
- [ ] 2.2 Make board word roles and property colors data-driven while retaining core-property behavior and TICK fallback.
- [ ] 2.3 Make ledger roles and accessible rule details use the same metadata; avoid changing the D21 beat-strip geometry or timing.
- [ ] 2.4 Add focused renderer tests for a non-TICK custom property and for consistency between board and ledger classification.
3. First-encounter teaching
- [ ] 3.1 Add a progress-backed encounter store keyed by pack ID and property word, with legacy progress preserved.
- [ ] 3.2 Emit a stable card request containing tile, accent, description, and a level-derived example sentence before proof input is accepted.
- [ ] 3.3 Implement ENTER acknowledgement, accessible card copy, and repeat suppression within a pack while allowing the same word in another pack.
- [ ] 3.4 Expose the same description through inspect and ledger hover or keyboard-focus details without mutating gameplay state.
4. Verification and coordination
- [ ] 4.1 Add the desktop, 390x844 mobile, reduced-motion, and no-console-error browser fixture for a non-TICK imported custom-property pack.
- [ ] 4.2 Re-run the existing automata browser fixtures to ensure D21 beat-strip behavior remains unchanged.
- [ ] 4.3 Run the full Node suite, production build, strict OpenSpec validation, and relevant share/import flows.
- [ ] 4.4 Post the renderer/card evidence to the design inbox for D24 review; obtain a separate worlds-team handoff before bundling Clockwork.
- [ ] 4.5 Leave
pairs/OPEN-SHUT implementation and acceptance to W13.