Repository navigation
docs(multi-bot): A2A worker URL base convention + transition trigger naming - #54
Conversation
…on trigger naming Both conventions were discovered while validating #48 end-to-end against nullclaw v0.3.0 and ZeroClaw: the A2A dispatcher appends /a2a to the configured worker URL (a full-path URL yields POST /a2a/a2a and a bare HTTP 404), and on_success/on_failure transition_to is applied as the pipeline FSM trigger name, so the trigger must exist on the task's current stage.
DonPrus
left a comment
There was a problem hiding this comment.
The A2A base-URL warning is useful and matches worker_protocol.buildRequestUrl, its trailing-slash tests, and the existing A2A worker in config.example.json. I checked the request builder and response parser as well: message/send, kind and messageId match the implementation. No other active A2A configuration example contains the erroneous /a2a suffix, and the docs merge cleanly with current main.
Two non-blocking precision improvements would be great:
- Qualify the failure-transition paragraph:
on_success.transition_tois passed as the FSM trigger, but currentTracker.driveFailednever consumeson_failure.transition_to; it callsfailRunafter retry handling. #52 was closed without merging. The same wording also appears in #55, so please keep the two documents consistent and label failure transitions as an existing implementation gap. - The response parser currently reads
result.parts[0].textorresult.artifacts[0].parts[0].text, not every text part. Using those exact paths would avoid implying that multi-part replies are combined.
Approving the documentation improvement with these clarifications; no code regression or merge conflict found.
…s implementation gap (DonPrus review)
|
Both non-blocking improvements addressed in 0f17be0: 1. Failure-transition paragraph qualified. Split into two statements:
Kept consistent with #55, which has since merged with matching AGENTS.md wording ( 2. Response-parser paths made exact. Validation — merge result Approval retained. |
Documents two conventions discovered while validating #48 end-to-end against a live nullclaw v0.3.0 worker (details in #53):
/a2aitself; a full-path URL (http://host:3000/a2a) producesPOST /a2a/a2aand a bareHTTP 404with no hint. Captured via netcat.transition_tois applied as the FSM trigger name — a trigger that doesn't exist on the task's current stage is rejected and the task re-enters retry.Docs-only; no code changes.