Dashboard › opencode › Distillation
4d2271d7-5f3c-4564-9829-8b40bd8be203["lore_tm_v1_PIoC5WPmg7roPt35FSrdX28R6JEvaZt5XW-FUP_CvbQ","lore_tm_v1_oxmtohNMEKb3hUtA6f9YIgHuyXA-PcLXl-nCKMlF-Q0","lore_tm_v1_6FOojGzNHNo8p34fVRAN022jxKVBQonydDic1Wi0pek","lore_tm_v1_50_RvmFCAUaD_ckww_mkwTYKCWiPfFMNhkY0XrjcApw","lore_tm_v1_k_fhLrZ8GNWblTi0BsZ4UM-aelvosJ2bjiHisKfOTkQ","lore_tm_v1_nQt375XMyWYlpL3EnEhHH55RqKUgY8KBErE3nRktM-A","lore_tm_v1_cKQ5VlJexebOEiHi3VGDSByc_m6lcSYQ9ivCp5F_ZE8","lore_tm_v1_O3uGxgaj9xiTOqQT2wsoB3-8ckrSH_GjehWWgvkB2WE","lore_tm_v1_P3K2UqTOQX2ErTnVniee3PnYvPoN0XNK32ctUZYvIZM","lore_tm_v1_VDi6MX0zP4yIHWeci_DX9_As5mrkBTvjLHb4ZYj9s3g","lore_tm_v1_gYyNng0T4VLTnNLNgz3rA1847sAyvh_8hsDi-U6ulz8","lore_tm_v1_hJWTYctzjUABrhWd_pHQqcWDGJoJ0QKqMRV7bTaaJQk","lore_tm_v1_zO1x54RyqsRJEWKN4z27OHLoYBYzBS3aqtFcgduyc6k","lore_tm_v1_23v4KfA8k7R22TgEqnkGStxZHBnOrlw_lSygflvFPKI","lore_tm_v1_mpMIaly8clHwvxbRAtLubhiQAGNeW3bew4hxbRU2BoQ"]
Date: Sep 15, 2026
/home/byk/Code/opencode, using actual current source and tests rather than lore recall or prior-memory retrieval.Step.Ended and Compaction.Ended; 2. replay-safe recovery outbox settlement; 3. user-decline atomic cancellation with no recovery; 4. conflicting retry never arms wake; 5. poisoned recovery rows are quarantined with bounded progress.--printConsoleTrace, Core typecheck, Schema typecheck if needed, migration check, and git diff --check.AGENTS.md, .lore.md, or perf files.file:line.2418 insertions(+), 546 deletions(-): modified .lore.md, AGENTS.md, 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-runner-recorded.test.ts, packages/core/test/session-runner-tool-events.test.ts, packages/core/test/session-runner.test.ts, and packages/schema/src/session-event.ts; deleted packages/core/src/database/migration/20260914214636_session-execution.ts and packages/core/src/database/migration/20260914222526_session-execution-phase.ts; untracked packages/core/src/session/execution/claim.ts, packages/core/src/session/recovery-id.ts, perf.data, and perf.data.old.packages/core/src/session/recovery.ts found expired executions filtered with isNull(SessionExecutionTable.recovery_error), claims renewed with SESSION_EXECUTION_LEASE_MS, malformed claims quarantined via recovery_error, recovery publication guarded by current execution identity/ownership, recovery rows correlated with input/projection state, and recovery wake processing serialized with concurrency: 1.packages/core/test/session-projector.test.ts included "quarantines a malformed recovery row without blocking a valid wake" at line 400 and terminal event publication involving SessionEvent.Compaction.Ended near line 1247 and SessionEvent.Step.Ended near line 1388.packages/core/test/session-runner.test.ts coverage included "never dispatches a provider after ownership changes" at line 707; the test changes SessionExecutionTable ownership while model resolution is gated by Deferred values.packages/core/test/session-prompt.test.ts included: exact retry returns the original message and admits once; exact retry with resume: true wakes execution; initial execution intent persists wake_pending: true before advisory wake; an admit-only exact retry changes wake_pending from false to true; reuse of one ID with a different prompt or delivery mode yields Session.PromptConflictError.resume: true retry leaves wake intent untouched; assistant planned to strengthen those tests and inspect for implementation gaps.tsgo --noEmit failed with 3 errors: src/session/recovery.ts:222:17 and src/session/recovery.ts:223:54 reported TS2339, property value does not exist on Option<"continue" | "ready" | "unknown"> because it may be None; test/session-projector.test.ts:436:16 reported TS2322, type {} is not assignable to the expected prompt/SQL column value type.packages/core/src/session/recovery.ts and packages/core/test/session-projector.test.ts; packages/core/test/session-prompt.test.ts was also updated to strengthen prompt-conflict regression coverage.packages/core/test/session-runner.test.ts that replace execution identity/owner with "provider-successor", "publication-successor", "tool-successor", "interrupted-tool-successor", and "compaction-successor"; the compaction successor assertion expects { id: "compaction-successor", phase: "unknown" }.packages/core/test/session-runner.test.ts verifies blocked local tools are durably failed when a provider turn is interrupted: execution phase begins as "unknown", assistant finish becomes "error" with "Provider Step outcome unknown after interruption", tool state becomes "error" with "Tool execution outcome unknown after interruption", and the error state survives replaySessionProjection(sessionID).git diff --check result had yet been shown.