Dashboard › opencode › Durable session execution, ownership, a…
01a0ae82-565a-7382-b693-0f283b250e32Session 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.