Test the whole order flow, including the workers.
Run services, workers, and queues together in an isolated environment.
Exercise retries and repeat submissions with workflows your team defines.
Check matching, notifications, and settlement before releasing a change.
- 01listings.createdweb → queue
- 02matching.workerqueue → worker
- 03api.partners.testworker → partner · denied
Give background jobs a place in your pre-deploy checks.
Queues in the twin. The broker runs in the twin, with its topics and consumer groups created in its own image and no production messages copied.
Webhook containment. Production partner webhooks are blocked and written to the attempted-effect ledger.
Retry personas. Impatient users and API clients become deterministic scenarios.
Buyers, sellers, listings, and in-flight orders as a referential subset.
Both sides of the market. Buyers and sellers restored together, so a match has something to match against.
Run the workers. Matching, notify, and settle against clone-local queues.
Contain partners. Each partner host carries its own mode in the manifest, so the ones the twin simulates and the ones it refuses are written down rather than assumed.
- 01buyer_18cin-flightjoined
- 02buyer_44aactivejoined
- 03buyer_09flong-tailmiss
- 01seller_northlisting openjoined
- 02seller_helixlisting openjoined
- 03order_992join validmiss
Catch missed matches and inconsistent order state.
Rolling deploys. Test the previous release against the updated schema.
Duplicate events. Check outcomes after background jobs finish.
Compare. The oracle diffs the twin's writes against the baseline run.
Baseline
Candidate
Bring your next pull request.
See how Antifailure would test your stack, what it would check, and the evidence your team would review before merging.