Dashboard › opencode › Distillation
8f70f888-78b2-4fbb-879c-823220930e16["lore_tm_v1_fdp6msZINJOiDT3IGtGSbtqrLG5QUhws62OrPy9J7S4","lore_tm_v1_HDUDqvQ8mhkH14TAK7YPKCQg3SdoF0E9YaxfxnI2IAk"]
Date: Sep 17, 2026
SessionExecutionTable and SessionRecoveryTable from ../sql and documents durable continuation recovery as a separate future slice requiring an explicit retry policy.SessionExecutionTable.owner_id and claim.ownerID; provider requests carry the affinity header "x-session-affinity": session.id.concurrency: "unbounded", captures a starting snapshot through snapshots.capture(), executes the provider stream through restore(providerStream).pipe(Effect.exit), publishes an overflowFailure when present, and calls publisher.failUnsettledTools("Provider did not return a tool result", true) when the provider leaves tools unsettled.runAfterOverflowCompaction(...) and runTurnAttempt(...); execution is skipped when !recovering && !input.force && !hasSteer && !hasQueue, while continuation processing loops with while (needsContinuation).SessionSchema from ./schema, exposes admit via Effect.fn("SessionInput.admit"), and retrieves stored inputs from SessionInputTable with find(db, id).admit rejects an input already used as a recovery input by terminating with Effect.die(new LifecycleConflict({ id: input.id })); the same isRecoveryInput(db, input.id) conflict guard also appears in another input lifecycle path.requestExecution and timeCreated, and returns { admitted: stored, shouldWake }; wake evaluation treats row.wakePending as immediately true.SessionRecoveryTable with SessionInputTable, checks recovery identity fields such as session_id and continuation_message_id, and can report "Invalid recovery projection identity".sessionID and exact creation time using DateTime.toEpochMillis(input.timeCreated) === DateTime.toEpochMillis(expected.timeCreated).SessionEvent.Prompted, supports session-scoped queries using SessionInputTable.session_id, and associates recovery continuations through SessionRecoveryTable.continuation_message_id = SessionInputTable.id.