Decision
Auth defaults to required. Routes that should be public are listed explicitly in
config/routes.ts. The allowlist, not the code, is the authoritative record of what's public.Alternative I explored
A
@public decorator per-route. Rejected — it requires touching each route file and fails open when forgotten. A single config file fails closed.Risk
● Low The list is small and obvious. Any reviewer can sanity-check it in 10 seconds. Current public routes:
/health, /status, /docs, /auth/login, /auth/register.+12config/routes.ts (new)