Skip to content

fix(a2a): honor configured reply timeout in watchdog - #100312

Closed
rtx9jckz2g-prog wants to merge 1 commit into
NousResearch:mainfrom
rtx9jckz2g-prog:fix/a2a-orphan-timeout
Closed

rtx9jckz2g-prog wants to merge 1 commit into
NousResearch:mainfrom
rtx9jckz2g-prog:fix/a2a-orphan-timeout

Conversation

@rtx9jckz2g-prog

@rtx9jckz2g-prog rtx9jckz2g-prog commented Sep 1, 2026 •

Copy link
Copy Markdown

Summary

  • derive the A2A orphan watchdog deadline from A2A_REPLY_TIMEOUT
  • keep the existing five-minute minimum while allowing configured long-running replies
  • add one watchdog interval of grace so the watchdog cannot race the request waiter at the same deadline
  • add regression coverage for long reply timeouts and the existing minimum

Problem

A2A_REPLY_TIMEOUT can be configured above 300 seconds, but the orphan watchdog always failed pending tasks after a fixed 300 seconds. A task that legitimately needed longer than five minutes could therefore be marked failed before the configured reply deadline and later still produce a response.

Related work

Verification

  • uv run --with pytest pytest -q tests/plugins/test_a2a_plugin.py tests/plugins/test_a2a_phase23.py tests/plugins/test_a2a_schema_registration.py tests/tools/test_a2a_reason_roundtrip.py
  • uv run python -m py_compile plugins/platforms/a2a/adapter.py tests/plugins/test_a2a_plugin.py
  • ruff check plugins/platforms/a2a/adapter.py tests/plugins/test_a2a_plugin.py

@alt-glitch alt-glitch added type/bug Something isn't working comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have labels Sep 1, 2026
@alt-glitch

Copy link
Copy Markdown

This was generated by AI during triage.

Related: #90158 already repairs the same watchdog-versus-configured-timeout failure using each served route's timeout. #91686 is the config-native companion approach; maintainers should choose one timeout authority.

@teknium1

Copy link
Copy Markdown
Collaborator

The max(floor, A2A_REPLY_TIMEOUT) half of this is landing via #110219 (credited in the body), together with live-waiter protection so the store cannot diverge from the wire. Will close with credit once that merges.

@teknium1

Copy link
Copy Markdown
Collaborator

Thanks — this landed on main via #110219 (138e426f62f3) with your commits/credit preserved. #107840: the orphan-watchdog half is covered; its core agent/ changes were not taken.
Closing in favour of the merged salvage.

@teknium1 teknium1 closed this Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants