Analysis
Protocol support does not prove a correct commerce outcome
A protocol defines how a request and a response are shaped. A transaction is whether the buyer ends up with what they asked for. The first is a contract about form; the second is a fact about outcome — and conformance to the first establishes nothing about the second.
HTTP 200 with the wrong SKU
Consider a merchant cart endpoint that returns HTTP 200, a well-formed body, every required field present and correctly typed — describing a different variant than the one requested.
Every conformance check passes. The protocol is working perfectly. The shop is broken.
This is why CRAB keeps two dimensions apart that are easy to conflate:
- Transport result — was the interface reachable, and was the answer usable? A channel that could not be reached establishes nothing about the merchant. A response an adapter could not parse is a defect in our code, recorded as an inspector limitation and never attributed to the store.
- Commercial result — was the thing described the thing requested?
Where CRAB actually stands on UCP, ACP and MCP
CRAB does not currently implement UCP, ACP or MCP as commerce channels. They appear in our channel vocabulary as placeholders for capabilities, not as claims of them. No specification, schema, client or adapter for any of the three exists in the engine.
In our own screening of external merchants, none published a UCP, ACP or MCP surface. That is a small sample and we present it as one.
MCP in particular is worth stating precisely: it is a tool interface, not a commerce data model. A merchant MCP server may expose commerce tools, but arbitrary MCP connectivity is not commerce support and we will not describe it as such.
What CRAB does implement is a merchant's own machine-readable cart interfaces — the Shopify Ajax cart endpoint and the WooCommerce Store API cart — read strictly read-only, and compared against the browser journey within one seller.
Two sellers are not two channels
Cross-channel comparison is only meaningful between interfaces of the same commercial authority. Comparing one merchant's price with another's and calling the difference a divergence would manufacture a defect out of a market.
CRAB refuses such a comparison outright rather than producing findings nobody should act on.
What conformance is good for
This is not an argument against protocols. A machine-readable commerce interface is the difference between an agent guessing at a page and an agent reading a contract, and conformance testing is how you know the contract is honoured.
It is an argument about what conformance proves. It proves the interface behaves as specified. Whether the specified behaviour delivered the right product is a separate question, needing separate evidence.
Next steps
- Check your commerce journey — request an inspection of a store you are authorised to test.
- CRAB Q&A — fifty questions on commerce execution assurance.
- The Commerce Execution Method — the method itself, as a prepublication draft.
- Commerce Execution in the Age of AI Agents — the whitepaper.
CRAB is built by VSN.
