What to build
The auth middleware's PUBLIC_PATHS frozenset lists /api/metrics/prometheus as a public route, but the health module only defines /api/metrics (JSON). The Prometheus path returns 404 for everyone, including monitoring scrapers that follow the documented bypass list.
Decide: either implement the Prometheus exporter route (probably using prometheus-client text format) or drop the entry from PUBLIC_PATHS.
Acceptance criteria
Blocked by
None - can start immediately
Sourced from tests/harness/FINDINGS.md §21 (low).
What to build
The auth middleware's
PUBLIC_PATHSfrozenset lists/api/metrics/prometheusas a public route, but the health module only defines/api/metrics(JSON). The Prometheus path returns 404 for everyone, including monitoring scrapers that follow the documented bypass list.Decide: either implement the Prometheus exporter route (probably using prometheus-client text format) or drop the entry from PUBLIC_PATHS.
Acceptance criteria
/api/metrics/prometheusreturns 200 withtext/plain; version=0.0.4Prometheus exposition format, OR the entry is removed from PUBLIC_PATHShal0_requests_total,hal0_slot_state,hal0_chat_completion_latency_seconds)Blocked by
None - can start immediately
Sourced from
tests/harness/FINDINGS.md§21 (low).