Skip to content

Latest commit

 

History

History
135 lines (119 loc) · 29 KB

conformance.md

File metadata and controls

135 lines (119 loc) · 29 KB

Conformance evidence and release gates

Snapshot: 2026-10-25. This matrix records implemented scope, assertion locators and qualified evidence, not a blanket MCP compliance verdict. The integration gate passed final QA with 423 tests and 2,116 assertions; qualified build, e2e and package evidence is recorded separately in integration-status.md. Counts do not prove every normative clause or deployment. No stale missing-export or mandatory-OAuth blocker applies to the current package.

Revision and maturity matrix

Surface Revision/source Maturity Applicability
MCP core 2026-07-28 Released Stateless Streamable HTTP client/server
Legacy MCP client 2025-11-25, 2025-06-18, 2025-03-26, historical 2024-11-05 negotiation Compatibility Initialize/session path; no claim of removed HTTP+SSE transport support
Legacy MCP server 2025-11-25, 2025-06-18, 2025-03-26 Gated compatibility Opt-in implemented; session affinity required; final scoped independent legacy approval
Tasks 2026-07-28, b3d28aceaa6d49f5f92258e3d06b61ad6f111e84 Stable upstream Opt-in; tools/call only; durable host services required
Skills stable, c1aa87e4c381c82b99aa37471d0eae4ab50f9985 Stable upstream Core 2026-07-28+; verification is not activation
Apps 2026-01-26, 266a9e3b70dbd4a4f0546dda95da2a2c1a8be4b7 Stable upstream Explicit host bridge/support/presentation gate; renderer remains host-owned
Interchange Installed @intx packages 0.5.0 Executable integration baseline Actual ToolBundle, credential and Agent contracts, not fabricated upstream APIs
MCP SDK 1.30.1, development only Legacy interoperability oracle Does not certify 2026 behavior

All three extensions are disabled by default. Stable upstream does not mean every host supports them. No /v2 MCP methods, extension identifiers or protocol names are introduced. Actual experimental additions require an unstable_ local API, source pin and migration policy. The Apps UI protocol revision is independent of the core MCP revision.

Claude Code documentation describes a 2026 runtime and task public beta on CLI 2.1.304+ with runtime, provider and surface restrictions. This is not evidence for universal Claude Desktop/web/CLI support. Blank community-matrix cells are not positive support evidence.

Requirement matrix

C = standalone client; S = server; IC/IS = Interchange consumption/exposure. The listed suites provide scoped evidence. Core F1–F11, auth neutral isolation, Apps gating and large Skills bounds have reported independent approvals. Legacy has final scoped independent approval; final reconciled QA passed. Clauses without a dedicated exhaustive mapping remain unverified for full clause coverage, not “missing tests” or “missing implementation.”

