c4d3f585e3
replay() re-ran subscribe() for an already-recorded `created` submission. A retry that succeeded could flip the ledger to `enabled`, but the confirmation in the transcript is append-once, so the user kept being told email was unavailable while the system believed it was on. The replay now reads recordedExternalNotification() and takes no external decision. An attempt that dies before subscribing or before its outcome is recorded leaves the row `pending`, and the normal creation path subscribes on the retry.