Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ Optional helper commands:

```bash
npm run webhooks:print
npm run preflight:providers
npm run db:smoke
```

Expand Down Expand Up @@ -292,6 +293,7 @@ Prisma models included:
2. Import project in Vercel.
3. Add all environment variables from `.env.local` (or from your secret manager).
- Quick check: `npm run env:check`
- Provider parity check: `npm run preflight:providers`
4. Set `NEXT_PUBLIC_APP_URL` to your production origin, e.g. `https://app.example.com`.
5. Run Prisma migrations against your production database:
- Either via CI/CD step: `npx prisma migrate deploy`
Expand Down
1 change: 1 addition & 0 deletions docs/EXTERNAL_SETUP_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ Optional quick checks:

```bash
npm run env:check
npm run preflight:providers
npm run typecheck
```

Expand Down
36 changes: 36 additions & 0 deletions docs/PRODUCTION_READINESS_GAPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -483,3 +483,39 @@ Dependencies: G4 (recommended)
- `npm run env:check` -> PASS
- Notes:
- No functional regressions observed in local validation gates.

- 2026-03-02 - G15 (DONE)
- Branch: `hardening/g15-provider-preflight`
- What changed:
- Added provider preflight core checks in `lib/provider-preflight.ts`:
- Clerk URL/origin consistency validation
- Stripe webhook secret + endpoint reachability assumptions
- Twilio webhook target parity derivation from app URL (with optional explicit URL parity env checks)
- DB connectivity health check contract
- Added executable provider preflight command:
- `scripts/provider_preflight.ts`
- npm script: `npm run preflight:providers`
- Added focused tests with mocked DB behavior and env-driven parity cases:
- `tests/provider-preflight.test.ts`
- Updated operator docs/checklists to include provider preflight:
- `README.md`
- `docs/EXTERNAL_SETUP_CHECKLIST.md`
- `scripts/preflight_checklist.md`
- Commands run + results:
- `npm test` -> PASS (40/40)
- `npm run lint` -> PASS
- `npm run build` -> PASS
- `npm run typecheck` -> PASS
- `npm run env:check` -> PASS
- `npm run preflight:providers` -> FAIL (database unreachable from current runtime; script produced actionable fix output and correctly marked FAIL)
- Files touched:
- `lib/provider-preflight.ts`
- `scripts/provider_preflight.ts`
- `tests/provider-preflight.test.ts`
- `package.json`
- `README.md`
- `docs/EXTERNAL_SETUP_CHECKLIST.md`
- `scripts/preflight_checklist.md`
- `docs/PRODUCTION_READINESS_GAPS.md`
- Commit SHA:
- `2ced0fc`
Loading