docs(12): create initial-setup-wizard phase plan (4 plans, 3 waves)
This commit is contained in:
@@ -249,7 +249,14 @@ Plans:
|
||||
- **Secrets stay in env, never in DB** (Pitfalls 8 & 10): the wizard validates secrets by performing a test operation (test encrypt/decrypt, structural VAPID check), never by accepting/storing the key value; no DB column for `vapid_private_key` or `app_password_encryption_key`; never log/echo the app password.
|
||||
- Hard constraints: `GET /api/setup/status` mounts **before** the OIDC guard (like `/health`); do NOT create `/api/setup/credentials` — reuse the Phase 10 admin routes; Drizzle generate+migrate (any `app_config` seeding via migration).
|
||||
|
||||
**Plans**: TBD
|
||||
**Plans**: 4 plans in 3 waves
|
||||
|
||||
Plans:
|
||||
- [ ] 12-01-PLAN.md — Schema migration (nullable OIDC + claimed) + generate-secrets helper (SETUP-03) + Wave-0 scaffolds
|
||||
- [ ] 12-02-PLAN.md — Pre-auth /api/setup/* router + isSetupLocked 423 guard + index mount + OIDC boot fallback (SETUP-01/02/04)
|
||||
- [ ] 12-03-PLAN.md — First-login-claims rework in upsertUser (D-08, SETUP-01)
|
||||
- [ ] 12-04-PLAN.md — PWA SetupPage wizard + App.tsx gate + UI-SPEC revision (SETUP-01/02)
|
||||
|
||||
**UI hint**: yes
|
||||
|
||||
### Phase 13: Real Lint Gate (ESLint)
|
||||
|
||||
Reference in New Issue
Block a user