Dashboard › opencode › Distillation
40f7e622-a1fc-4d76-882f-be6e6a8acdca["lore_tm_v1_2lXpdSVe0OHIYweaZN65vv9IVUlPrhCfq6mLtzF2ltA","lore_tm_v1_Y4zDRPkw0kxTnjc36INToBgc451jPYPEjfjbcXwv7Is"]
Date: Sep 15, 2026
/tmp/opencode/session-recovery-final.patch: 1. packages/core/schema.json (line 1), 2. packages/core/src/database/migration.gen.ts (line 410), 3. packages/core/src/database/migration/20260914170650_session-recovery.ts (line 421), 4. packages/core/src/database/schema.gen.ts (line 477), 5. packages/core/src/session.ts (line 563), 6. packages/core/src/session/compaction.ts (line 595), 7. packages/core/src/session/context-epoch.ts (line 684), 8. packages/core/src/session/execution/claim.ts (line 860), 9. packages/core/src/session/execution/local.ts (line 932), 10. packages/core/src/session/input.ts (line 1101), 11. packages/core/src/session/message-updater.ts (line 1452), 12. packages/core/src/session/projector.ts (line 1546), 13. packages/core/src/session/recovery-id.ts (line 1654), 14. packages/core/src/session/recovery.ts (line 1666), 15. packages/core/src/session/run-coordinator.ts (line 1977), 16. packages/core/src/session/runner/index.ts (line 2043), 17. packages/core/src/session/runner/llm.ts (line 2065), 18. packages/core/src/session/runner/publish-llm-event.ts (line 2506), 19. packages/core/src/session/sql.ts (line 2746), 20. packages/core/test/database-migration.test.ts (line 2832), 21. packages/core/test/session-execution-local.test.ts (line 2921), 22. packages/core/test/session-projector.test.ts (line 3166), 23. packages/core/test/session-prompt.test.ts (line 4342), 24. packages/core/test/session-runner-recorded.test.ts (line 4669), 25. packages/core/test/session-runner-tool-events.test.ts (line 4703), 26. packages/core/test/session-runner.test.ts (line 4718), 27. packages/opencode/src/server/routes/instance/httpapi/server.ts (line 5388), 28. packages/schema/src/session-event.ts (line 5409), 29. packages/schema/test/event-manifest.test.ts (line 5502), 30. packages/sdk/js/src/v2/gen/types.gen.ts (line 5545), 31. packages/sdk/openapi.json (line 5851), 32. packages/server/src/routes.ts (line 6864).Phase as Schema.Literals(["ready", "safe", "unknown", "continue"]) in the newly added recovery implementation beginning near line 1671.SessionInput.promoteExact(db, events, session.id, promotion.recoveryInputID, ...), define terminalCommit: () => updateExecution({ phase: "safe", assistant_message_id: null }), and stop execution with if (!recovering && !input.force && !hasSteer && !hasQueue) return.type is "tool" and whose state.status is "pending" or "running"; other entries are skipped via continue.Effect.logError("Failed to redrive Session input", cause).pipe(Effect.annotateLogs({ sessionID })).