fix(daemon): extend AMR first-output deadline to 150s - #7406
Conversation
|
@alchemistklk Heads-up: this overlaps pretty closely with #7342 — both PRs touch the AMR first-output timeout path ( Also, could you add the PR template's Surface area checkboxes? For this one, |
mrcfps
left a comment
There was a problem hiding this comment.
@alchemistklk thanks for the tight, evidence-backed timeout bump — this is a clean fix.
Verified the scoped change:
- AMR
firstOutputTimeoutMsmoves from 120s → 150s with matching comment wording - resolver/default contract tests and the AMR def assertion track the new default
- the dual-stall retry test now asserts the user-facing duration is derived from the configured deadline (
1200ms→1s) rather than a stale literal substring - override/disable path, inactivity policy, retry shape, and failure classification remain untouched
No correctness, safety, or test issues in the changed ranges. Nice work on keeping the blast radius small while covering the observed Fable5 long-tail first-token case.
🔁 Powered by Looper · runner=reviewer · agent=opencode · An autonomous AI dev team for your GitHub repos.
|
@alchemistklk quick follow-up before this moves on: the description is still missing two pieces from the current PR template — the Surface area checkboxes, plus a short Bug fix verification section. Since the Why / What users will see content is already covered by your Summary + Motivation, this is mostly just filling in the remaining checklist info for reviewers. |
|
Superseded by #7342. We are keeping the broader timeout-policy and user-copy direction and will land only one overlapping client timeout implementation. |
|
Thanks for closing the loop here. Consolidating on #7342 for the broader timeout-policy and user-copy direction makes sense — we'll treat this PR as superseded and keep follow-up there. |
|
The maintained client fix is now #7495. It keeps the product-approved Cloud 30-minute policy from #7342 rather than reopening this narrower 150-second variant. Production Vela telemetry now shows 145/146 relevant Aiping DeepSeek cancellations clustering at 122–125 seconds, reinforcing that the shared 120-second cutoff is the issue. |
|
Thanks for the update — noted on #7495. Keeping the maintained follow-up there, with the Cloud 30-minute policy and the newer Vela telemetry, makes sense; we'll treat this PR as fully superseded by that path. |
Summary
Motivation
OPEND-2133 captured a cloud Fable5 run that was cancelled after the outer 120-second deadline. Production correlation showed that runtime startup left the provider about 116 seconds, while a nearby successful Fable5 request produced its first token at 119.464 seconds.
A 150-second outer deadline leaves roughly 146 seconds of provider startup budget and should cover that observed long-tail success without changing the broader 30-minute inactivity policy.
Related:
Behavior and trade-off
Unchanged:
OD_CHAT_RUN_FIRST_OUTPUT_TIMEOUT_MSoverride and0disable semanticsTrade-off: two completely silent attempts can now take about 300 seconds instead of about 240 seconds before terminal failure. The new Vela establishment metrics will provide the rollout evidence needed to evaluate this tail.
Validation
Passed:
pnpm guardThe full daemon suite exceeded the 1200-second command limit and its partial output contained unrelated pre-existing Codex model-preflight/media route failures plus post-close SQLite watcher warnings, so it is reported as inconclusive rather than passed.