ID Normative clause / requirement Role / applicability Current evidence locator Qualification
C01 Basic: JSON-RPC envelopes, required per-request _meta C/S, modern src/protocol/protocol.test.ts; src/client/contracts.test.ts; src/server/server.test.ts Scoped suite evidence; full clause coverage not certified
C02 Versioning: supported revision and no invented version C/S src/protocol-2026.test.ts; src/server/server.test.ts; src/server/legacy.test.ts Scoped suite evidence; full clause coverage not certified
C03 HTTP sending: POST per message, Accept JSON + SSE, one request/notification C/S src/client.test.ts; src/server/server.test.ts; src/server/review-regressions.test.ts Scoped suite evidence; full clause coverage not certified
C04 HTTP security: invalid Origin rejected with 403 S src/server/server.test.ts (Origin/auth/header/malformed requests) Scoped suite evidence; full clause coverage not certified
C05 HTTP metadata: method/name/version headers match body, encoding and custom primitive headers C/S src/protocol/headers-codec.test.ts; src/client/review-regressions.test.ts Scoped suite evidence; full clause coverage not certified
C06 HTTP receiving: JSON/SSE, notifications scoped to request, no independent server request C/S src/client/contracts.test.ts; src/client/review-regressions.test.ts; src/server/review-regressions.test.ts Scoped suite evidence; full clause coverage not certified
C07 HTTP backward compatibility: discovery fallback but not auth/rate-limit/server failures C, legacy src/protocol-2026.test.ts; src/client/review-regressions.test.ts F8; e2e/sdk-transport.test.ts Scoped suite evidence; full clause coverage not certified
C08 Discovery: truthful version/capability advertisement, no modern sessions C/S src/server/server.test.ts (real client and loopback); e2e/protocol-2026.test.ts Scoped suite evidence; full clause coverage not certified
C09 Tools: schema-valid input/output, content, errors, unique catalog names C/S/IC/IS src/protocol/protocol.test.ts; src/server/providers.test.ts; src/client.test.ts Scoped suite evidence; full clause coverage not certified
C10 Prompts, resources, completion: feature-specific shapes, cursors and capabilities C/S src/protocol-2026.test.ts; src/protocol/protocol.test.ts; src/server/providers.test.ts Scoped suite evidence; full clause coverage not certified
C11 Caching: cache fields; authenticated cache isolation C/S/IC/IS when caching e2e/protocol-2026.test.ts; src/interchange/client/catalog.test.ts (host cache policy remains deployment-specific) Scoped suite evidence; full clause coverage not certified
C12 MRTR supported requests: only tools/call, prompts/get, resources/read permit input_required C/S src/protocol/protocol.test.ts; src/client/review-regressions.test.ts F2/F3 Scoped suite evidence; full clause coverage not certified
C13 MRTR client workflow: opaque latest requestState, original params, fresh ID C/IC src/protocol-2026.test.ts; src/interchange/client/continuation.test.ts Scoped suite evidence; full clause coverage not certified
C14 Elicitation: explicit form/URL support, validated responses, no implicit consent C/S/IC/IS when opted in src/client/review-regressions.test.ts F9; src/extensions/host.test.ts; src/interchange/client/projection.test.ts Scoped suite evidence; full clause coverage not certified
C15 Progress: request-local progress only C/S src/client/review-regressions.test.ts F11; src/server/server.test.ts Scoped suite evidence; full clause coverage not certified
C16 Cancellation: modern HTTP stream closure signals cancellation, no cancelled notification C/S src/client/review-regressions.test.ts F5; src/server/server.test.ts; src/server/legacy.test.ts Scoped suite evidence; full clause coverage not certified
C17 Subscriptions: negotiated filters, only allowed change notifications, terminal complete result C/S when provided src/client/review-regressions.test.ts F7/F11; src/server/review-regressions.test.ts Scoped suite evidence; full clause coverage not certified
C18 Authorization: protected-resource auth, challenge and operation authority S/IS protected endpoints src/auth/security.test.ts; src/auth/flows.test.ts; src/server/server.test.ts; e2e/interchange.test.ts Guarded/neutral auth approved; stock dependency limits remain
C19 AS discovery: issuer exactness, resource binding, PKCE, registration policy C/hub OAuth src/oauth-discovery.test.ts; src/auth/security.test.ts; src/auth/review-regressions.test.ts Guarded/neutral auth approved; stock dependency limits remain
C20 Deprecated features All Explicit modern non-goals; legacy ping/cancellation are revision-scoped Scoped exclusions; see legacy-server.md
T01 Tasks Capability Negotiation / Supported Methods: opt-in each request, tools/call only, missing capability error C/S/IC/IS tasks src/server/extensions.test.ts; src/protocol/protocol.test.ts Scoped suite evidence; full clause coverage not certified
T02 Tasks Task Status: working/input_required/completed/failed/cancelled; completed tool error differs from JSON-RPC failed C/S tasks src/extensions/tasks/tasks.test.ts; src/client/review-regressions.test.ts F3 Scoped suite evidence; full clause coverage not certified
T03 Tasks get/update/cancel: taskId header and outstanding input keys C/S tasks src/extensions/tasks/tasks.test.ts; src/protocol/headers-codec.test.ts Scoped suite evidence; full clause coverage not certified
T04 Tasks durability + scope §§4,7: persist before handle; tenant/principal isolation, TTL, CAS and recoverable executor S/IS tasks src/extensions/tasks/tasks.test.ts; e2e/fixtures/packed-standalone.mjs Scoped suite evidence; full clause coverage not certified
T05 Scope §5: workflow correlation and truthful cooperative cancellation IS tasks/workflows src/interchange/server/accepted.test.ts; src/interchange/server/server.test.ts Scoped suite evidence; full clause coverage not certified
K01 Skills Capability Negotiation: resources capability, list/get; directoryRead only if declared C/S skills src/server/extensions.test.ts; src/interchange/client/skills.test.ts Scoped suite evidence; full clause coverage not certified
K02 Skills Skill Format / Resource Mapping: root SKILL.md, YAML name/description, name/path match, no scheme-only identity S/IC skills src/extensions/skills/skills.test.ts Scoped suite evidence; full clause coverage not certified
K03 Skills manifest integrity/security + scope §4: all file hashes, byte limits, origin and held-manifest binding C/S/IC skills src/extensions/skills/skills.test.ts; src/interchange/client/skills-large.test.ts; src/protocol/resource-bounds.test.ts Independent authenticated-loopback/bounds approval, including 16 MiB
K04 Scope §4 host activation: approval/provenance bound to context admission and all execution tools for acting window IC skills src/extensions/skills/verification-race.test.ts; src/extensions/skills/skills.test.ts Scoped suite evidence; full clause coverage not certified
A01 Apps Capability Negotiation / Tool-UI Linkage: opt-in, metadata preserved, app-only tools not model-visible C/S/IC/IS UI metadata src/interchange/client/apps.test.ts; src/extensions/host.test.ts Scoped independent approval (74 tests + 6 probes); host renderer not certified
A02 Apps UI Resource Format: ui:// and text/html;profile=mcp-app; host sandbox/CSP S metadata; browser host excluded src/extensions/host.test.ts; src/interchange/client/apps.test.ts (actual renderer is host-owned) Scoped independent approval (74 tests + 6 probes); host renderer not certified
I01 Scope §§2,5: real ToolBundle dispatch, explicit selected exposure, execution rechecks grants IC/IS e2e/interchange.test.ts; src/interchange/server/server.test.ts Scoped suite evidence; full clause coverage not certified
I02 Scope §§2,5: synchronous stored catalogs, credential consumer identity and origin pinning, destructive ask floor IC src/sidecar-bundle.test.ts; src/tool.test.ts; src/hub/discover.test.ts Scoped suite evidence; full clause coverage not certified
I03 Scope §5: preserve structured/binary/private detail and truthful lifecycle projection IC src/interchange/client/projection.test.ts; src/interchange/client/integration.test.ts Scoped suite evidence; full clause coverage not certified
P01 Scope §2: four entries, historical facades, declarations and runtime dependency isolation Package e2e/package.test.ts; installed tarballs on Bun 1.4.2 / Node 24.22.1 Installed boundary passes; latest counts in integration-status.md

