Local comparison method
ContractKit parses the two metadata objects and checks both against its declared profile. It passes each input unchanged to a Draft 7 validator for each revision. The transition labels are defined mechanically: accepted then rejected is tightened; rejected then accepted is widened; equal validity is unchanged.
The expected outcome belongs to the candidate contract. “Matches” compares that expectation with candidate validity. The metadata diff separately lists added, removed or changed paths; it is not a proof that every listed path changes semantics. Changing a description can matter to an agent while leaving every schema outcome identical.
Original fixture packs
The support pack demonstrates a new required reply address and an expanded category. The reservation pack tightens a seat limit and adds a required boolean. The search pack raises a minimum query length while expanding a page-size limit. These are synthetic product scenarios authored for this workbench; they do not describe a company’s actual support, reservation or search API.
The default support pack yields seven cases, six expectation matches, one tightened case and one widened case. The reservation and search packs each yield six cases with four matches. Their intentional mismatches make regressions visible; they are not defects in the fixture loader. Download support, reservation or search to reproduce the inputs.
Native observation
The dated probe record captures default API absence and an explicitly enabled Chrome for Testing instance. It records actual callback entry for valid and invalid object inputs, rejection of a stringified input, removal after registration abort and a delayed call finishing after removal. The raw observation includes the exact browser build and launch feature. See the full interpretation.
This does not establish feature availability on every user device. The workbench checks methods at runtime and leaves native testing unavailable if the required interface is absent. A native result concerns the fixed local receipt handler only.
Implementation review
Executable snippets are never evaluated. Schema interpretation uses @cfworker/json-schema 4.1.1. Inputs are displayed as text. The app makes no validation network request and does not use localStorage, sessionStorage or application cookies for fixtures. See the bounded schema profile and the distributed dependency license.
What this is not
ContractKit is not an official WebMCP test suite, a browser certification, a full JSON Schema implementation or a language-model evaluation service. It does not predict tool selection, measure task completion, verify business permissions or validate a deployed site remotely.
The API remains under development. Primary references are the WebMCP specification draft, the Chrome imperative API documentation and the declarative API documentation. A fixture-based diff complements application tests; it does not replace them.
Bring the question back to a concrete case.
Open ContractKit ↗