From faf0e67c86934bc2dbe59c52de2b4c1e6f6336fd Mon Sep 17 00:00:00 2001 From: Jinwoo-H Date: Tue, 11 Aug 2026 00:54:23 -0400 Subject: [PATCH] fix(orchestration): guard skewed inbox indexes --- src/main/runtime/orchestration/db.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/runtime/orchestration/db.ts b/src/main/runtime/orchestration/db.ts index 382a5d4d52b..2547fd719b1 100644 --- a/src/main/runtime/orchestration/db.ts +++ b/src/main/runtime/orchestration/db.ts @@ -1429,12 +1429,22 @@ export class OrchestrationDb { } private createUndeliveredInboxIndexIfPossible(): void { - if (!this.hasColumn('messages', 'delivered_at')) { + const hasDeliveredAt = this.hasColumn('messages', 'delivered_at') + if (hasDeliveredAt) { + this.db.exec(` + CREATE INDEX IF NOT EXISTS idx_messages_undelivered_inbox + ON messages(to_handle, read, delivered_at, sequence) + `) + } + + if ( + !hasDeliveredAt || + !this.hasColumn('messages', 'run_id') || + !this.hasColumn('messages', 'delivery_contract') + ) { return } this.db.exec(` - CREATE INDEX IF NOT EXISTS idx_messages_undelivered_inbox - ON messages(to_handle, read, delivered_at, sequence); CREATE INDEX IF NOT EXISTS idx_messages_undelivered_direct_run ON messages(run_id, to_handle, sequence) WHERE read = 0 AND delivered_at IS NULL