fix: require verified production email
Expose the existing email-verification setting through Compose and close the completed DataProtection rotation blocker.
This commit is contained in:
@@ -13,14 +13,14 @@ Needed from the operator before the implemented flow can be activated:
|
||||
|
||||
## Production key rotation — Phase 1.4
|
||||
|
||||
Confirm the DataProtection keys exposed in git history have been rotated on the production host.
|
||||
DataProtection key rotation was confirmed complete by the production operator on 2026-08-02.
|
||||
|
||||
## Operator handoff
|
||||
|
||||
The remaining work requires external systems or production access, in this order:
|
||||
|
||||
1. **Run remote CI** for the reviewed working tree and diagnose the self-hosted runner only if it still fails.
|
||||
2. **Rotate production DataProtection keys** and complete the documented backup/restore rehearsal.
|
||||
2. **Completed 2026-08-02:** production DataProtection keys rotated.
|
||||
3. **Deploy and verify production** login, OAuth, registration/Turnstile, real data, public CV/PDF, AI, and attachments.
|
||||
4. **Activate Stripe billing** after its product, price, portal, webhook, and secrets exist.
|
||||
5. **Rehearse the legacy-column cutover** against the restored production backup; remove columns only in a later expand/contract release.
|
||||
@@ -29,7 +29,6 @@ The remaining work requires external systems or production access, in this order
|
||||
|
||||
- **CI:** a reviewed commit/branch submitted to Gitea Actions; runner host/log access if the workflow remains unstable.
|
||||
- **Stripe:** create/configure the Premium recurring price, portal, and webhook, then set `STRIPE_SECRET_KEY`, `STRIPE_PRICE_PREMIUM`, and `STRIPE_WEBHOOK_SECRET` outside the repository and chat.
|
||||
- **Production security:** confirm the DataProtection keys exposed in git history were rotated.
|
||||
- **Production access:** authorized host credentials for backup/restore, deploy, authenticated smoke tests, OAuth, and legacy-data validation.
|
||||
|
||||
Recruiter-facing PDF download and job-specific learning paths are implemented and tested in the working tree. Separate recruiter discovery/messaging and portfolio hosting are intentionally outside the current product scope. The existing `.agent.md`/`AGENTS.md` changes and the migration designer's line-ending-only status are unrelated and must be preserved.
|
||||
|
||||
Reference in New Issue
Block a user