Dashboard › opencode › Distillation
a8bad98f-e53a-426d-ae71-82bcc7d66a3b["lore_tm_v1_m0WljwnxFCN1xBqJ-RqBTGO0CTHN_Ze41gH9oOYgZR0","lore_tm_v1_OShfsg8mgWEy6lVoQoSrvKAjHhQn44YuEsuspoArldw","lore_tm_v1_orOmAuyY7n7XruwydJl-jcHl672Tqsk_pYWXKEAqT8A","lore_tm_v1_BNepzbg9Puag8KmRQAVsQzbSyceGyTaZ3cVns0PHt_s"]
Date: Sep 17, 2026
SessionExecution, uses SessionInputTable, SessionRecoveryTable, and SessionExecutionTable, orders execution claims by asc(SessionExecutionTable.time_created), asc(SessionExecutionTable.id), and renews ownership with { owner_id: ownerID, expires_at: now + SESSION_EXECUTION_LEASE_MS }.asc(SessionRecoveryTable.time_created), asc(SessionRecoveryTable.execution_id), validates continuation inputs through SessionInput.validateRecovery(db, row.continuationMessageID), and filters pending work using SessionRecoveryTable.wake_pending = true; ordinary wake selection distinguishes retries with gt(SessionTable.wake_attempts, 0) and lte(SessionTable.wake_attempts, MAX_WAKE_ATTEMPTS)."cancelled", clears claims through SessionExecutionClaim.clear(db, recoveryClaim), inspects whether the latest message is an incomplete assistant message, handles tool calls via callID: tool.id, and logs failures with Effect.logError("Failed to recover Session", cause).No files found; a subsequent search located /tmp/opencode/session-recovery-v21-review/packages/core/src/event.ts and /tmp/opencode/session-recovery-v21-review/packages/core/src/session/event.ts./tmp/opencode/session-recovery-v21-review/packages/core/src/event.ts found 34 commit/publish-related matches. At lines 122–123, durable events support an optional local operational projection commit?: (seq: number) => Effect.Effect<void> that is committed atomically with the event and is neither replayed nor serialized.packages/core/src/event.ts, commitDurableEvent(...) accepts the local commit hook; after projectors run, it invokes commit(seq) when present. publishEvent(...) rejects a commit hook on a non-durable definition with "Local commit hooks require a durable event".packages/core/src/event.ts exposes durable-event options including publish?: boolean, ownerID?: string, and strictOwner?: boolean; after a successful durable commit, optional publication emits the committed aggregateID and seq, while durable wake subscribers are notified through PubSub.publish(wake, undefined).