Dashboard › opencode › Distillation
962faf59-7209-453d-b066-126792e2a005["lore_tm_v1_OoUui8Um3ZYGZ6qX0PRPAbmHu9drWzCMk0WwKJV8jQA","lore_tm_v1_6JQ2w3s5KUUmW61FsMlv0Mgufh4sbYefyvOYVHBo0rA","lore_tm_v1_98X6z-Q62KqwO432mqvqOKMJ4wY1ShWFGgI4VdqGQxc","lore_tm_v1_mOFkWjABfe3GhNtwEIlGPFlgtl4tONbZW2Qg4mAE-bs","lore_tm_v1_xxhjzsXWtGGCb6OImEQo5lO4pig0z2IeEcZHeyUbRLk"]
Date: Sep 17, 2026
packages/core/src/session/runner/llm.ts.packages/core/src/session/runner/llm.ts was expanded from 439 to 624 lines and added import { and, eq } from "drizzle-orm" plus durable execution ownership logic involving SessionExecutionTable, executionID, ownerID, ownership claims, and owner-checked updates.RunTurn in packages/core/src/session/runner/llm.ts changed from (sessionID, promotion, step) to (sessionID, executionID, promotion, step, ownerID). Both transition paths preserve the same durable execution identity and owner: ContinueAfterOverflowCompaction calls runAfterOverflowCompaction(sessionID, executionID, undefined, defect.transition.step, ownerID), while other turn transitions recurse through runTurn(sessionID, executionID, undefined, defect.transition.step, ownerID)."Tool execution declined" invokes publisher.interruptAssistant(...), and database ownership checks combine execution identity with eq(SessionExecutionTable.owner_id, claim.ownerID).Effect.die("Post-compaction provider attempt cannot recover another overflow").packages/core/src/event.ts, 2. packages/core/src/public-event-manifest.ts, 3. packages/core/src/session/event.ts, 4. packages/core/src/session/runner/publish-llm-event.ts, 5. packages/core/src/database/migration/20260604172448_event_sourced_session_input.ts, and 6. packages/core/src/database/migration/20260323234822_events.ts.packages/core/src/event.ts: publish API at line 127; owner-aware replay options at lines 140 and 144; wake publication at line 357; publishEvent at line 369; typed and global PubSub publication at lines 414-415; publish implementation at line 419; publishEvent invocation at line 427; owner-aware options at line 443; conditional publication at line 463; another owner-aware option signature at line 482; and returned publish service member at line 623.packages/core/src/event.ts exposes replay options shaped as { readonly publish?: boolean; readonly ownerID?: string; readonly strictOwner?: boolean }, enabling optional republishing and owner-sensitive replay behavior.packages/core/src/event.ts contains a TODO to bind durable projectors to exact event type+version before incompatible historical payloads are supported.packages/core/src/event.ts distinguishes typed and global subscribers: when a typed PubSub exists it executes PubSub.publish(typed, event), then publishes the same event to pubsub.all.