What fidelity means
A mirror is faithful to a vendor endpoint when, for every request a well-formed SDK client can send, the mirror’s response is indistinguishable from the live vendor’s response in every way the SDK cares about:- Status code
- Response body shape and values (where deterministic)
- Error payload structure and error codes
- Headers the SDK reads (rate-limit, idempotency, versioning)
- Webhook event timing and ordering
- Webhook signature scheme, header name, and signed content
The fidelity test suite
Every mirror ships with an automated fidelity test suite. Each test is a captured real-API request/response fixture, recorded against the live vendor, replayed on every commit and every release.Drift detection
Fixtures catch bugs we introduce. They don’t catch bugs vendors introduce — when Stripe adds a field, changes an error code, or modifies a webhook signature, our existing fixtures still pass. We run a second job on a weekly cadence against live vendors:- Fetch an authoritative response from the real API.
- Diff it against the mirror’s response to the same request.
- Flag any divergence in status, body, header, or webhook payload.
The public SLA
When drift is detected, we commit to two things:7 days to detect
Every mirror is diffed against the live vendor at least once every 7 days. New vendor API changes surface within that window — nothing older.
14 days to fix (critical)
Critical drift — anything that changes a webhook signature, an error code SDKs pattern-match on, or a state-machine transition — ships a fix within 14 days.
- Last drift scan timestamp
- Open drift issues (with severity)
- Mirror version and its current target vendor API date
Versioning
Every mirror has a version (stripe@0.7.3) and a target vendor API version it mirrors (stripe API 2024-06-20). The version pair is exposed to your SDK in a x-mirra-version response header:
## Config:
Gaps we document
No mirror is 100%. We explicitly document what each mirror does not yet cover — endpoints not implemented, webhook types not modeled, behaviors approximated rather than replayed. Every mirror’s page under Mirrors has a “Coverage” section listing what works, what’s pending, and what’s out of scope.What this means for you
- The mirror you use today will not silently change behavior on you. You’ll see a version bump.
- If the real vendor changes, you’ll see an SLA-tracked fix — or a known-drift marker on the mirror’s status page if the change is still in flight.
- You can pin versions for deterministic CI and bump deliberately.
Where to go next
Mirror catalog
The current fidelity state of every mirror we ship.
Status page
Live drift status, open issues, and SLA commitments.