You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: harden live-overview probes (Qodo review of #52 + colleague)
- _metrics.parse_metrics: skip non-finite (NaN/inf) values — int() would raise
and break the best-effort contract (Qodo #1).
- _metrics.http_get_text: cap the body at 5 MiB (read max_bytes+1, treat overflow
as unavailable) so a misbehaving backend can't stress memory (Qodo #2).
- gateway /status: drop base_url from the payload — it's internal-only routing
detail and /status may be reached over a public tunnel; matches the documented
schema (Qodo #3).
- gateway fleet_status_payload: probe backends in parallel (ThreadPoolExecutor)
with a bounded 3s timeout, so /status can't hang for timeout × N on a slow
backend (Qodo #4); and probe_backend short-circuits /metrics when /health fails
(colleague review). Order preserved.
Tests for each; 345 pass; black/isort/flake8/bandit clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NnDfFkZkXz8C68hr3AA9Qa
0 commit comments