Primary finding
Required-env list silently drifts from real runtime dependencies
lowmaintainabilitymedium
- apps/web/app/api/health/route.ts:21-31
The comment promises this list mirrors every env var read by the webhook handler, cron sweep, and review pipeline. That invariant is enforced only by code review — if a future handler reads a new `process.env.FOO`, this list will not be updated and the health probe will return ok even though the new path is broken on first request. The comment is therefore a latent docs/contract trap. The risk is bounded (only readiness coverage degrades) but worth flagging because the comment overstates the guarantee.
Recommendation
Centralize env access in a single typed module (e.g. `env.ts` using zod) and have both this route and the runtime handlers import from it, so the readiness check is automatically in sync with consumed env vars.