Cockroach Labs published an argument about what the A2A protocol deliberately leaves out, and the timeline it opens with is the context for everything after: Google released A2A in April 2025, donated it to the Linux Foundation within three months, and eleven months later it reached a foundation-governed 1.0 with 150-plus organisations behind it. That settles who owns how two agents talk. The post’s sentence is the whole thesis: “the communication layer now has an owner. The state layer doesn’t.” A2A defines tasks as the unit of delegation, context as what travels with a task, and results as what comes back — and says nothing about what happens when two agents from two organisations read and write the same record. Agent internals are opaque by design. The shared state between them is undefined by omission.
The failure they describe is concrete enough to reproduce. Two agents both read claimed = false under READ COMMITTED, both write claimed_by = <their id>, and neither gets an error — the second write silently overwrites the first, and both agents proceed believing the job is theirs. Under SERIALIZABLE the second agent gets a WriteTooOldError, SQLSTATE 40001, and has to re-read before it can claim. The vendor pitch is that CockroachDB defaults to SERIALIZABLE and surfaces 40001 as a retryable class, with AS OF SYSTEM TIME for reads that can tolerate staleness and row-level policies for identity scoping. Discount the product placement and the diagnosis still stands, and it is sharper than the usual one: “agentic systems are exactly where that assumption dies: agents compose queries at runtime, retry on their own schedule, and multiply access paths faster than any review can audit them.” A twenty-year-old integration antipattern — shared tables without contracts — is what most multi-agent state currently is.
The catalog’s Cockroach Labs record is the Cloud control plane rather than the SQL surface the post is really about — which is itself the point. The Clusters API and Databases API provision the state layer; the JWTIssuers API is how a second organisation’s agent gets a scoped identity into it; and the LogExport API is where the audit trail the post argues for actually leaves the building. Cockroach Labs scores 50.5, developing, with contract quality at 66.4 and discoverability at 68.5, and Agent Readiness at 25.1, agent-aware. agent_skills is lit, which is notable for a database vendor, as is reversibility_documented — the dimension closest to the post’s own subject, because a transaction that can be rolled back is the reversibility primitive every other layer borrows. Two of the dark ones land on the argument directly. idempotency is unlit, on a post whose entire worked example is what happens when a retry is not idempotent. And event_surface_described is unlit, on a platform arguing that the state layer needs to be governed and auditable — the audit trail the post calls for is exactly what an event surface declares. A company making the case that the state layer needs an owner has declared less of its own contract than the argument deserves.