Repository navigation
fix(acp): queue busy follow-up prompts safely - #23772
StiensWout wants to merge 7 commits into
Conversation
ApprovabilityVerdict: Needs Human Approval Macroscope's review found this PR requires human approval — This PR changes production ACP prompt and cancellation lifecycles across the transport, session runtime, and adapter, including indefinite backoff retries and new Stop/termination coordination. It also adds a verifier-level directive disabling multiple static-analysis diagnostics, so the change warrants human review. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
|
Update: main's #23798 pins patched package versions. This PR is now rebased to Release Smoke fails before exercising ACP behavior: lockfile regeneration reports I reproduced the same failure using the exact All eight server shards, lint, build/typecheck, core tests and Rust passed on
|
(cherry picked from commit bd4431f)
(cherry picked from commit 1aeb2e8)
(cherry picked from commit eb303fe)
(cherry picked from commit 27a924b)
(cherry picked from commit ccb6942)
Settle denied typed requests with correlated failures so RPC registrations are released. Preserve recorded runtime termination errors during busy backoff unless Stop was requested.
a2031ac to
0fd489c
Compare
|
@macroscope-app review Please review the current head,
|
|
Sorry, I'm unable to act on this request because you do not have permissions within this repository. |
ACP agents such as OMP can reject a follow-up while still processing, causing T3 to fail the turn. Retry only that exact busy rejection with exponential backoff capped at 30 seconds, until delivery or Stop.
Stop blocks later prompt admission and releases locally cancelled RPC requests. Unexpected agent exit during backoff remains a failure. Accepted prompts are never resent.
Closes #22660. Supersedes #22698 while preserving Julius Marminge's five commits and attribution. Wout requested this provider-parity work; maintainer review remains required.
Validation:
check:changedpassed all stages, 110 tests and 32 affected package typechecks. Two independent reviews passed, including ACP v1/v2 request cleanup. A real isolated server with a synthetic ACP subprocess passed recovery, queued/in-flight Stop, old-output and unrelated-error cases. No actual OMP or Windows run; the long-delay case was not repeated at the final revision.ACP v1 has no acceptance event, so the queued notice can remain until the prompt finishes. Prior agent output still appears in the current turn. An agent that stays busy remains queued until Stop.
Prepared for Wout by
gpt-6.1-solin Codex through T3 Code.