Email checks are often the least deterministic step in an otherwise tidy CI pipeline. A test creates a user, waits for a verification message, follows a link, and then reports success. When it fails, someone says the email was slow.
That explanation is usually too small. The message may belong to a previous run, the application may never have emitted an event, or the poller may have found a message but cannot prove it was the right one. A throwaway email address can isolate traffic, but isolation alone does not give the test ownership, timing, or cleanup rules.
A run-scoped email fixture is a small automation contract around that mailbox. It gives every test run an identity, an expected message, a bounded wait, and a final receipt. The idea is simple enough for a local script and useful enough for a serious CI workflow.
Why shared inboxes make CI automation ambiguous
Shared inboxes are convenient at first.…