pi-durable Kill duel
Same deterministic 5-step hash task on two durable runtimes. Kill one or both mid-step; each must resume from its own log and finish with the same hash.
Expected – IDLE
Cloudflare
status idle
hash –
Vercel
status idle
hash –
- Task:
part_i = sha256(seed:i), i = 1..5,final = sha256(part_1 … part_5)(joined, no separator). - Kill left: the Durable Object calls
ctx.abort()mid-step. An alarm wakes a fresh instance, which reopens the SQLite storage and runsharness.resume(). - Kill right: a second invocation takes the World session over. The running step's next commit is refused and throws, and the killer exits without resuming. A Vercel Queue wake reopens the session after
recoverAfterMs = 5s. - PASS shows only when both hashes equal the expected hash for this seed.