TestM3ChaosGateSeededStorm
The gate creates 500 intents and assigns `ok`, `decline_hard`, `fail_5xx_then_ok:2`, `timeout_after_charge`, `timeout_before`, `webhook_dup:3`, and `webhook_ooo` round-robin.
Source: orchestration/backend/internal/httpapi/m3_acceptance_test.goConverges terminal
The test repeatedly runs worker and reaper with forced deadline expiry, then fails unless zero non-terminal intents remain.
Source: orchestration/backend/internal/httpapi/m3_acceptance_test.goNo double charge
For every created intent, the SimPSP charge ledger must show at most one charge after the storm.
Source: orchestration/backend/internal/httpapi/m3_acceptance_test.goExactly-once outbox drain
For every successful capture, the test requires one booking row, one fake-Arus post, and zero pending/failed outbox rows after drain.
Source: orchestration/backend/internal/httpapi/m3_acceptance_test.go