You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix: turn-timeout gaps — no interrupt on deadline, stalled turn/start uncovered, background ignores --turn-timeout-ms #27
From Codex cycle-review of PR #26 (turn-level timeout port from openai#376). Three gaps in the current timeout implementation:
1. Timed-out turn not interrupted
When the deadline wins Promise.race, the await rejects but turn/interrupt is NOT sent. The broker keeps executing the write-capable turn after it's reported failed. Fix: send turn/interrupt on deadline, await bounded ack.
2. Deadline armed after turn/start response
captureTurn awaits startRequest before arming the deadline. A stalled turn/start (app-server alive but not responding) remains unbounded. Fix: arm the deadline before startRequest, race the entire lifecycle.
3. --turn-timeout-ms ignored for background
The flag is parsed but consumed only by the foreground-only applyForegroundTurnBudget. Background runs fall back to the 600s default, ignoring explicit user override. Fix: persist the explicit value in detached task requests, forward through to captureTurn.
changed the title [-]fix: timed-out turn not interrupted — broker keeps executing after deadline[/-][+]fix: turn-timeout gaps — no interrupt on deadline, stalled turn/start uncovered, background ignores --turn-timeout-ms[/+]on Jul 20, 2026
Activity
[-]fix: timed-out turn not interrupted — broker keeps executing after deadline[/-][+]fix: turn-timeout gaps — no interrupt on deadline, stalled turn/start uncovered, background ignores --turn-timeout-ms[/+]fix: turn-timeout gaps — interrupt on deadline, arm before startReque…