- commit
- ca124465cb74476d4000f8db48c63632d0e842fe
- parent
- a921ca9155cb249e8ad2756077834ce69da67c43
- author
- Dami <dami.etoile@gmail.com>
| M | openspec/ | 8 | ++++++-- |
| M | openspec/ | 10 | ++++++---- |
@@ -63,5 +63,9 @@ Trusted local CommonJS modules may declare the automaton record after validation
6363 6464 ## Open Questions6565 66-- Whether phase wraps, clamps at the final pattern step, or reports completion as a terminal phase.67-- The final visual treatment for cue/sound fields.66+- Phase wraps modulo the authored pattern length on each accepted active turn.67+- The designer's D21 beat-strip presentation review remains open: one 28px actor emoji tile; 22px cells with only direction/wait glyphs; a muted `NOUN IS TICK` label after the cells; and on mobile, a 14px gap below the ledger before the strip.68+69+## Verification checkpoint70+71+Engine, mod, share, and solver fixtures cover property transfer, blocked beats, wait, contacts, Undo/reset/restore, replay, and phase-distinct search. `tests/pack-service.test.js` verifies that malformed shared automata fail atomically without changing an installed catalog. `tests/browser/automata.mjs` and `tests/browser/automata-edges.mjs` capture movement, blocked/next beats, and a MOUSE-to-BELL property transfer on mobile with no browser errors. The full 326-test Node suite, production build, strict OpenSpec validation, and revised 23-proof world solver gate pass. Presentation acceptance remains in tasks 4.4 and 5.4; the current fixture exposed the three specific D21 items above.@@ -11,22 +11,24 @@
1111 - [x] 2.1 Extend settled events with `automated` entries reporting action, entity ID, from/to or blocked details, and optional cue/sound.1212 - [x] 2.2 Include normalized automata state and phase in Undo/reset snapshots and verify exact restoration.1313 - [x] 2.3 Extend replay and solver state keys to distinguish automata phase and active state and reproduce front-first movement.14-- [ ] 2.4 Add deterministic fixtures for property transfer, blocked actions, wait, contacts, reset, Undo, replay, and solver exploration.14+- [x] 2.4 Add deterministic fixtures for property transfer, blocked actions, wait, contacts, reset, Undo, replay, and solver exploration.1515 1616 ## 3. Mod validation and sharing1717 1818 - [x] 3.1 Validate optional subject, property vocabulary, object action tokens, cardinal deltas, pattern/phase bounds, cue/sound values, and unique IDs in local CommonJS mods.1919 - [x] 3.2 Normalize automata into data-only shared payloads and reject unsupported or malformed fields without executing shared code.20-- [ ] 3.3 Add atomic failure fixtures for malformed local and shared automata while preserving earlier registered packs.20+- [x] 3.3 Add atomic failure fixtures for malformed local and shared automata while preserving earlier registered packs.2121 2222 ## 4. Presentation and feedback2323 2424 - [x] 4.1 Derive current/next pattern feedback from automata phase and render it with accessible text and optional cue/sound.2525 - [x] 4.2 Provide reduced-motion and mobile-safe beat feedback without changing simulation geometry or timing semantics.26-- [ ] 4.3 Add visual fixtures for property transfer, blocked actions, current/next steps, and automated movement details.26+- [x] 4.3 Add visual fixtures for property transfer, blocked actions, current/next steps, and automated movement details.27+- [ ] 4.4 Apply the designer's D21 beat-strip review: one emoji tile, direction/wait glyph cells, and placement directly under the mobile ledger.2728 2829 ## 5. Verification2930 3031 - [x] 5.1 Run browser controls, rule changes, bundled CommonJS mod loading, and Undo coverage with automata-enabled and legacy levels.31-- [ ] 5.2 Run deterministic solver/replay checks and the full Node suite.32+- [x] 5.2 Run deterministic solver/replay checks and the full Node suite.3233 - [x] 5.3 Run production build and document visual review items before enabling an authored automaton in a default pack.34+- [ ] 5.4 Review settled desktop/mobile beat-strip frames with the designer after 4.4, then archive this change.