Skip to content

feat(orchestration): make whole-plan verify timeout independently configurable#6424

Merged
bug-ops merged 1 commit into
mainfrom
feat/issue-6379/whole-plan-verify-timeout
Jul 17, 2026
Merged

feat(orchestration): make whole-plan verify timeout independently configurable#6424
bug-ops merged 1 commit into
mainfrom
feat/issue-6379/whole-plan-verify-timeout

Conversation

@bug-ops

@bug-ops bug-ops commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • verify_plan() (whole-plan grounding) shared orchestration.verifier_timeout_secs with per-task verify(). 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-task verify() on the same run/provider returned promptly.
  • Adds whole_plan_verifier_timeout_secs (0 = fall back to verifier_timeout_secs, mirrors EnsembleConfig::member_timeout_secs), wired into a new PlanVerifier::whole_plan_timeout field used by verify_plan()'s timeout call and both its timeout-path log fields.
  • Adds tracing::debug! prompt-size/tool-trace-entry diagnostics to both verify() and verify_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.
  • Adds config migration Step 93 (advisory comment under [orchestration]).

Scope note: default behavior is unchanged (0 still 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 giving verify_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 --check
  • cargo clippy --profile ci --workspace --all-targets --features "desktop,ide,server,chat,pdf,scheduler,testing" -- -D warnings
  • cargo 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"
  • New unit tests: config default/round-trip, PlanVerifier fallback/independence (construction-level + behavioral via SlowMockProvider), 4 migration Step 93 tests
  • CHANGELOG.md updated ([Unreleased] > Fixed)
  • Live LLM round-trip verification (out of scope for this session; tracked via updated .local/testing/coverage-status.md "Whole-plan verifier grounding" row, left Partial)

@github-actions github-actions Bot added enhancement New feature or request documentation Improvements or additions to documentation rust Rust code changes config Configuration file changes size/L Large PR (201-500 lines) and removed enhancement New feature or request labels Jul 17, 2026
…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
bug-ops enabled auto-merge (squash) July 17, 2026 22:01
@bug-ops
bug-ops force-pushed the feat/issue-6379/whole-plan-verify-timeout branch from e823851 to 9276c73 Compare July 17, 2026 22:01
@github-actions github-actions Bot added the enhancement New feature or request label Jul 17, 2026
@bug-ops
bug-ops merged commit 81dfc1c into main Jul 17, 2026
43 checks passed
@bug-ops
bug-ops deleted the feat/issue-6379/whole-plan-verify-timeout branch July 17, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration file changes documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/L Large PR (201-500 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

whole-plan verify (verify_plan) consistently exhausts the shared 120s verifier_timeout_secs and fail-opens

1 participant