docs(12): create initial-setup-wizard phase plan (4 plans, 3 waves)

This commit is contained in:
Lucas Berger
2026-06-15 11:46:30 -04:00
parent ea40176920
commit fe40de83db
6 changed files with 982 additions and 26 deletions
+8 -1
View File
@@ -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)