clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

Document revision ten and Tidewater rule fix

Dami committed 323b79a
commit
323b79a3ad90a40d6734b0e522a66b5d5b482d1e
parent
a3d80a009f701a910b31129d53a32b1b39288909
author
Dami <dami.etoile@gmail.com>
3 files changed, +11 -5
MREADME.md2+-
Mdocs/architecture-review.md2+-
Mdocs/roadmap.md12+++++++++---
M README.md +1 -1
M docs/architecture-review.md +1 -1
@@ -85,7 +85,7 @@ The final architecture pass passed 183 Node tests, the production build, and bro
8585 8686 Remaining work is specific rather than a reason to keep expanding this refactor: stage pointer targets still use viewport fractions on mobile; `juice.consume()` remains a large event reducer; mod and engine automata validation overlap; the solver stores full BFS snapshots and needs a mechanics-aware state codec; automata conflict ordering is sequential. Those should be handled in separate changes with authored scenarios and regression fixtures before gates, switches, or crumble tiles join the default campaign.8787 88-The worlds team's inbox supplies concrete next gates. **W8 is independently reproduced**: SINK removes the `STOP` word after the rule pass, but the settled state still reports `ROCK IS STOP`; the next attempted move is blocked by that phantom rule. A dedicated behavior change should refresh rules after contact removals and cover reset, Undo, replay, and solver parity before Tidewater is bundled. The team's W6 precedence and AND parsing reports, W11 unknown-predicate trap, and W3 solver throughput request also require separate specs and differential fixtures; they are not behavior-preserving refactor tasks. The current `createGame()` API and snapshot shape were left compatible so those changes can be made one at a time.88+The worlds team's inbox supplied concrete next gates. **W8 was independently reproduced and fixed** in `c3537ca`: SINK could remove the `STOP` word while settled rules still reported `ROCK IS STOP`, blocking the next move. The rule refresh change now reparses after contact removals and passed the exact reproduction, reset/Undo/restore fixtures, all seven Tidewater solver paths, and browser regression flows. Tidewater remains with the world team for an independent recheck before bundling. W11 unknown-predicate validation is next in the agreed content order, followed by W6 precedence and AND parsing and W3 solver throughput. Those require separate specs and differential fixtures. The `createGame()` API and snapshot shape remain compatible so the changes can land one at a time.8989 9090 ## Review boundary9191
M docs/roadmap.md +9 -3
@@ -33,9 +33,9 @@ and Remove. E4 is archived under
3333 The S3–S10 full-screen stage is implemented: Title, INDEX, Proof, Pause, Win,3434 Workshop, and Gift scenes share the canvas, input, settled-event juice, audio,3535 Recursive font, mobile controls, reduced-motion path, and `?dev` diagnostics.36-The stable public build is [revision 5](https://fcbc.n.zip/). It passed 15037-Node tests, the full sharing browser suite and focused mobile death/Undo visual38-regression against the public URL, and the production build. It includes the36+The stable public build is [revision 10](https://fcbc.n.zip/). It passed 18537+Node tests, the full sharing and automata browser suites, focused mobile38+death/Undo visual regression, the Tidewater solver pass, and the production build. It includes the3939 next-proof first-frame, same-entity win, spatial INDEX navigation, directional4040 facing, direct Workshop access, Gift layout, and death/Undo visual fixes. The4141 same-entity win change is archived under
@@ -46,6 +46,12 @@ recovery is archived under
4646 `openspec/changes/archive/2026-09-24-fix-undo-death-visual/`; Gift layout remains4747 active for designer review.4848 49+The runtime architecture review is archived under50+`openspec/changes/archive/2026-09-24-modularize-runtime-boundaries/`.51+The settled rule refresh for contact destruction is archived under52+`openspec/changes/archive/2026-09-24-refresh-rules-after-contact-destruction/`.53+The world team is independently rechecking Tidewater before it is bundled.54+4955 ## 1. Playable foundation — shipped5056 5157 Three MIAU puzzles establish the turn contract: stacked occupancy, cardinal movement, atomic push chains, `IS` and `AND`, six properties, transformations, undo, a CommonJS content format, and a fixed emoji grid. The completed OpenSpec change is archived at `openspec/changes/archive/2026-09-23-build-dynamic-rule-engine/`; its behavioral requirements are now the live specs in `openspec/specs/`.