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.