Context
Lock-free route matching depends on compiled snapshot (freeze()). If app is not frozen, request path still uses mutex-backed routers, reducing scalability.
Goal
Make compiled routing harder to miss in production.
Options
- Auto-freeze/auto-compile on first request.
- Strong runtime warning when serving without compiled routers.
- Explicit config to enforce freeze-before-serve.
Acceptance criteria
- Clear strategy implemented (auto-freeze or enforced guard).
- Behavior documented in routing/perf docs.
- No regressions in route registration lifecycle tests.
Notes
Prefer minimal surprise for existing users; avoid breaking dev ergonomics.
Context
Lock-free route matching depends on compiled snapshot (
freeze()). If app is not frozen, request path still uses mutex-backed routers, reducing scalability.Goal
Make compiled routing harder to miss in production.
Options
Acceptance criteria
Notes
Prefer minimal surprise for existing users; avoid breaking dev ergonomics.