fix: split image setup and request timeout semantics#85415
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 11, 2026, 5:01 AM ET / 09:01 UTC. Summary PR surface: Source +39, Tests +65, Docs +4. Total +108 across 5 files. Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path. Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Review detailsBest possible solution: Retry the Codex review after fixing the execution failure. Do we have a high-confidence way to reproduce the issue? Unclear. The review failed before ClawSweeper could establish a reproduction path. Is this the best way to solve the issue? Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 0c4fc0a2e3b3. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +39, Tests +65, Docs +4. Total +108 across 5 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Clockwork Diff Drake Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
|
I checked the timeout contract here, and I think this PR is fixing an implementation bug rather than changing the config contract. The reasoning is:
So the intended semantics of this patch are:
To reduce future confusion, I am also tightening the wording in the docs so the image timeout is described more explicitly as a per-request or per-phase timeout rather than a whole-operation timeout. |
c379989 to
3f927f0
Compare
|
/clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
@clawsweeper autofix |
|
🦞🔧
This is fix-only; I will not merge this PR. |
|
ClawSweeper 🐠 automerge status No new branch changes from this pass. ClawSweeper left the branch untouched instead of making a noisy edit. Executor outcome: Codex fix worker timed out after 1200000ms. Worker actions:
No push, rebase, replacement PR, merge, or ClawSweeper re-review happened on this pass. fish notes: model gpt-5.5, reasoning high. Automerge progress:
|
|
🦞✅ Source: Why human review is needed: What the maintainer can do as a next step: I added |
76443b2 to
73a558c
Compare
|
🦞✅ Source: Why human review is needed: What the maintainer can do as a next step: I added |
|
@clawsweeper automerge |
|
@clawsweeper approve |
|
ClawSweeper 🐠 reef update Thanks for the contribution here. ClawSweeper tried the original lane first, but branch permissions blocked the push, so a replacement PR is carrying the fix forward. Why replacement: ClawSweeper could not update the source PR branch directly; GitHub did not grant sufficient push rights to the bot for that branch.
fish notes: reasoning high; reviewed against b84f60d. |
Summary
tools.media.image.timeoutSecondsbudget instead of shrinking the request budget by elapsed setup timeVerification
git diff --checkenv CI=1 NODE_OPTIONS=--max-old-space-size=4096 OPENCLAW_VITEST_MAX_WORKERS=1 OPENCLAW_VITEST_NO_OUTPUT_TIMEOUT_MS=900000 node scripts/crabbox-wrapper.mjs run --provider docker --docker-image node:22-bookworm --timing-json --shell -- "bash -lc 'corepack enable >/dev/null 2>&1 && env CI=1 NODE_OPTIONS=--max-old-space-size=4096 OPENCLAW_VITEST_MAX_WORKERS=1 OPENCLAW_VITEST_NO_OUTPUT_TIMEOUT_MS=900000 corepack pnpm test src/media-understanding/image.test.ts'"Real behavior proof
Behavior addressed: image timeout errors no longer collapse setup latency into a tiny remaining provider timeout; setup and request failures now report distinct phases.
Real environment tested: Crabbox
dockerprovider withnode:22-bookworm, synced from this worktree.Exact steps or command run after this patch: run the targeted media-understanding Vitest file via Crabbox Docker using the command above.
Evidence after fix:
src/media-understanding/image.test.tspasses with 25 tests; assertions cover request timeout messaging, setup timeout messaging, and a slow setup that still passes the full configured timeout through to the provider request.Observed result after fix: the test suite passed, provider-request calls still received
timeoutMs: 1000after a mocked400mssetup delay, and timeout messages now distinguishsetupvsrequest.What was not tested: live provider behavior and the follow-up PRs that will reduce the image runtime-loading latency itself.