Skip to content

feat(a2a): support detached tasks with bounded wait and durable replies - #103453

Open
410979729 wants to merge 1 commit into
NousResearch:mainfrom
410979729:feat/core32-a2a-detached-tasks
Open

410979729 wants to merge 1 commit into
NousResearch:mainfrom
410979729:feat/core32-a2a-detached-tasks

Conversation

@410979729

Copy link
Copy Markdown

Summary

Support a2a_call(wait=false) using the A2A configuration.returnImmediately path, plus a2a_get_task and a2a_wait. Blocking calls retain their default behavior. Detached local and profile-backed work remains owned until completion rather than failing solely because a watchdog age threshold passes.

Keep terminal rejection/failure explanations queryable; clean up failed finalizer/thread starts; share a monotonic local wait budget across card discovery and task lookup; persist retrieved replies once by context/task/role rather than a short history tail. Include lazy tool metadata and documentation.

Related work

Related to #91688, #63946 and #55805. The existing open implementations were compared rather than treated as merged replacements. This candidate also covers bounded local waiting, profile-backed detached execution, terminal-error persistence and durable reply deduplication.

Verification

  • 19 detached-task tests passed, including a real loopback HTTP submit → working → completed round trip and concurrency/error cases.
  • 115 existing A2A tests, 1 schema-registration test and 4 focused lazy-discovery tests passed in separate native-Windows subprocesses.
  • One unchanged POSIX fake-hermes profile fixture cannot execute on native Windows and fails identically on the base; excluded by its exact node name (test_forward_to_profile_first_contact_creates_then_resumes_fake_hermes).
  • Focused lint and diff checks passed. Independent final static review found no remaining blocker within this scope.
  • No claim of a whole-repository green suite or completed upstream CI.

Behavior remains in the existing adapter lifecycle, protocol persistence and outbound client-tool modules, with matching tests and plugin metadata; no core tool or separate infrastructure is introduced.

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins labels Sep 5, 2026
@alt-glitch

Copy link
Copy Markdown

This was generated by AI during triage.

Related: #91688 and #94880 are earlier open PRs for the same non-blocking A2A task goal (#91687), and #79721 covers late-finishing task results. This PR is a broader superset (detached wait=false, a2a_get_task/a2a_wait, durable reply dedup); flagging the cluster so a maintainer can choose or consolidate.

This branch has not been deployed

No deployments
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/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants