Dashboard › opencode › Distillation
081dc5e0-8153-4c27-8bb1-b3de5307d540["lore_tm_v1_zZnitJwHR3wRNiLs_F0Tx3Zi15ZcOZR7zwEWKnnXKI8","lore_tm_v1_NnS0Gm3yiZGQ1d6Eob0myt-xPqT0z5kPMxuHVYRkqSg"]
Date: Sep 16, 2026
/tmp/opencode/session-recovery-v7-check/packages/core/test/session-runner.test.ts ownership-fencing test "never dispatches a provider after ownership changes" pauses model resolution with modelResolveHook = Deferred.succeed(resolving, undefined).pipe(Effect.andThen(Deferred.await(resumeResolution))), changes ownership in SessionExecutionTable, and verifies the stale runner does not dispatch the provider."never publishes streamed output after ownership changes" configures streamed text "stale output" via fragmentFixture("text", "text-fenced", ["stale output"]).completeEvents, changes ownership in SessionExecutionTable, and verifies the stale output is not durably published."never starts a local tool after ownership changes" clears executions, changes ownership before tool execution, and verifies no execution occurs and no event with SessionEvent.Tool.Called.type is published."never fails interrupted tools after ownership changes" uses assistant tool call ID "call-interrupted-fence" and tool "echo"; after ownership changes, the projected tool content remains { type: "tool", id: "call-interrupted-fence", state: { status: "running" } } rather than being failed by the stale runner.session-runner.test.ts defines structured output as Schema.Struct({ answer: Schema.String }).session-runner.test.ts includes compaction test "retains only complete serialized messages during compaction"; its setup records a recent prompt with session.prompt({ sessionID, prompt: Prompt.make({ text: recent }), resume: false }).type === "synthetic".requests[2] contains the exact summary wrapper "<summary>\n## Objective\n- Recover overflow\n</summary>"."## Objective\n- Recover raw overflow" through fragmentFixture("text", "text-summary", ["## Objective\n- Recover raw overflow"]).completeEvents.Fiber.await(run) and expects a { _tag: "Failure" } result when interrupted while the summary provider is running."call-provider" marked providerExecuted: true and a file result { type: "file", mime: "image/png", uri: "data:image/png;base64,aGVsbG8=", name: "hello.png" }."never commits continuation before unresolved hosted tools are reconciled" exercises a provider turn ending with LLMEvent.finish({ reason: "tool-calls" }), requiring hosted-tool reconciliation before continuation is committed."session.next.step.ended.2" and "session.next.step.failed.2"; one test installs a database trigger condition WHEN NEW.type = 'session.next.step.failed.2' to simulate failure publication defects.LLMEvent.textEnd({ id: "text-recovered" }).