Skip to content

[codex] Surface weather live fail-closed health#5

Merged
ijlu merged 1 commit into
codex/weather-live-fail-closedfrom
codex/weather-live-health-visibility
May 14, 2026
Merged

[codex] Surface weather live fail-closed health#5
ijlu merged 1 commit into
codex/weather-live-fail-closedfrom
codex/weather-live-health-visibility

Conversation

@ijlu
Copy link
Copy Markdown
Owner

@ijlu ijlu commented May 14, 2026

Summary

  • Add live_fc_missing_skips to the existing [health] wx_handler daemon log line.
  • Add a [health] wx_live_fail_closed line for live v2 fair-value fail-closed events.
  • Escalate the v2 fail-closed health line to WARNING when nonzero, then reset the counter after each health emit.

Why

Batch 3 made live weather quoting fail closed when required forecast/v2 inputs are unavailable. This follow-up makes those fail-closed paths visible in daemon health logs so operators can distinguish safe skipping from quiet inactivity.

Validation

  • python3 -m pytest tests/daemon/test_weather_live_health.py -q: 2 passed
  • python3 -m pytest tests/daemon/test_weather_live_health.py tests/daemon/test_weather_handler.py tests/test_weather_quoter.py tests/test_snapshot_writer_health.py -q: 138 passed
  • .venv/bin/python -m pytest tests/ -q: 2376 passed

Note: python3 -m pytest tests/ -q with the system Python failed during collection because the local system cryptography/_cffi_backend wheel is x86_64 while this machine needs arm64. The repo .venv full suite passed.

Notes

Stacked on codex/weather-live-fail-closed. No deploy or production data touched.

@ijlu ijlu marked this pull request as ready for review May 14, 2026 15:49
@ijlu ijlu merged commit 4a9f26d into codex/weather-live-fail-closed May 14, 2026
@ijlu ijlu deleted the codex/weather-live-health-visibility branch May 14, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant