{"data":{"ok":true,"apiVersion":"1","checkedAt":"2026-09-11T11:14:44.963Z","totals":{"checks":12,"passed":12,"failed":0,"failures":0},"surfaces":{"catalog":4,"openapi":3,"mcp":1,"a2a":1,"sdk":1,"docs":1,"discovery":1},"checks":[{"id":"catalog-consistency","surface":"catalog","description":"Endpoint ids and paths are unique, path templates match declared path parameters, and every parameter is documented.","pass":true,"failures":[]},{"id":"openapi-coverage","surface":"openapi","description":"Every public catalog endpoint and method appears in the OpenAPI document.","pass":true,"failures":[]},{"id":"openapi-no-orphans","surface":"openapi","description":"The OpenAPI document contains no path that the capability catalog does not declare.","pass":true,"failures":[]},{"id":"openapi-parameters","surface":"openapi","description":"Every OpenAPI parameter is declared in the catalog, and every catalog parameter appears in OpenAPI.","pass":true,"failures":[]},{"id":"mcp-tools","surface":"mcp","description":"MCP tool names are unique snake_case, every tool parameter maps to a real path or query parameter, and every path segment is supplied.","pass":true,"failures":[]},{"id":"trials-first-class","surface":"catalog","description":"Every world-trials endpoint is reachable over MCP and the SDK, carries agent guidance, and the A2A card advertises a trial skill.","pass":true,"failures":[]},{"id":"a2a-skills","surface":"a2a","description":"A2A skill ids are unique and every skill is described, tagged and exemplified.","pass":true,"failures":[]},{"id":"sdk-methods","surface":"sdk","description":"Every generated SDK method name is a unique, valid TypeScript identifier that does not collide with a client internal.","pass":true,"failures":[]},{"id":"docs-coverage","surface":"docs","description":"The /embed and /connect documentation surface renders every public endpoint, every MCP tool and every workflow.","pass":true,"failures":[]},{"id":"workflows","surface":"catalog","description":"Every workflow step names a real endpoint and explains why it is called.","pass":true,"failures":[]},{"id":"agent-guidance","surface":"catalog","description":"Every data endpoint tells an agent when to use it, and every suggested next step is a real endpoint.","pass":true,"failures":[]},{"id":"discovery-links","surface":"discovery","description":"Every machine-readable artifact is reachable from every other one.","pass":true,"failures":[]}],"enforcement":"These checks also run at build time. A disagreement throws during the build, so a drifted contract cannot be deployed.","surfacesChecked":["capability catalog (lib/api-catalog.ts) — the single source of truth","OpenAPI 3.1 document (/api/v1/openapi.json)","MCP tool server (/api/v1/mcp)","A2A agent card (/.well-known/agent.json)","AI plugin manifest (/.well-known/ai-plugin.json)","TypeScript SDK (/api/v1/sdk)","documentation pages (/embed, /connect)"]},"_meta":{"api":"The Last Economy Wire — Intelligence API","version":"1","schemaVersion":"1","correlationId":"req_uH_H8BS3ffH8","generatedAt":"2026-09-11T11:14:44.963Z","degraded":false,"links":{"discovery":"https://negativeresistance.com/api/v1","openapi":"https://negativeresistance.com/api/v1/openapi.json","mcp":"https://negativeresistance.com/api/v1/mcp","agentCard":"https://negativeresistance.com/.well-known/agent.json","aiPlugin":"https://negativeresistance.com/.well-known/ai-plugin.json","sdk":"https://negativeresistance.com/api/v1/sdk","status":"https://negativeresistance.com/api/v1/status","provenance":"https://negativeresistance.com/api/v1/sources","contract":"https://negativeresistance.com/api/v1/contract","documentation":"https://negativeresistance.com/embed","connect":"https://negativeresistance.com/connect"}}}