The solver's position key reads stackAt (each tile oldest first). New tool tools/verify-levels.mjs checks course/10-spellgrid/levels/proofs.json: each level's shortest solution, and that it exhausts without its idea (neverRule) or on the naive engine. Levels 4-10, one course idea each, with test_10_level_N_solution in both tracks, scenarios and Lesson 10's list; l1 no longer matches l10, and proofs.json is not listed as a level. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 lines
781 B
JSON
13 lines
781 B
JSON
[
|
|
{ "level": "l1-double-tap", "shortest": 10, "neverRule": "DEATHRATTLE IS DOUBLE" },
|
|
{ "level": "l2-spliced-corpse", "shortest": 4 },
|
|
{ "level": "l3-simultaneous-paradox", "shortest": 6, "naiveUnsolvable": true },
|
|
{ "level": "l4-crossed-out", "shortest": 7, "neverRule": "DEATHRATTLE IS DOUBLE" },
|
|
{ "level": "l5-sealed-keg", "shortest": 6, "neverRule": "KEG IS NOT KEG" },
|
|
{ "level": "l6-melt-before-defeat", "shortest": 7, "neverRule": "LAVA IS HOT" },
|
|
{ "level": "l7-clay-key", "shortest": 9, "neverRule": "SHARD IS OPEN" },
|
|
{ "level": "l8-nothing-dies", "shortest": 4, "neverRule": "SHARD IS WIN" },
|
|
{ "level": "l9-skull-river", "shortest": 9, "neverRule": "SKULL IS SINK" },
|
|
{ "level": "l10-friendly-fire", "shortest": 6, "neverRule": "KNIGHT IS YOU" }
|
|
]
|