I read this as a read-only root-cause investigation of the `/start` registration collision - I’ll trace the registry state, registration path, error mapping, and tests, then stop once the lead has exact evidence and the smallest fix seam.


The first concrete lead is the one-use launcher’s rollback archive: it contains both a customer registry and a bootstrap ledger from the failed run, alongside the exact installed-wheel registration modules.


The state confirms the user action committed: the live ledger is now generation 2, `REGISTERING`, with the exact customer role claim, while the registry already contains the same disabled customer. I’m now distinguishing a true duplicate-row mismatch from an earlier profile-module loading failure.