The Capability Surface Matrix states which public surfaces should exist for each client level. The matrix helps site owners check whether lower-capability agents can safely discover a no-op path before richer integrations begin.
| Client | Static HTML | llms.txt | Sitemap | JSON | GET-Action | POST | OpenAPI | MCP | A2A | Memory | Evidence |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L0 URL-only | Yes | Yes | Yes | Required for client configuration | No | No | No | No | No | No | Required for client configuration |
| L1 URL synthesizer | Yes | Yes | Yes | Yes | Required for client configuration | No | No | No | No | No | Required for client configuration |
| L2 schema-capable | Yes | Yes | Yes | Yes | Required for client configuration | Yes | Yes | Required for client configuration | Required for client configuration | No | Yes |
| L3 tool agent | Yes | Yes | Yes | Yes | Human review | Yes | Yes | Required for client configuration | Required for client configuration | Human review | Yes |
| L4 workflow agent | Yes | Yes | Yes | Yes | Human review | Yes | Yes | Required for client configuration | Required for client configuration | Human review | Yes |
| L5 multi-agent | Yes | Yes | Yes | Yes | Human review | Yes | Yes | Required for client configuration | Yes | Human review | Yes |
| L6 audited system | Yes | Yes | Yes | Yes | Human review | Yes | Yes | Required for client configuration | Yes | Human review | Yes |
Machine-readable matrix
The public JSON companion is /spec/capability-surface-matrix.json. It uses only Yes, No, Required for client configuration, and Human review cell values so validators can compare sites without interpreting prose.