clone

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

main
miau-is-true / openspec / changes / archive / 2026-09-24-scale-solver-state-search / baseline.md
baseline.md 2.9K rendered
1# Solver baseline before W323Measured on the local development host with Node 26.8.1 after W6 and the restore-idempotence fix. `process.memoryUsage().rss` was sampled every 20 ms from a temporary preload; elapsed time includes load, search, and BYPASS re-search when applicable. These are comparison data, not portable timing gates. The current CLI does not print explored transitions for solved proofs, so expansion counts remain to be instrumented in task 1.1.45| Pack / proof | Cap | Result | Elapsed | Peak RSS |6| --- | ---: | --- | ---: | ---: |7| Core / all 3 | 300,000 | 3 solved; 13, 9, 6 steps | 4.39 s | 246.7 MiB |8| Word Lab / all 3 | 300,000 | 3 solved; 3, 6, 7 steps | 0.08 s | 65.1 MiB |9| Crate Works / `night-shift` | 2,000,000 | solved, 48 steps | 1.00 s | 138.6 MiB |10| Crossword / `pass-it-on` | 300,000 | solved, 25 steps | 28.43 s | 321.7 MiB |11| Tidewater / `low-tide` | 2,000,000 | solved, 10 steps | 0.17 s | 75.2 MiB |12| Clockwork / `mouse-hole` | 4,000,000 | solved, 23 steps | 9.39 s | 220.6 MiB |1314For comparable search counts, a temporary copy of `tools/solve.mjs` counted each dequeued frontier state and attempted transition without changing its search logic. This follow-up measured RSS after every attempt; the per-proof peaks therefore differ slightly from the 20 ms sampled whole-command table above.1516| Pack / proof | Shortest path | Expanded | Attempted | Per-proof peak RSS |17| --- | --- | ---: | ---: | ---: |18| Core / `break-the-rule` | `UDDDRRRRRRRRR` (13) | 11,698 | 46,792 | 237.9 MiB |19| Core / `make-room-to-push` | `RRRRRRRRR` (9) | 133 | 532 | 244.6 MiB |20| Core / `two-things-can-win` | `RRRRRR` (6) | 80 | 320 | 245.1 MiB |21| Word Lab / `shared-control` | `RRR` (3) | 16 | 64 | 55.2 MiB |22| Word Lab / `change-what-you-are` | `RRRRRR` (6) | 12 | 48 | 55.8 MiB |23| Word Lab / `rules-are-cargo` | `RRRRRRR` (7) | 54 | 216 | 63.7 MiB |24| Crossword / `pass-it-on` | `URDDDRUUURULDLULURRRDDDDR` (25) | 72,523 | 290,092 | 342.9 MiB |25| Crate Works / `night-shift` | `UUUURRRLLLDDDDRRRRUUUUUDLLLLUURRRRRRLLDDRRDDDRRR` (48) | 1,159 | 4,636 | 133.2 MiB |26| Tidewater / `low-tide` | `DDUURRRRRR` (10) | 376 | 1,504 | 73.6 MiB |27| Clockwork / `mouse-hole` | `URRRRRDRUUUUDDDDRDDDLLL` (23) | 12,265 | 61,323 | 195.2 MiB |2829The W6 content review remains separate: `shove-the-danger` and `carry-the-pair` both reached LIMIT at 300,000 transitions before the worlds team's re-authoring. A LIMIT is inconclusive about solvability. The heavier Tidewater and Clockwork challenge cases have documented multi-million-state search needs and should be measured under a bounded memory budget after the compact codec is available.3031The first codec slice encodes the three core starting states in 151, 265, and 69 bytes, versus 1,842, 3,131, and 1,153 characters for their full JSON snapshots. These are payload sizes before JavaScript object, queue, and map overhead; the BFS rewrite must measure actual peak RSS separately.