engineering notes
Verification workflow
This project is small enough that verification should be routine. Tests, typecheck, and live smoke requests together give a clear signal about transport, parser, and route health.
What the automated tests prove
The Bun test suite checks request line parsing, header normalization, incomplete-body behavior, route selection, and response serialization. That covers the most fragile parts of the server contract.
If these tests fail, the problem is usually local and deterministic. That is exactly what you want for parser-heavy code.
Why strict typecheck matters here
The server keeps state inside socket data and passes partially structured values between parser and route layers. Strict TypeScript catches drift early, especially when changing request shapes, response helpers, or per-socket state.
Typecheck is not decoration in this project. It is part of the contract between transport code and application code.
Runtime smoke tests
After tests and typecheck, the next proof is a running server. GET /health confirms the listener is live, GET /about confirms JSON routes behave correctly, and POST /echo confirms that body parsing still matches Content-Length.
The UDP smoke test remains separate because it verifies the helper transport and its ack path, not the HTTP parser itself.