Skip to content

fix: let Opus Advisor use the full bridge timeout - #35

Open
Vri6500 wants to merge 1 commit into
Cjbuilds:mainfrom
Vri6500:codex/opus-advisor-tool-timeout
Open

Vri6500 wants to merge 1 commit into
Cjbuilds:mainfrom
Vri6500:codex/opus-advisor-tool-timeout

Conversation

@Vri6500

@Vri6500 Vri6500 commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

What changed

  • set tool_timeout_sec to 660 seconds on all three bundled Claude MCP launchers
  • keep the bridge subprocess timeout at 600 seconds
  • bump the plugin payload version to 0.9.4
  • document the outer-timeout requirement
  • add packaging regression coverage that requires every launcher timeout to exceed the bridge timeout

Why

Claude Opus 5 XHigh reviews can take longer than Codex's default 300-second MCP tool timeout. The bridge itself already allows 600 seconds, so Codex could cancel a healthy review before the bridge returned either its schema-validated result or its own fail-closed timeout error.

The new contract is 660s Codex tool timeout > 600s Claude subprocess timeout. This preserves the selected XHigh effort and all existing authentication, model-identity, structured-output, and fail-closed validation.

Impact

Long-running bundled Claude Planner or Advisor calls can now use the bridge's complete bounded runtime. Fast calls are unaffected. Calls that exceed 600 seconds still fail closed inside the bridge.

Validation

  • python3 -m unittest -v tests.test_packaging tests.test_release_check — 38 passed
  • python3 scripts/preflight.py quick — available local gates passed
  • python3 scripts/preflight.py full — full tests and disposable plugin install/upgrade lifecycle passed
  • JSON manifests validated with python3 -m json.tool
  • exact-head final-tree review — approved with no actionable findings
  • hosted CI — Python 3.11/3.13, lifecycle, legacy-client guard, macOS/Windows portability, and CodeQL passed

Ruff was not installed locally. The hosted Ruff check passed.

Review attestation

{
"schema": 1,
"risk_tier": "security-state",
"repository": "Cjbuilds/Codex-Orchestration",
"base_branch": "main",
"reviewed_head_sha": "33fa720392abf01d7ba455449b93f68194f0626f",
"reviewer_identity": "Codex Executor final-tree reviewer at the exact head commit",
"reviewer_route": "gpt-5.6-sol xhigh read-only Executor route",
"threat_model": {
"assets": [
"Schema-validated Advisor decisions and selected model identity",
"Prompt and provider-output confidentiality during timeout failure",
"Bounded availability of the bundled Claude MCP launchers",
"Consistent plugin release identity across packaged surfaces"
],
"threats": [
"Codex cancels a healthy review before the bridge returns",
"A Claude subprocess hangs beyond the intended bounded runtime",
"Malformed or unconfirmed model output is treated as approval",
"Only one bundled Python launcher receives the timeout setting",
"Payload changes ship without a consistent semantic version bump"
],
"mitigations": [
"Set every bundled launcher to a 660-second outer tool timeout",
"Keep the Claude subprocess bounded at 600 seconds and authentication at 20 seconds",
"Retain fail-closed schema and runtime-model validation with output withholding",
"Keep all bundled launchers disabled until the user selects the route",
"Assert timeout ordering and release identity through packaging and lifecycle tests"
]
},
"negative_test_evidence": [
{
"category": "regression",
"evidence": "Exact-head packaging tests require all three launchers to use 660 seconds and exceed the bounded 600-second bridge timeout."
},
{
"category": "negative",
"evidence": "Exact-head timeout and unexpected-argument tests passed, confirming failures remain bounded, fail closed, and do not leak prompt or provider output."
},
{
"category": "malformed",
"evidence": "Exact-head tests passed for malformed JSON, unconfirmed model identity, malformed semantic versions, and invalid review output."
}
],
"findings_disposition": "No actionable findings; the exact final tree was approved after security, compatibility, packaging, timeout, and fail-closed review."
}

@Vri6500
Vri6500 marked this pull request as ready for review July 26, 2026 18:21
@Vri6500
Vri6500 requested a review from Cjbuilds as a code owner July 26, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant