Module · Machine access
A2A-Agent
The agent-to-agent door: named capabilities on request, not conversation.
prepared Machine access licence MIT no public endpoint
L2.4 · agents/a2a
Start now
Requirements:
- Rust (stable via rustup) and Git; every command runs from the root of the corpus checkout.
cargo run --locked --manifest-path public/web/site-gen/Cargo.toml -- --entries registry/entries --schema registry/standard/schema/manifest.schema.json --config public/web/site-config.json --assets public/web/ui/design --standard registry/standard --out public/web/build/site
cargo run --locked --manifest-path agents/a2a/Cargo.toml -- --root . --card public/web/build/site/.well-known/agent-card.json --http 8720Expected: a2a http shell on 127.0.0.1:8720
The first command builds the website because the agent card is made there; the second serves message/send against that card.
Download
- Source
- not yet The source becomes public with the publication lane; the repository is not yet switched public. · agents/a2a
- Release
- not yet No tagged release yet; the first follows the publication lane.
- Container image
- not yet No container image published yet.
- Crate
- not applicable — the module is not a library crate
Dependencies
- Needs
- API-Spine prepared
- Needed by
- none
- Documentation
- no page of its own
State and evidence
prepared — built and tested, not publicly served.
Every piece of evidence carries its source. Values marked «recounted» are counted from the source at every build; if the figure differs, the build fails.
| Measure | Value | Source |
|---|---|---|
| Vendored schema | A2A v1.0.1 (tag v1.0.1, commit 3303592), sha256 ba4b702b5edbdcbfe972c272484eb38e1fcd72af3c0b7eaa114b50e97455d8dd — byte-identical in both repositories | the agent card and its serving path |
| Validated on the serving path | validate_card() runs in Platform::new AND again on every message/send; the binary refuses to start without a valid card | the agent card and its serving path |
| The served card | supportedInterfaces: [] and no signatures member; capabilities: streaming false, pushNotifications false, extendedAgentCard false | the agent card and its serving path |
| Tests | 7 in agents/a2a/tests/transport.rs, all green even with OH_WIRE_REQUIRED=1; 5 of them need the sibling web repo's artifacts (4 the card, 1 the schema copy) | the agent card and its serving path |
| What it answers | 5 of the register's 14 rows: meta.capabilities, meta.tools, directory.get, standard.artifacts, publish.info — the list is written out, not derived from the register | the agent card and its serving path |
| Against the real SDK | 3 A2A cases in the wire suite against the reference SDK a2a-sdk==1.1.2, which runs only on the far side | the agent card and its serving path |
What is missing
- until in operation: No endpoint is served: the HTTP shell is hand-rolled, dependency-free and serves one connection at a time — it exists so a real A2A client can reach the transport across a socket in the wire suite, not as operation. The card stays unsigned until the key ceremony, and tasks/get, streaming, push and multi-turn context are not built; parameterised capabilities (manifest.get among them) are refused, because v0 has defined no task shape for them.
Documentation
- A2A-Agent in the documentation: what it does, run, test, call
- Run it yourself · Test · Call