Skip to content

Stripe — Contract

The core question

Is layer A still in sync with layer B?

Philosophy

Stripe-shaped gates obsess over surface stability. The contract between layers — OpenAPI ↔ MCP catalog ↔ SDK types ↔ generated docs ↔ runtime dispatcher — must stay byte-equivalent across edits. Drift between any two layers is the failure shape.

How Matter uses it

Used for any 'X must stay in sync with Y' invariant. The framework's contract gates: OpenAPI → MCP catalog drift, OpenAPI structural validation, brand tokens TS↔CSS, dispatcher's resource-URL table vs. the route manifest.

Common modes

Primarily static, drift, contract. Property and fuzz gates can also be Stripe-layer when fuzzing matchers / parsers / encoders.

Production gates today

card-action-targets, openapi-mcp-drift, openapi-validation, brand-tokens-drift, prisma-schema-drift, route-manifest-property, dispatcher-fuzz, framework-self-check

Industry inspiration

Inspired by Stripe's API versioning and SDK-generation discipline — they ship dozens of language SDKs from a single source, and they need every generated artifact to round-trip.

See also

On this page