• The same painted thing at every size, never different things — otherwise a child answers by preference, not size
  • Every step is at least 1.25× apart, which is visible (npm run verify:seriation)
  • No row is ever handed over already sorted
  • A wrong row simply comes back — no cross, and no sound that means no
  • Fixed a shared bug on the way: the platform's shuffle returned the same permutation every time for a three-item list
  • The thing says its own name when tappedplanned

✓ = done · ☐ = planned. Every game is built one step at a time like this.