Priority: High · Area: API
What: Add fast bats smoke tests that hit /allocation, /allocation/summary, /assets, /cloudCost, and other Prometheus-backed endpoints with a simple valid query (e.g., window=1d).
Why: First line of defense against regressions — instantly catches endpoints that break, return non-JSON, or change status codes after a code change.
Acceptance criteria:
Each core endpoint returns HTTP 200 and parseable JSON for a basic valid request
Failures clearly report which endpoint failed and what was returned
Tests run fast enough to be part of the default suite
Priority: High · Area: API
What: Add fast bats smoke tests that hit /allocation, /allocation/summary, /assets, /cloudCost, and other Prometheus-backed endpoints with a simple valid query (e.g., window=1d).
Why: First line of defense against regressions — instantly catches endpoints that break, return non-JSON, or change status codes after a code change.
Acceptance criteria:
Each core endpoint returns HTTP 200 and parseable JSON for a basic valid request
Failures clearly report which endpoint failed and what was returned
Tests run fast enough to be part of the default suite