feat(orchestration): make whole-plan verify timeout independently configurable#6424
Merged
Merged
Conversation
…figurable verify_plan() (whole-plan grounding) shared orchestration.verifier_timeout_secs with per-task verify(), and live testing (ci-1402/1403/1404) observed it consistently exhausting the full 120s budget and fail-opening, while per-task verify() on the same run/provider returned promptly. Add whole_plan_verifier_timeout_secs (0 = fall back to verifier_timeout_secs, mirrors EnsembleConfig::member_timeout_secs), wire it into a separate PlanVerifier::whole_plan_timeout, and add prompt-size/tool-trace diagnostic logging to both verify() and verify_plan() so a future live session can tell a prompt-size effect apart from a genuine model-latency issue. Default behavior is unchanged (0 still resolves to the same 120s), so this does not resolve the live symptom on its own -- it closes the config/spec gap that prevented giving verify_plan() a different budget at all, and adds the instrumentation needed to determine the actual fix in a follow-up live verification pass. Refs #6379
bug-ops
enabled auto-merge (squash)
July 17, 2026 22:01
bug-ops
force-pushed
the
feat/issue-6379/whole-plan-verify-timeout
branch
from
July 17, 2026 22:01
e823851 to
9276c73
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
verify_plan()(whole-plan grounding) sharedorchestration.verifier_timeout_secswith per-taskverify(). Live testing (ci-1402/1403/1404) observed it consistently exhausting the full 120s budget and fail-opening (complete=true, confidence=0.0, gaps=0) while per-taskverify()on the same run/provider returned promptly.whole_plan_verifier_timeout_secs(0= fall back toverifier_timeout_secs, mirrorsEnsembleConfig::member_timeout_secs), wired into a newPlanVerifier::whole_plan_timeoutfield used byverify_plan()'s timeout call and both its timeout-path log fields.tracing::debug!prompt-size/tool-trace-entry diagnostics to bothverify()andverify_plan()right before their LLM calls, so a future live session can tell a prompt-size effect apart from a genuine model-latency/hang issue — root-cause analysis found the whole-plan prompt is not obviously larger than a per-task prompt in the 2-task repro case, so a longer timeout alone is an unproven fix.[orchestration]).Scope note: default behavior is unchanged (
0still resolves to the same 120s), so this does not resolve the live symptom out-of-the-box on its own — it closes the config/spec gap that prevented givingverify_plan()a different budget at all, and adds the instrumentation needed to determine and confirm the actual fix in a follow-up live-verification session.Refs #6379
Test plan
cargo +nightly fmt --checkcargo clippy --profile ci --workspace --all-targets --features "desktop,ide,server,chat,pdf,scheduler,testing" -- -D warningscargo nextest run --config-file .github/nextest.toml --workspace --features "desktop,ide,server,chat,pdf,scheduler" --lib --bins(14211 passed)RUSTFLAGS="-D warnings" RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc --no-deps --workspace --features "desktop,ide,server,chat,pdf,scheduler"PlanVerifierfallback/independence (construction-level + behavioral viaSlowMockProvider), 4 migration Step 93 testsCHANGELOG.mdupdated ([Unreleased] > Fixed).local/testing/coverage-status.md"Whole-plan verifier grounding" row, leftPartial)