Dashboard › opencode › Distillation
6fad8602-d7ff-48c4-8f53-068543fcef57["lore_tm_v1_W9PKRXGV9NpUHChuh1qNwcbgZtVExUu3u8q2zuRvfEc","lore_tm_v1_9Bd1uLfgf41HP8VOv2yyrmmR-XMAA5EPUAVOO_Rlvxg"]
Date: Sep 17, 2026
packages/core/src/database/schema.gen.ts defines session_execution with columns id, session_id, owner_id, nullable assistant_message_id, phase, assistant_seq default -1, time_created, expires_at, and nullable recovery_error; session_execution_phase_check permits 'ready', 'safe', 'unknown', 'continue', 'cancelling', and 'cancelled'.packages/core/src/database/schema.gen.ts defines session_input with id, session_id, prompt, delivery, admitted_seq, nullable promoted_seq, wake_pending default false, and time_created.packages/core/src/database/schema.gen.ts defines session_recovery with session_id, execution_id as primary key, nullable assistant_message_id, continuation_message_id, phase, wake_pending default true, wake_attempts default 0, nullable recovery_error, and time_created; session_recovery_wake_attempts_check constrains wake_attempts to 0..9007199254740991.session_recovery foreign keys in packages/core/src/database/schema.gen.ts use ON DELETE CASCADE: session_id → session.id, assistant_message_id → session_message.id, and continuation_message_id → session_input.id.session_execution_session_idx on session_execution(session_id), session_execution_owner_idx on owner_id, session_execution_recovery_scan_idx on (recovery_error, expires_at, time_created, id), unique session_recovery_continuation_message_idx on continuation_message_id, and session_recovery_wake_pending_error_attempts_created_execution_idx on (wake_pending, recovery_error, wake_attempts, time_created, execution_id).session_input_session_pending_delivery_seq_idx on (session_id, promoted_seq, delivery, admitted_seq), unique session_input_session_admitted_seq_idx on (session_id, admitted_seq), unique session_input_session_promoted_seq_idx on (session_id, promoted_seq), and session_input_wake_pending_promoted_session_idx on (wake_pending, promoted_seq, session_id).session table includes wake_attempts default 0; session_wake_attempts_check constrains it to 0..9007199254740991.packages/core/test/session-runner-recorded.test.ts replaced SessionRunCoordinator with SessionExecutionLocal; the execution test layer now calls SessionExecutionLocal.make({ run: (claim, force, recoveryInputID) => sessionRunner.run({ ...claim, force, recoveryInputID }) }) and provides both runnerLayer and LayerNode.compile(Database.node).packages/core/test/session-runner-recorded.test.ts now includes "session.next.prompt.execution_requested.1" immediately after "session.next.prompt.admitted.1" and before "session.next.prompted.1".packages/core/test/session-runner-tool-events.test.ts updated its mocked SessionRunnerModel service with startCommit: () => Effect.void and eventCommit: () => Effect.void; the remaining shown changes only reformat object literals for EventV2.Payload, LLMEvent.toolCall, media-file content, and legacy decoded result data without changing their values.