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 source

Solver baseline before W3

Measured 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.

Pack / proof Cap Result Elapsed Peak RSS
Core / all 3 300,000 3 solved; 13, 9, 6 steps 4.39 s 246.7 MiB
Word Lab / all 3 300,000 3 solved; 3, 6, 7 steps 0.08 s 65.1 MiB
Crate Works / night-shift 2,000,000 solved, 48 steps 1.00 s 138.6 MiB
Crossword / pass-it-on 300,000 solved, 25 steps 28.43 s 321.7 MiB
Tidewater / low-tide 2,000,000 solved, 10 steps 0.17 s 75.2 MiB
Clockwork / mouse-hole 4,000,000 solved, 23 steps 9.39 s 220.6 MiB

For 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.

Pack / proof Shortest path Expanded Attempted Per-proof peak RSS
Core / break-the-rule UDDDRRRRRRRRR (13) 11,698 46,792 237.9 MiB
Core / make-room-to-push RRRRRRRRR (9) 133 532 244.6 MiB
Core / two-things-can-win RRRRRR (6) 80 320 245.1 MiB
Word Lab / shared-control RRR (3) 16 64 55.2 MiB
Word Lab / change-what-you-are RRRRRR (6) 12 48 55.8 MiB
Word Lab / rules-are-cargo RRRRRRR (7) 54 216 63.7 MiB
Crossword / pass-it-on URDDDRUUURULDLULURRRDDDDR (25) 72,523 290,092 342.9 MiB
Crate Works / night-shift UUUURRRLLLDDDDRRRRUUUUUDLLLLUURRRRRRLLDDRRDDDRRR (48) 1,159 4,636 133.2 MiB
Tidewater / low-tide DDUURRRRRR (10) 376 1,504 73.6 MiB
Clockwork / mouse-hole URRRRRDRUUUUDDDDRDDDLLL (23) 12,265 61,323 195.2 MiB

The 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.

The 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.