Random does not mean untracked
When a client requests work, the coordinator chooses an interval inside the active puzzle keyspace and records it as an assignment. Random placement spreads activity rather than always walking upward from one edge, but every selected interval is checked against the ledger so assigned or completed space is not issued as fresh work.
Hardware changes range size, not entitlement
A faster backend can process more keys during the target runtime, so it is practical to give that worker a larger interval. OpenPuzzle uses observed benchmark speed for sizing and compatibility. It does not use speed as a priority score. A slower compatible participant retains the same right to receive work; the assigned unit is simply sized differently.
This distinction prevents an efficiency mechanism from becoming a ranking mechanism. The scheduler can target roughly similar assignment durations while preserving equal access to available work.
Why leases exist
A coordinator cannot assume that every client that claims work will remain online. Progress heartbeats renew the assignment lease and provide keys checked, checkpoint and recent speed. If a client disappears, the system can eventually classify that assignment separately rather than allowing it to block the keyspace indefinitely.
Cancellation and recycling
A cancelled interval is not equivalent to a completed interval. Even if a client reports partial progress, OpenPuzzle does not treat the untouched remainder as searched evidence. Recycled work therefore restarts from the beginning of the cancelled interval. This is conservative, but it avoids creating invisible holes based on a checkpoint that may not represent durable evidence.
Completion requires consistency
A normal engine exit alone is not enough. Completion reporting must be consistent with the full assigned boundaries. Lifecycle states remain explicit so a failed, expired or interrupted run cannot accidentally inflate public coverage.