Commit Graph

2 Commits

Author SHA1 Message Date
53140a96e2 Fix pre-existing CI failures (crdt_sync dep, dead type:ignore, ruff)
CI ran on 399f981 before these fixes landed; both workflows were red:

- Tests: ModuleNotFoundError: No module named 'crdt_sync'. CI installs
  requirements.txt (not pyproject deps), which lacked the crdt-sync git
  dependency the Workstream-C sync introduced. Add crdt-sync + mcp>=1.9
  to requirements.txt (mirrors diet-guard's fix).
- pre-commit no-noqa: ~45 `# type: ignore[attr-defined]` comments across
  _auto_upgrade/_runnerup_db/_status/_heat_skip flagged repo-wide by the
  no-noqa hook. The mypy hook already runs with
  --disable-error-code=attr-defined, so every one of these ignores was
  suppressing an already-disabled check — dead weight. Removed them; mypy
  and pytest (747 passed, 100% cov) both stay green. Same for the test's
  redundant `# type: ignore[override]` (override never fired).
- pre-commit ruff: FBT003 in _heat_skip.py (tk positional bools, its API)
  and C901/PLR0912 in _status.py run_status (branchy weekly pipeline by
  design) — added per-file-ignores with rationale, matching the existing
  ignores for the sibling validation-chain modules.
- Added crdt-sync/mcp/pydantic to the pylint hook's additional_dependencies
  so pylint can resolve the new imports.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018PMRRVVkeRyrSaaqueMZKG
2026-07-11 17:05:03 +02:00
2729c2a880 Add heat-skip feature and fix early-bird 9:00 re-check gap
Heat skip: if Warsaw temperature >= 32°C at locker startup, a fullscreen
dark-themed dialog asks the user to confirm skipping. Temperature is always
fetched from wttr.in automatically (user cannot self-report). Fail-closed:
API unavailable → no dialog, normal lock. Placed before skip-credit
consumption so credits are preserved when heat skip is used instead.
Logs a heat_skip entry (with temperature) to workout_log.json; does not
count toward weekly minimum. Visible in --status as "Heat skips (month)".

Early-bird gap fix: the re-check timer now fires at both 08:30 (normal
5:00–8:30 window) and 09:05 (extended 5:00–9:00 window earned by 5+
workout weeks). Previously the 08:30 run would see the window still active
on extended weeks and never re-check after 9:00.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015QCx1roriuXzFgrzFXtugb
2026-06-29 11:23:19 +02:00