Implemented compatibility and review scope

The server implements opt-in 2025-11-25/06-18/03-26 Streamable HTTP sessions; modern remains stateless. See legacy deployment and limits. Legacy now has final scoped approval: 50 tests / 319 assertions plus 5 independent tests / 63 assertions, as reported by the director. Both header and shutdown repairs are closed. This is separate from the approved core F1–F11 repairs and does not substitute for final reconciled QA. No removed HTTP+SSE or resumption support is claimed.

Apps advertisement requires explicit host bridge support, sandbox renderer, CSP enforcement, authenticated bridge and presentation. Metadata-only handling never advertises Apps. The host still supplies the actual renderer and enforces its security properties; the library's gate is not a deployed-browser audit. Skills verification supports bounded 16 MiB decoded resources; independent review exercised actual authenticated loopback and all bounds. Verification is not approval to admit context or execute code.

The verified Skills adapter declines dynamic manifests, as permitted by the pinned specification. It requires complete resource reads with exactly one matching text/blob item; resource-read MRTR is unsupported by that adapter. These are explicit supported-shape limits, not a reopening of the approved resource bounds or a claim that dynamic consumption is mandatory.

Remaining actual requirements

  • CL11479 — external OAuth-core defects: stock 0.3.0 token/profile/storage requires refresh tokens; stock token POST follows redirects and exposes raw response errors; authorize extras can overwrite state/PKCE. Guarded MCP sessions avoid those paths but do not fix stock OAuth-core. Stock hub DCR-only selection and present-but-unadvertised issuer handling are additional documented integration limits, not silently added issue acceptance criteria. Resource exchange/refresh propagation already exists upstream; the local config omission was fixed. See guarded auth and companion limits.
  • CL11480 — external credential-http defects: old harness/types peer ranges block the pinned full hub install; Request+init semantics and insecure configured destination schemes also need upstream correction. Neutral installs pass and must not be conflated with this optional host failure.
  • Host obligations: trusted identity/grants, cryptographic verification or introspection, credential storage, callback/registration setup, explicit selected bindings, durable recoverable executors, session affinity, skill approval and context lifecycle, and Apps renderer/bridge security. These are injected application responsibilities, not invented missing library features.
  • Unverified deployments/clauses: production DB transactions, live OAuth services and callback deployment, distributed lifecycle durability, browser sandbox enforcement, and exhaustive revision-by-clause coverage require their own evidence. No 100% conformance or production certification is asserted.

Gates and provenance

bun run check, bun run test:e2e, and the serial installed-package gate provide complementary evidence; exact commands, versions, counts and exit codes are in integration-status.md. Independent Apps (74 tests plus 6 probes), authenticated large-Skills, core and auth approvals are reported by the director; they are not relabeled as fresh executions by this docs lane.