feat(levels): reject one-orientation endgames, and measure the result
Every model that played the D5 set complained about the same moment: two pieces left, interlocked, and nothing on the board saying which way to turn. codex-spark took it to the end — it cycled all six orientations on L18 and gave up on a level that was solvable, with clarity rated 5. Replaying the position shows exactly one of the six orientations releases anything. deadTurnAudit now reports endgameMinOpen: across reachable states with three pieces or fewer left, the fewest orientations that release anything. It is computed inside the walk that was already happening, so it costs nothing. The generator requires at least two. The gate picks out precisely the four levels every model stalled on, with no false positives — the other fourteen already had two or three. Regenerating drops the spiral family entirely: its structure produces single-exit endgames by construction, not by unlucky seed. Measured on the regenerated set, rule bot first and then grok-4.6 xhigh over all 18: blind rotations 1.17 -> 0.29 per level extra rotations 1.22 -> 0.35 dead taps 2 -> 0 run time 55.5s -> 34.7s stuck rating 1.89 -> 1.41 (this metric repeats at r = 0.85) "which way do I turn" complaints 22% -> 12% of levels The gate is a floor, not a difficulty dial: difficulty also fell, 2.39 -> 2.12, because the levels it removes are the hard ones. And it treats a symptom — the t0/t3 interlock is what the four-piece chain in createDeepLock builds by construction, so the complaint is halved rather than gone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+12401
-11381
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user