Service tests cover engines and rate-limit logic but not the HTTP handlers themselves — which is how the publisher's 429 path shipped setting headers after the response had ended.
Add request-level tests against the real server setup for both services.
Acceptance criteria:
- Each endpoint has tests for success, validation failure, and rate-limited paths.
- Error and header behavior is asserted at the wire level.
- The tests run in the service CI jobs.
Service tests cover engines and rate-limit logic but not the HTTP handlers themselves — which is how the publisher's 429 path shipped setting headers after the response had ended.
Add request-level tests against the real server setup for both services.
Acceptance criteria: