Signup E2E + race/conflict acceptance tests
closedDeliverable
Prove the full path and its failure modes:
- E2E: fresh tenant →
domain.create(saga: Stalwart disabled + DKIM + PDS instance + postmaster) → DNS ownership/readiness →active→mail.createAccount→ usable account. No operator step. - Race/duplicate: concurrent/duplicate
domain.createnever destroys live infra and returns idempotent success (extends the5e674f6coverage to the PDS/postmaster steps). - Crash/retry: kill between each saga step; the next run converges idempotently (PDS reuse, postmaster reuse, route record).
- Conflict semantics: first-verified wins; cross-tenant duplicates return a 4xx conflict; transactional DB transitions are covered by tests.
Acceptance
- E2E green against the integration harness (and/or a documented live-staging rehearsal).
- Duplicate/race/crash tests are part of
just test(integration) and pin the never-destroy-live-infra invariant. - Results recorded here and any deltas folded into
docs/runbooks/.
1 Comment
Superseded by 4e9d7ba (2026-10-08). E2E part done as a live staging rehearsal on mx99 (test.kilimanjaro.io to active, no operator step); the race/duplicate unit coverage exists; the remaining crash-between-steps, identity-reuse, conflict and integration work is restated there from current status.