Dashboard › opencode › Distillation
0ca106ee-6811-456b-8075-e5c856b93827["lore_tm_v1_yPYWHTLmXstXsSlynqYm_gI7Ic9ie3_AjK6z4VaLFHQ","lore_tm_v1_UqWM0LKidxjKcfypOBsStjB6Snd0YWaOWL8bZjifeco","lore_tm_v1_m-C6JIbQpzD9yHog0awNGQ6zY-JrOkfB927tP2qT9y4","lore_tm_v1_IZ21CODIlTV9ZMuFp908jnZs4TzT_H6PF0SBm2NoGl0","lore_tm_v1_LFDiBbVAZHBSHoCh8fLFWEe_ZCoB9VKXROdfinqr7Ss","lore_tm_v1_U_MtgugT496OKSf7fTe8CccLRrWJx49MhcHveF5Vwx8","lore_tm_v1_D36lOLNLKR3T355eLsVQuszxPCMzoelXRsWKoNgebPY","lore_tm_v1_WdxsMbm-qRCGDC34KfSjCiTh83rRbP5UhAUL8l8NDCY","lore_tm_v1_yWsAFk9iezMmFr7wQqf6FOYVR4pbMIK82f2DeDCWh4Y","lore_tm_v1_1sUqsReE3comvHeM6YhU5KEdB6Tzl_Rp6WcNxupCjoU","lore_tm_v1_glQwxXQdFWtFFwVkM22FW4EIHgT-IY2O0FZtE2q1a-k","lore_tm_v1_oWrd6jsWF6Gzh3_eKjWi5_bzfp2OB1GEnz0PnQUBgYg","lore_tm_v1_3FO4h__aLPmWHmqDGmzedvJWFaiJFyze3xXjD0_IwqE"]
Date: Sep 17, 2026
24098, 13327, 29752, and 18472; every start reported version 1.18.30 with empty stderr.session.wake_attempts=0, session_input.wake_pending=false, session_recovery.wake_pending=true, and session_recovery.wake_attempts=0. It also verified index session_execution_recovery_scan_idx with SQL CREATE INDEX \session_execution_recovery_scan_idx` ON `session_execution` (`recovery_error`,`expires_at`,`time_created`,`id`)`.execution_count=1, recovery_count=0, input_count=0, message_count=0, and event_count=0; after the second restart it had execution_count=0, recovery_count=1, input_count=1, message_count=2, and event_count=2.recovery-final-v22 reached phase ready with wake_pending=0, wake_attempts=2, and recovery_error=null. Its queued input was msg_recovery_continue_recovery-final-v22, prompt {"text":"continue"}, delivery queue, promoted_seq=1, and wake_pending=0; events were ordered as sequence 0 session.next.step.recovered.1 and sequence 1 session.next.prompted.1.execution_count=0, recovery_count=1, input_count=1, message_count=2, and event_count=2, confirming duplicate-free recovery.packages/opencode/dist/server/opencode-server had SHA-256 10a3698a5e3b009f811a1b27eefab9e1083b560e24efee5f537f003d7edd7384. Smoke command copied /tmp/opencode/session-recovery-v21-smoke.mjs to /tmp/opencode/session-recovery-v22-smoke.mjs, replaced v21 with v22, ran it with Node, hashed the artifact, and checked for matching server processes./tmp/opencode/session-recovery-final-v22.patch had SHA-256 5af96209cef23e735f09dbf2f4b2f5b0f51b208ece9e5b325e4e217b46003643, touched exactly 34 files, and contained 8,757 insertions and 478 deletions.packages/client/src/generated/types.ts; packages/core/schema.json; packages/core/src/database/migration.gen.ts; packages/core/src/database/migration/20260914170650_session-recovery.ts; packages/core/src/database/schema.gen.ts; packages/core/src/session.ts; packages/core/src/session/compaction.ts; packages/core/src/session/context-epoch.ts; packages/core/src/session/execution/local.ts; packages/core/src/session/input.ts; packages/core/src/session/message-updater.ts; packages/core/src/session/projector.ts; packages/core/src/session/recovery.ts; packages/core/src/session/run-coordinator.ts; packages/core/src/session/runner/index.ts; packages/core/src/session/runner/llm.ts; packages/core/src/session/runner/publish-llm-event.ts; packages/core/src/session/sql.ts; packages/core/test/database-migration.test.ts; packages/core/test/session-execution-local.test.ts; packages/core/test/session-projector.test.ts; packages/core/test/session-prompt.test.ts; packages/core/test/session-run-coordinator.test.ts; packages/core/test/session-runner-recorded.test.ts; packages/core/test/session-runner-tool-events.test.ts; packages/core/test/session-runner.test.ts; packages/opencode/src/server/routes/instance/httpapi/server.ts; packages/schema/src/session-event.ts; packages/schema/test/event-manifest.test.ts; packages/sdk/js/src/v2/gen/types.gen.ts; packages/sdk/openapi.json; packages/server/src/routes.ts; packages/core/src/session/execution/claim.ts; and packages/core/src/session/recovery-id.ts.ab9408c81c (feat(app): adapt vertical tab density) but mistakenly ran read-only git apply --check in the populated main tree. Existing and diverged files caused failures across the patch; because the check failed before application, nothing was modified. The command was rerun from the detached V22 worktree and produced no output, confirming the frozen patch applies cleanly to the immutable base.ses_f5155b046ffevxjoS3bW2pTBdF and ses_f5155564affepmd7151PaF6oG9, with explicit focus on completed-Step unresolved-tool reconciliation and rollback after real interruption-event publication failure.1,191 passed; Recovery tests 254 passed; six package typechecks passed; migration and snapshot ancestry checks passed; exact artifact smoke passed; live services remained untouched.ses_f5163704cffep7FUWWYteJkfXK issued DO-NOT-MERGE because the SEA changed during review from required SHA-256 aa98d64abb3bf6ac0ef88a940f9c41c6eb14ffeab3c3a7846921ba01ef46643d to V22 SHA-256 10a3698a5e3b009f811a1b27eefab9e1083b560e24efee5f537f003d7edd7384; artifact immutability was therefore lost for that review. The review was deemed stale after V22 replaced V21.ab9408c81cc9916177641ae8e9f08624fc27b5b9, patch 2ae4eea72024cafe8b69c0461063ee25cbf54608856cd258866b7f3b86620b36, exactly 34 matching patch/worktree paths, reverse applicability, whitespace checks, and base snapshot f14a9b18-8207-487e-a3d3-227e629ba9ad named at packages/core/schema.json:4-7.packages/core/src/session/recovery.ts:179-218); continue-phase completed Steps still enter recovery (packages/core/src/session/recovery.ts:179-220); lease mutations predicate on exact Session, execution, owner, and unexpired lease (packages/core/src/session/execution/claim.ts:27-33); interruption waits for runner finalizers before durable settlement, concurrent callers share one barrier, and wakes received during cleanup survive (packages/core/src/session/execution/local.ts:168-210, packages/core/src/session/run-coordinator.ts:100-130); authentication and dependency direction remained intact.repo-setup; disclosed residual risks for final check-call behavior, process-local routing, and bounded clock skew remained accepted. Final approval stayed blocked pending active V22 correctness and security reviews.