DashboardopencodeDurable session execution, ownership, a…

Durable session execution, ownership, and recovery invariants

Category: gotcha
Confidence: 0.90
ID: 01a0ae82-565a-7382-b693-0f283b250e32
Project ID: c0425955-02bc-4c17-9af2-b114c00077e7
Cross-project: No
Recalled in other projects: 0
Source session: 15MwqbCJ3UpZuJ1H1
Created: 2026-09-15 18:30:08
Updated: 2026-09-17 08:36:12

Content

Session execution requires durable leases, unique execution IDs, and exact owner/claim fencing immediately before every provider dispatch, tool action, publication, mutation, heartbeat, cleanup, and commit. Ownership change, expiry, or uncertainty must fail closed: stale work produces no effects, expired claims cannot renew, and uncertain provider/tool work is never replayed. Persist lifecycle transitions and events atomically; reconcile unresolved hosted tools before continuation. Never recover live, malformed, cancelled, quarantined, or superseded work. Recovery selects only the latest eligible assistant and uses its exact durable continuation. Add deterministic Effect tests named as negative “never …” invariants for takeover, expiry, races, cancellation, crash windows, wake loss, supersession, and rollback, asserting both absent side effects and exact persisted state.

Move to: