Validate fixes before release
A repair can look correct in code review and still fail on the historical shape that caused the incident. Validation needs the failing evidence and a decision rule that does not depend on anyone's confidence, including a model's. That is what replay provides: a deterministic pass or fail against the incident's own data, before the proposal reaches review.
Invitation-only access
Replay and repair validation are available to invited workspaces. Deterministic validation decides whether a candidate passes; an authorised reviewer decides whether it may be delivered.
The scenario
The contract-drift incident is open: the provider renamed candidate.email_address to candidate.email, and your mapping reads the old path. A proposal is generated from the incident evidence:
Code example
Proposal rep_7f3k2m Operations: - Copy $.candidate.email to $.candidate.email_address Explanation: the provider renamed email_address to email in the webhook payload; restoring the legacy path preserves the existing mapping.The operation vocabulary is deliberately tiny (copy a path, coerce a type) because every operation in it can be verified against evidence. A fluent explanation is not part of what gets verified.
The dataset comes first
Before the candidate runs, an immutable replay dataset is built from approved incident evidence: representative values materialized from the structural shapes (a string field gets a representative string; no customer value exists to leak), ordered consistently, manifest hashed. Immutability is the point: the fixture and expected result are fixed before evaluation, so the target cannot drift to match whatever the model produced.
The verdict
The candidate runs in a bounded adapter with no network access, and every fixture produces a comparable result:
Code example
Replay run for rep_7f3k2m 15 fixtures Schema check pass Evidence references pass (all 15 belong to this incident) Operation policy pass (1 operation, within bounds) Replay comparison pass: 15/15 fixtures produce the expected shapeAnd when a candidate is wrong, the failure is just as concrete. A bad candidate that coerced the wrong field fails with a stable mismatch path, not a mystery:
Code example
Replay comparison FAIL: 15/15 mismatch at $.candidate.salary expected string, produced numberA failed or unsafe candidate stays unapprovable, permanently. There is no override, and regenerating against unchanged evidence produces the same verdict.
Review validation
The approval decision comes after the deterministic result, with the checklist the approval workflow formalizes:
- Confirm the dataset belongs to the current incident and has not changed.
- Review the schema, operation, evidence-reference, and replay checks.
- Compare the original failure, candidate output, and expected result.
- Approve or reject, with rationale; the approved artifact is fingerprinted so delivery ships exactly what was approved.
Operating boundaries
- The model proposes and explains; deterministic validation decides pass or fail.
- The replay runner has no provider or production network access.
- A passing replay does not merge, deploy, or promise every customer test will pass.
- Recorded approval is required before export or GitHub delivery.
Related: Replay for fixtures and isolation, and Validate with replay for the dashboard workflow.
