fix(codex): make post-tool raw assistant timeout configurable#84974
Conversation
|
Codex review: needs maintainer review before merge. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. for the source-level behavior: current main uses PR rating Rank-up moves:
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. Real behavior proof Risk before merge
Maintainer options:
Next step before merge Security Review detailsBest possible solution: Merge the compatible opt-in timeout knob only if maintainers accept the availability tradeoff, while leaving default semantic changes to #84137. Do we have a high-confidence way to reproduce the issue? Yes for the source-level behavior: current main uses Is this the best way to solve the issue? Yes for the conservative path if maintainers accept the config surface: the PR preserves existing default behavior and scopes longer post-tool waits to an explicit Codex plugin config value. The broader default-budget question belongs in #84137. Label justifications:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 7f4bd454febf. |
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Brave Test Hopper Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
|
maintainer follow-up after reviewing this with the wider Codex app-server stack: #83200/#83222, #83476, #84135, #84137, #84492/#84494, and #84516. This is the maintainer-copy replacement for #84135 because the source PR has proof:
scope boundary: this is a conservative operator knob for post-tool raw assistant completion waits. It does not decide the broader #84137 semantic question, and it should not be treated as a fix for #84516's long-reply/final-delivery truncation path. related fixed layers: #83222 supersedes #83200 for streamed command-output preservation, and #83476 fixed the dynamic-tool diagnostic terminalization layer. |
55874d0 to
3d3ccca
Compare
3d3ccca to
f82e9ab
Compare
f82e9ab to
38c1776
Compare
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
…aw#84974) * fix(codex): make post-tool raw assistant timeout configurable * docs(codex): align post-tool assistant timeout docs * docs(changelog): move codex timeout note to unreleased --------- Co-authored-by: 0x505badc0de <32790662+rozmiarD@users.noreply.github.com>
Summary
maintainerCanModify=falseand was behind currentorigin/main.appServer.postToolRawAssistantCompletionIdleTimeoutMsfor the post-tool raw assistant completion guard while keeping existing defaults unchanged.Relationship
Verification
git diff --check origin/main...HEADCI=1 timeout 300s node scripts/run-vitest.mjs run --config test/vitest/vitest.extensions.config.ts extensions/codex/src/app-server/config.test.ts extensions/codex/src/app-server/run-attempt.test.ts -t "post-tool raw assistant|Codex app-server config|raw assistant progress"3d3cccae5e7bf3a169a2ede69ea78d4baa3ff479: passing; merge stateCLEAN.run_2e8d4ef8e9f8/cbx_94b0ff7d2a58, thenrun_8bcea25f992c/cbx_c973fe8ca285.Real behavior proof
Behavior addressed: Post-tool raw assistant completion after a tool handoff can use a dedicated completion-idle timeout when configured, without changing pre-tool assistant release behavior or default timeout semantics.
Real environment tested: Local OpenClaw source checkout plus GitHub CI on rebased current head
3d3cccae5e7bf3a169a2ede69ea78d4baa3ff479.Exact steps or command run after this patch: ran the focused local regression command above, rebased on current
origin/main, pushed the replacement branch, and verified the fresh GitHub check rollup.Evidence after fix: Focused local regression passed: 2 files passed, 46 tests passed, 184 skipped. Current-head GitHub checks passed with merge state
CLEAN.Observed result after fix: The config and post-tool raw assistant regression coverage pass on the rebased branch.
What was not tested: Full live Codex app-server/tool handoff. Current-head Crabbox proof was attempted twice but failed in the Crabbox rsync layer before test execution.