# ACP conformance and REST/MCP parity

## Supported stable surface

Pinned version: `2026-04-17` at upstream commit
`7fdd78df677a94dce04c770644b0fbbb1401272b`.

The checked implementation covers discovery; checkout create/get/update/
complete/cancel; carts in the isolated conformance engine; order snapshots and
lifecycle updates; mandatory headers; idempotency replay/conflict/in-flight
behavior; flat protocol errors; and agent-hosted product feed validation.

This is an implementation claim for that subset. It is not an ACP certification
or an assertion that optional delegate payment/authentication are implemented.

## Fixture package

`fixtures/manifest.json` lists every exported vector with its source binding and
SHA-256. It pins the GovCodex implementation merge/source commits and the
exporter's identity and format revision. Verification rejects missing, stale,
or orphan generated files. The package contains the complete recorded parity
suite:

- checkout create, fulfillment update, complete and cancel;
- order lifecycle through delivery;
- buyer input, buyer review, out-of-stock and price-change messages;
- idempotency replay and conflict;
- version mismatch;
- matching MCP JSON-RPC exchanges for the same operations.

All values are synthetic. URLs use reserved `.test` hosts, the payment token is
the literal `sandbox_test`, timestamps use an injected clock and identifiers are
monotonic fixture IDs.

## What parity means

The REST fixture records the protocol request and response. Its MCP peer records
the JSON-RPC exchange. Tests normalize the transport envelope and require the
same parsed checkout/order result and failure semantics. Both paths call the
same deterministic seller engine, preventing two subtly different product
implementations from being described as “parity.”

## Verify

```bash
npm run verify:acp-public-artifacts
npx vitest run \
  src/lib/commerce/acp/__tests__/conformance.test.ts \
  src/lib/commerce/acp/__tests__/sandbox.test.ts \
  src/lib/commerce/acp/__tests__/sandboxMcp.test.ts \
  src/lib/commerce/acp/__tests__/mcpParity.test.ts
```
