Skip to content

Latest commit

 

History

History
53 lines (36 loc) · 1.79 KB

File metadata and controls

53 lines (36 loc) · 1.79 KB

Conformance guide

Local checks

npm ci
npm run check

npm run check runs ESLint, strict TypeScript checking, unit tests, and a production build.

Validate the checked-in JSON fixtures:

npm run conformance -- fixtures

Read-only endpoint probe

OPENAGENT_TOKEN='replace-me' npm run conformance -- probe \
  --a2a https://agents.example.com \
  --mcp https://api.example.com/mcp

--a2a accepts an origin or base URL and always fetches /.well-known/agent-card.json. --mcp accepts the exact remote Streamable HTTP endpoint.

The probe:

  • sends GET only to the A2A discovery path;
  • sends MCP server/discover using the 2026-07-28 request envelope and headers;
  • applies the profile schemas to both responses;
  • never calls SendMessage, CancelTask, or an MCP tool.

Use --token-env NAME to read a bearer token from a different environment variable. Do not pass credentials on the command line.

What the schemas mean

The schemas in schemas/ validate the OpenAgent baseline fields used by the fixtures. They are intentionally smaller than the complete upstream schemas and allow additional protocol fields. Passing them means “compatible with this profile,” not “complete implementation of every upstream requirement.”

Protocol SDKs and official upstream conformance suites should be used in addition to these checks.

End-to-end release gate

Before claiming end-to-end interoperability, run authenticated tests in an isolated tenant and prove:

  • input reaches the selected runtime;
  • status is durable and monotonic;
  • final artifacts are returned;
  • cancellation is propagated;
  • unauthorized and cross-tenant access is denied;
  • MCP tool lists and calls obey granted scope;
  • no private implementation metadata appears in discovery, errors, or artifacts.