Mass-sed across 17 files / 38 active refs in molecule-core .md docs (README + CONTRIBUTING + docs/architecture/ + docs/blog/ + docs/guides/ + docs/integrations/ + docs/quickstart.md + scripts/README.md). Driver: /tmp/sweep_core.py — same pattern set as the internal-marketing bulk-sed (PR #50). 4 url-substitution patterns + SKIP_PATTERN preserves /pull/<n> /issues/<n> /commit/<sha> /releases/... historical refs. Files NOT touched in this PR: - docs/workspace-runtime-package.md — owned by molecule-core#15 (workspace-runtime source-edit per #41). Reverted my bulk-sed of that file to avoid merge conflict. - 2 Go-import-path refs in docs/memory-plugins/testing-your-plugin.md (github.com/Molecule-AI/molecule-monorepo/platform/internal/...) — Q5 cross-repo Go-module migration territory. - 1 GitHub Gist link in docs/guides/external-workspace-quickstart.md (gist.github.com/molecule-ai/...) — no Gitea equivalent; consistent with the same handling in docs#1. Manual fixes (2): - docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md:306 — GitHub Discussions (no Gitea equivalent) → issue tracker link - docs/guides/external-workspace-quickstart.md:218 — tracking-issue ?q= query-string url (regex didn't catch) → reformulated text + Gitea search-by-query approach Pattern matches my docs#1 (public docs site) PR + internal#50 (internal/marketing bulk-sed). Standard substitutions: - https://github.com/Molecule-AI/<repo> → https://git.moleculesai.app/molecule-ai/<repo> - /blob/<branch>/ + /tree/<branch>/ → /src/branch/<branch>/ Refs: molecule-ai/internal#37, molecule-ai/internal#38
11 KiB
| title | description | date | canonical |
|---|---|---|---|
| What A2A v1.0 Means for Your Agent Stack: Why Protocol-Native Beats Protocol-Added | A2A v1.0 shipped March 2026 as the Linux Foundation's standard for multi-agent communication. Here's why being built on it from day one matters more than adding it as a layer. | 2026-04-22 | https://docs.molecule.ai/blog/a2a-v1-agent-platform |
Meta description (160 chars): Before you buy an agent platform, ask how A2A delegation is attributed. The answer reveals everything about governance.
On March 12, 2026, the Linux Foundation ratified A2A v1.0 — a vendor-neutral protocol for multi-agent communication — with 23,300 GitHub stars, five official SDKs, and 383 community implementations already in the wild. This is the moment the agent internet gets a standard. And it's the moment every AI platform has to answer the same question: Is A2A something you were built for, or something you added on top?
Most platforms will add A2A compatibility the same way enterprises added HTTPS in the late 1990s — a layer draped over existing architecture, patched in at the edges, held together by conventions. One platform was built for it from the ground up. This is what that difference actually means in production.
What A2A v1.0 Actually Is (Plain English)
A2A is to agents what HTTP was to the web. Before HTTP, every web server had its own way of talking to every other server — proprietary protocols, hand-rolled framing, proprietary ports. The web didn't scale until everyone agreed on a common language. A2A v1.0 does the same for AI agents.
Before A2A, an agent built on Platform A couldn't talk to an agent built on Platform B without custom integration code for each pair. With A2A v1.0, any A2A-compatible agent can communicate with any other A2A-compatible agent without per-pair integration work. The protocol handles discovery, message format, session management, and capability negotiation. You write to the protocol, not to each platform.
The implications are significant: agents become portable between platforms, fleet visibility becomes platform-independent, and governance rules can be expressed at the protocol level rather than patched into each integration.
"A2A-Native" vs "A2A-Added": Why the Distinction Matters
Here's the core difference that matters for enterprise buyers.
Most platforms: A2A as an integration layer on top of existing architecture. The agent registry, routing, and auth live above the protocol. A2A messages are translated, proxied, and sometimes transformed as they pass through. Governance is a policy on top of the integration, not a property of the protocol.
Molecule AI: A2A as the operating system, everything else built on top. The agent hierarchy is the routing table. The org structure is the communication topology. Per-workspace bearer tokens and X-Workspace-ID enforcement are protocol-level requirements on every authenticated call — not conventions that a misconfigured integration can bypass.
When governance is protocol-native, it doesn't disappear the moment an agent runs outside your Docker network. It doesn't depend on whether your integration layer correctly applied the right headers. It's enforced at the transport layer, every call, always.
What Makes Molecule AI's A2A Structural (Not bolted on)
Molecule AI's A2A implementation isn't a feature — it's the foundation. Here's what that means in concrete terms:
1. The A2A proxy is live in production. Every workspace-to-workspace message is routed through the A2A proxy, which enforces auth tokens and workspace scoping on every call. This isn't a roadmap item. It shipped in Phase 30 and has been operational since GA.
2. Per-workspace 256-bit bearer tokens enforced at every authenticated route.
The platform stores only the SHA-256 hash of each token. Every request to any authenticated endpoint requires both the token and a matching X-Workspace-ID header — enforced as protocol, not as policy. Tokens are revocable with immediate effect on the next request. This model works for agents running in the same data center and agents running on a different cloud provider.
3. Any A2A-compatible agent joins without code changes. External agents — agents running on-premises, on a different cloud, or behind a NAT — register via a standard A2A call and participate in the fleet canvas with full feature parity. They receive a remote badge but have access to all canvas features: real-time status, task assignment, inter-agent chat, and audit trail. The registration flow requires no changes to the agent's existing code.
4. Reference implementations under 100 lines. Both Python and Node.js external agent templates are under 100 lines. Registration, heartbeat loop, and incoming message handling fit in a single file. This isn't a proof of concept — it's what production agents look like.
Why This Matters Now: The Governance Gap in Competing Implementations
A2A v1.0 ratification has accelerated adoption across the agent platform landscape. LangGraph shipped A2A support in Q1 2026 (PRs #6645, #7113 — still in review after 3+ months). But a protocol implementation and a governance-ready implementation are not the same thing.
LangGraph's current A2A PRs implement the protocol layer: message framing, capability negotiation, task routing. What they do not yet implement is the governance layer — the mechanisms that make A2A usable in regulated environments, multi-tenant deployments, and enterprise fleets.
What LangGraph's A2A PRs cover:
- A2A protocol message format and transport
- Agent discovery via A2A
agentCard - Task state and push notifications
What LangGraph's A2A PRs do not cover:
- Workspace-scoped authentication tokens (per-agent, revocable)
- Per-workspace resource isolation and access control
- Immutable audit attribution (who sent what, when, from where)
- Org-level revocation (revoke an agent's access without disrupting the fleet)
- Cross-network federation (agents behind NAT, different clouds)
Molecule AI shipped all six of these in Phase 30. They are not roadmap items — they are production features that determine whether A2A works safely in your organization today.
The architectural difference: governance built into the protocol layer means it cannot be bypassed by a misconfigured integration. A governance layer on top of a protocol layer can be.
Org-Scoped API Keys: Delegation Attribution for Regulated Industries
Enterprise buyers have a specific question before adopting any multi-agent platform: if an agent delegates a task to another agent, and something goes wrong, can you prove what happened?
Most platforms answer that question with: "we have logs." Molecule AI's answer is: "every delegation is attributed to a specific org-scoped API key with an immutable audit trail."
When a CI pipeline, Zapier integration, or another automated system calls the delegation API using an org-scoped API key, the key's 8-character prefix (org:keyId) appears in every audit log entry for that delegation. The created_by field on each key record tracks whether the key was minted from the browser UI, by another org key, or directly via ADMIN_TOKEN — giving you a complete chain of custody for every delegation, back to the human or system that created the key.
Key properties for enterprise compliance:
- No shared credentials. Each integration has its own named, revocable key. Revoking one integration's key doesn't affect any other.
- Attributable delegations. Every A2A delegation made with an org key is traceable to that specific key in the audit log.
- Immediate revocation. Revoke a key in Settings → Org API Keys. The key stops working on the next request — no propagation delay, no cached credentials.
- No blast radius on key rotation. Rotate one key without touching any other integration in your stack.
For teams that need to demonstrate SOX, SOC 2, or ISO 27001 controls, this is the difference between a checkbox audit and a real audit trail.
See It in Code
The external agent registration flow, simplified to the minimum viable call:
import requests, os, time, threading
PLATFORM = os.environ["PLATFORM_URL"]
WORKSPACE_ID = os.environ["WORKSPACE_ID"]
AUTH_TOKEN = os.environ["AUTH_TOKEN"]
# Register: one POST, get the token, start the heartbeat loop
resp = requests.post(f"{PLATFORM}/registry/register", json={
"id": WORKSPACE_ID,
"url": os.environ["AGENT_URL"],
"agent_card": {"name": "My Agent", "skills": ["research"]}
}, headers={"Authorization": f"Bearer {AUTH_TOKEN}"})
# Heartbeat every 30 seconds keeps the agent online on the canvas
def heartbeat():
while True:
requests.post(f"{PLATFORM}/registry/heartbeat",
json={"workspace_id": WORKSPACE_ID, "error_rate": 0.0,
"active_tasks": 0, "uptime_seconds": 0},
headers={"Authorization": f"Bearer {AUTH_TOKEN}"})
time.sleep(30)
threading.Thread(target=heartbeat, daemon=True).start()
That's the complete registration flow for an external agent. No Docker. No VPN. No separate dashboard. Agents stay where they are and join the fleet.
What This Unlocks for Enterprise Teams
Before A2A as a native capability, hybrid cloud agent deployments required per-cloud integration work, custom routing layers, and shadow IT for any team that needed an agent running outside the platform's infrastructure. Governance was a manual process. Audit logs were partial.
With protocol-native A2A, you get:
- One canvas, any infrastructure. Agents running on AWS, GCP, on-premises, and in the platform's Docker network appear on the same fleet canvas, with the same monitoring, task assignment, and inter-agent communication.
- Governance that travels. Per-workspace auth tokens and
X-Workspace-IDenforcement apply regardless of where the agent runs. A compliance team reviewing access patterns sees the same data for a cloud agent and an on-premises agent. - Audit trail that survives. Immutable
structure_eventsrecords provisioning, hierarchy changes, and health state transitions for every agent, including external agents, in an append-only log. - Org-scoped keys with delegation attribution. Each integration has a named, revocable API key. Every A2A delegation made with that key carries the
org:keyIdprefix in the audit log — giving you a complete chain of custody back to the system or human that initiated it. - CloudTrail-compatible architecture. The same AWS IAM-based authentication used by EC2 Instance Connect Endpoint extends to the delegation API. For teams already running Molecule AI on AWS, A2A audit entries integrate with your existing CloudTrail logging without additional instrumentation.
Ready to Register an External Agent?
Molecule AI's external agent registration is production-ready. Documentation is live at External Agent Registration Guide. The npm package for the MCP server is available at @molecule-ai/mcp-server.
Read the full A2A v1.0 protocol spec on GitHub.