Make registration start idempotent
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

This commit is contained in:
tegwick 2026-08-10 19:53:39 +02:00
parent e0399cf235
commit d6873b84ae
4 changed files with 99 additions and 7 deletions

View file

@ -102,6 +102,14 @@ atomically invalidate one another, replay fails closed, and no identity is
created from cancellation. The full user-engine suite passes 133 tests with
three environment-dependent skips; email-connect passes all 24 tests.
2026-08-10 idempotency completion: public API starts now require an
`Idempotency-Key`, while the browser form receives a cryptographically random
hidden key. user-engine persists only a keyed HMAC of that value plus a hash of
the normalized request. Exact retries return the same generic response without
creating another session or requesting another email; reuse with different
inputs returns 409. Raw keys and applicant fields are absent from idempotency
evidence. The full suite passes 134 tests with three external skips.
## T02 - Orchestrate provider identity creation
```task