v0.4.0 — Full-surface conformance + contract diff gate
Every MCP surface, plus the static half of the acceptance gate.
- Capability-aware resources & prompts lanes (both protocol eras): RES-01..04, PROMPT-01..03, CAP-02/03. Surfaces a server does not advertise are skipped, never failed; surfaces it advertises must work. CACHE-01 now validates
ttlMs/cacheScopeon every cacheable result observed. - Contract engine:
mcp-proof inspectfreezes the served surface into a fingerprinted manifest (identical surface ⇒ identicalcontract_sha256);mcp-proof diffclassifies every change as BREAKING / ADDITIVE / METADATA and exits non-zero on breaking ones — optional→required flips, type/enum/constraint tightening, removed output fields and weakenedreadOnlyHint/destructiveHintannotations all count. - Annotations-first call planning: MCP tool annotations outrank the name heuristic in both directions;
mcp-proof planshows the AUTO-CALL / SKIPPED decision and its basis per tool before anything touches production. - Recorder, replayer and plan now paginate
tools/listfully.
With all three surfaces and both eras covered, the README's "any MCP server" claim is back — earned this time.
64 tests · CHANGELOG