mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-07-04 18:23:06 +02:00
- Refactor RunnerUp verification: extract RunnerUpDbMixin (_runnerup_db.py), split _scan_and_fill_week_runnerup into a helper _try_fill_runnerup_for_date to keep cyclomatic complexity ≤10 - Generalise TCX lookup to any date in the ISO week (was today-only); all gap days Mon→today auto-filled on every startup and 08:30 timer firing - Add _adjust_shutdown_time_by(): +1h per extra workout beyond the 4-workout minimum, capped at midnight (hour=24) - Add _shutdown_base.py: daily reset of shutdown config to a stored base so the bonus doesn't silently accumulate across days - Add _extra_benefits.py: streak tracking, skip credits (earn (n-4) credits for 5+ workout weeks), early-bird extension to 09:00 for eligible weeks - Add --status mode (_status.py): non-locking CLI view showing per-day breakdown (✓/✗), RunnerUp auto-scan, bonus status, shutdown time, streak, skip credits, and early-bird status - Hook carrot into _check_non_verify_exits: bonus applied whenever auto-fill pushes weekly count above the minimum - Pass all pre-commit hooks (ruff, mypy, pylint, bandit, shellcheck, codespell, max-file-length); 508 tests at 100% branch coverage Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017auyHmf2ZwQcDAwXaSo7KX |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| test_adb_and_phone.py | ||
| test_early_bird_part2.py | ||
| test_early_bird.py | ||
| test_extra_benefits.py | ||
| test_init_and_log_part2.py | ||
| test_init_and_log.py | ||
| test_phone_check_unlock_part2.py | ||
| test_phone_check_unlock_part3.py | ||
| test_phone_verification_part2.py | ||
| test_phone_verification_part3.py | ||
| test_phone_verification_part4.py | ||
| test_runnerup_verification_part1.py | ||
| test_runnerup_verification_part2.py | ||
| test_runnerup_verification_part3.py | ||
| test_runnerup_verification_part4.py | ||
| test_runnerup_verification_part5.py | ||
| test_scheduled_skip.py | ||
| test_screen_lock_coverage_part1.py | ||
| test_screen_lock_coverage_part2.py | ||
| test_shutdown_base.py | ||
| test_shutdown_part2.py | ||
| test_shutdown_part3.py | ||
| test_shutdown_part4.py | ||
| test_sick_features_part2.py | ||
| test_sick_features.py | ||
| test_sick_tracker.py | ||
| test_status.py | ||
| test_time_check.py | ||
| test_ui_and_timers_part2.py | ||
| test_ui_and_timers.py | ||
| test_ui_flows_part2.py | ||
| test_verify_workout.py | ||
| test_vt_switching.py | ||
| test_wake_shutdown.py | ||
| test_wake_skip.py | ||
| test_wake_state.py | ||
| test_weekly_check.py | ||
| test_weekly_logic_part2.py | ||
| test_weekly_logic.py | ||