2.0 KiB
2.0 KiB
TASK METADATA
- Target Files:
server/main.ts,server/routes/admin.ts,server/routes/auth.ts,server/middleware.ts,server/rpc.ts,server/main.test.ts - Core Objective: Phase 3 (Server Route Modularization): Decompose the
2,100-line
server/main.tsentrypoint into modular feature routers (routes/admin.ts,routes/auth.ts), dedicated middleware (server/middleware.ts), and RPC configuration (server/rpc.ts). - Dependencies:
tasks/new/2026-0825.01.jul.story.arch.monolith-decomposition-roadmap-1845.md - Additional Important Notes: Must preserve exact HTTP routes, status codes,
zero-trust scope guards, and passing tests in
server/main.test.ts.
2. Architectural Considerations & Risks
- Risks:
- Route mounting order changes in Hono could alter middleware execution (e.g. rate limiting or auth resolution).
- Circular dependencies between route modules and
auth-session.ts.
- Alternatives:
- Keeping all routes in
main.ts; rejected because 2,100+ lines violate Single Responsibility Principle.
- Keeping all routes in
3. Proposed Implementation
- Extract Feature Routers (
server/routes/):server/routes/admin.ts: Extract all/api/admin/*CRUD endpoints (users, apps, roles, grants, invites, recovery, audit logs).server/routes/auth.ts: Extract WebAuthn passkey registration challenge/verify, login challenge/verify, PRF evaluation, and/api/passkeys/*endpoints.
- Extract Infrastructure & Middleware Modules:
server/middleware.ts: Extract rate limiting, CORS, security headers, and request logging.server/rpc.ts: Extract ConnectRPC daemon service registration and SPIFFE mTLS listener setup.
- Slim Down
server/main.ts:- Retain
main.tspurely as the application entrypoint assembling the sub-routers and serving the HTTP listener.
- Retain
- Quality Gates & Validation:
- Run
deno fmt,deno task lint,deno task check. - Run
deno test --allow-allto ensure all API routes resolve with 100% fidelity.
- Run