SCENARIO REFERENCE

Six failures worth testing.

Each scenario isolates a different recovery problem. All six run against the same shipping workflow and three recovery policies.

INC-001

Lost acknowledgement

The first shipment commits, then its confirmation is lost. A retry may create a second shipment.

Open in the lab
What this tests

A successful retry can hide a duplicate shipment. Use the same idempotency key for the same logical operation.

INC-002

Rate-limited inventory reads

Inventory rejects the first two reads with a retry-after hint. Can the policy recover within budget?

Open in the lab
What this tests

Retries need a bound and a backoff. The resilient policy honors the supplied retry-after delay.

INC-003

Invalid inventory response

Inventory returns a truthy string and a missing warehouse. Will the policy validate before acting?

Open in the lab
What this tests

Syntactically valid JSON can still be unusable. Validate tool outputs before making dependent calls.

INC-004

Inventory read timeout

The first inventory call times out before execution. Read retries can recover without duplicate writes.

Open in the lab
What this tests

Separate retryable read failures from ambiguous writes. A timeout alone is not proof that nothing happened.

INC-005

Slow inventory response

Inventory adds 1.4 seconds before returning. The task works, but does it meet the latency contract?

Open in the lab
What this tests

Success is not the only contract. A tool can return correct data and still miss a time budget.

INC-006

Sustained inventory outage

Every inventory read fails. Good behavior means stopping honestly without inventing a completed shipment.

Open in the lab
What this tests

No recovery policy can make an unavailable service succeed. Bounded, honest failure is the correct outcome.

Contribute a reproducible failure.

Add a scenario, a failing baseline, and a recovery contract. The library and browser lab share the same Python source.

Contribution guide