| .. |
|
fixtures
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
shell
|
shutdown: minutes end to end (*_MINUTES schedule keys, HH:MM helper args, to_hours removed)
|
2026-10-04 19:48:24 +02:00 |
|
__init__.py
|
Add comprehensive tests for stockfish_analysis (100% coverage)
|
2025-12-02 22:58:06 +01:00 |
|
_credential_fixtures.py
|
Detect a Firebase credential the server rejects, not just one that fails to build
|
2026-08-27 21:32:39 +02:00 |
|
_earned_fixtures.py
|
earned_time 0.6.0: per-day registry consumer, sleep-ladder date-proof tests, pin v0.6.0
|
2026-10-09 21:36:53 +02:00 |
|
_gatelock_fixtures.py
|
Migrate screen_locker to gatelock v0.2.0 per-output locking
|
2026-07-25 16:26:39 +02:00 |
|
_isolated_state.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
_late_credit_fixtures.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
_locker_factories.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
_opt_in_fixtures.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
_real_state_fixtures.py
|
Commit gate: pytest 67.7 s serial -> 9.4 s, screens-fit hook 3.6 s -> 0.7 s
|
2026-11-01 17:27:27 +01:00 |
|
_sick_helpers.py
|
Sick days: per-locker keep (sickdays 0.2.0) for the workout lock
|
2026-10-16 15:18:49 +02:00 |
|
_status_view_helpers.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
_tk_mocks.py
|
Lock screen: "choose lockers…" opens sickdays' KeepPanel in the lock
|
2026-10-17 14:06:22 +02:00 |
|
_unlock_helpers.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
_workout_sync_fixtures.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
conftest.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_adb_and_phone_part2.py
|
Split 13 test modules under the cap; document their test methods
|
2026-08-15 19:16:18 +02:00 |
|
test_adb_and_phone.py
|
Split _shutdown, _phone_verification and _status_data
|
2026-08-15 20:11:28 +02:00 |
|
test_annotate_duplicate_credits.py
|
Record which log entries are two recordings of one workout
|
2026-08-29 22:31:32 +02:00 |
|
test_armed_state.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_cli_help.py
|
Credit: one reward per workout slot, desktop notification, --help, runnerup-watch ignores re-pulls
|
2026-10-09 19:05:08 +02:00 |
|
test_cli.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_compliance_state_part2.py
|
Sick days: per-locker keep (sickdays 0.2.0) for the workout lock
|
2026-10-16 15:18:49 +02:00 |
|
test_compliance_state_part3.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_compliance_state_part4.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_compliance_state.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_credential_recovery_part2.py
|
Detect a Firebase credential the server rejects, not just one that fails to build
|
2026-08-27 21:32:39 +02:00 |
|
test_credential_recovery.py
|
Detect a Firebase credential the server rejects, not just one that fails to build
|
2026-08-27 21:32:39 +02:00 |
|
test_credit_notify.py
|
Credit: one reward per workout slot, desktop notification, --help, runnerup-watch ignores re-pulls
|
2026-10-09 19:05:08 +02:00 |
|
test_credit_slot.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_daily_limits_wiring.py
|
Shutdown: walks as workout, rest days, grace floor, workout ledger (earned-time 0.4.0)
|
2026-10-09 10:43:45 +02:00 |
|
test_decision_log_modes.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_decision_log.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_decision_reasons.py
|
Say every reason a lock decision had, not just the first one
|
2026-08-23 07:02:41 +02:00 |
|
test_decision_trail.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_duration_threshold_fixture.py
|
Add sync-status card and duration-threshold fixture
|
2026-08-15 18:41:31 +02:00 |
|
test_early_bird_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_early_bird_part3.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_early_bird.py
|
The early-bird window is the wake-alarm carrot, not a clock
|
2026-09-20 08:39:44 +02:00 |
|
test_earned.py
|
LeetCode bonus needs the day paid in full (earned_time 0.18.0); gate_off asked live
|
2026-10-24 13:23:19 +02:00 |
|
test_earner_units.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_extra_benefits_part2.py
|
drop the weekly shutdown bonus entirely; every bonus stops at the shutdown ceiling
|
2026-10-10 08:59:50 +02:00 |
|
test_extra_benefits.py
|
drop the weekly shutdown bonus entirely; every bonus stops at the shutdown ceiling
|
2026-10-10 08:59:50 +02:00 |
|
test_first_credits.py
|
earned_time 0.6.0: maturity-aware penalty start (first_credits); grace floor covers every gate earner
|
2026-10-09 21:55:21 +02:00 |
|
test_focus_and_scroll.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_gate_bonus_tutor.py
|
earned_time 0.9.0: tutor earner renamed automation -> tutor
|
2026-10-12 16:38:25 +02:00 |
|
test_gate_bonus.py
|
deps: earned_time 0.8.0 (tutor credit per active minute); tutor rung tests for minute rows and legacy blocks
|
2026-10-10 18:32:43 +02:00 |
|
test_grace_floor.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_heat_skip.py
|
Add manual (unverified) workout logging with evidence form
|
2026-07-05 20:08:52 +02:00 |
|
test_home_isolation.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_init_and_log_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_init_and_log_part3.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_init_and_log.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_instance.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_late_credit.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_leetcode_gate_off.py
|
LeetCode bonus needs the day paid in full (earned_time 0.18.0); gate_off asked live
|
2026-10-24 13:23:19 +02:00 |
|
test_local_day_key.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_lock_invariant.py
|
Reading hour from book-guard: +1h shutdown; base 20->19 from 2026-10-01
|
2026-09-26 19:02:24 +02:00 |
|
test_log_io.py
|
Support multiple workouts per day; fix the dead sync; ban silent failures
|
2026-07-17 09:22:31 +02:00 |
|
test_log_mixin_chokepoint.py
|
Stop the relaxed-day popup from re-firing every 30 minutes after Skip
|
2026-08-18 21:55:59 +02:00 |
|
test_log_mixin_lock.py
|
runnerup-watch: credit a RunnerUp run the moment its TCX upload finishes; lock the workout-log write
|
2026-10-07 20:36:38 +02:00 |
|
test_manual_budget_merge_fixture.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_cli_future.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_cli.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_future_wiring.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_future.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_pending.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_push_part2.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_manual_push.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_manual_rekey_dedup.py
|
Count the manual budget per workout, keep a synced twin's id, and let a logged workout outrank an expired early bird
|
2026-09-18 09:44:28 +02:00 |
|
test_manual_schedule.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_sync_future.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_sync_part2.py
|
Stop the relaxed-day popup from re-firing every 30 minutes after Skip
|
2026-08-18 21:55:59 +02:00 |
|
test_manual_sync_part3.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_sync.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_workout_date.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_workout_dialog.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_workout_features_part2.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_manual_workout_features_part3.py
|
Split the last 8 test modules; scope pylint's test-inherent checks
|
2026-08-15 19:40:32 +02:00 |
|
test_manual_workout_features_part4.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_manual_workout_features.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_workout_part2.py
|
Split 12 more test modules under the 250-line cap
|
2026-08-15 19:34:59 +02:00 |
|
test_manual_workout_status_view.py
|
manual workout: log for future dates (credited on the day)
|
2026-10-16 15:34:15 +02:00 |
|
test_manual_workout.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_mcp.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_morning_session.py
|
Morning-session reader moves to gatelock 0.9.0
|
2026-10-02 14:05:40 +02:00 |
|
test_night_lockdown_rung.py
|
workout lock: do not re-arm after tonight's evening night-lockdown (gatelock 0.10.0 night_lockdown)
|
2026-10-17 18:32:30 +02:00 |
|
test_no_popup_widgets.py
|
Make the lock overlay's sport selector usable, and focus its form fields
|
2026-07-26 15:08:08 +02:00 |
|
test_phone_check_unlock_part2.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_phone_check_unlock_part3.py
|
Add auto-fill RunnerUp scan, carrot bonuses, and --status interface
|
2026-06-28 08:08:35 +02:00 |
|
test_phone_verification_part2.py
|
Split _shutdown, _phone_verification and _status_data
|
2026-08-15 20:11:28 +02:00 |
|
test_phone_verification_part3.py
|
Split 10 more test modules under the 250-line cap
|
2026-08-15 19:22:00 +02:00 |
|
test_phone_verification_part4.py
|
Split _shutdown, _phone_verification and _status_data
|
2026-08-15 20:11:28 +02:00 |
|
test_phone_verification_part5.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_phone_verification_part6.py
|
Split _shutdown, _phone_verification and _status_data
|
2026-08-15 20:11:28 +02:00 |
|
test_phone_verification_part7.py
|
Split _shutdown, _phone_verification and _status_data
|
2026-08-15 20:11:28 +02:00 |
|
test_phone_verification_part8.py
|
Split 10 more test modules under the 250-line cap
|
2026-08-15 19:22:00 +02:00 |
|
test_poke_contract.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_poke_credit_day.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_poke_credit.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_poke_main.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_poke_sandbox.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_poke_server.py
|
Commit gate: pytest 67.7 s serial -> 9.4 s, screens-fit hook 3.6 s -> 0.7 s
|
2026-11-01 17:27:27 +01:00 |
|
test_poke_wire.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_queue_state.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_rest_day.py
|
Shutdown: walks as workout, rest days, grace floor, workout ledger (earned-time 0.4.0)
|
2026-10-09 10:43:45 +02:00 |
|
test_rtdb_stream.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_runnerup_backfill_credit.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_runnerup_verification_part1.py
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
test_runnerup_verification_part2.py
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
test_runnerup_verification_part3.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part4.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part5.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part6.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part7.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part8.py
|
Credit RunnerUp runs by the day rule, from the WebDAV drop dir, and never twice
|
2026-09-16 21:14:17 +02:00 |
|
test_runnerup_verification_part9.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part10.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part11.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part12.py
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
test_runnerup_verification_part13.py
|
Credit RunnerUp runs by the day rule, from the WebDAV drop dir, and never twice
|
2026-09-16 21:14:17 +02:00 |
|
test_runnerup_verification_part14.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_verification_part15.py
|
Finish the RunnerUp sport-allowlist removal; isolate the instance lock in tests
|
2026-08-21 13:17:26 +02:00 |
|
test_runnerup_walks.py
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
test_runnerup_watch_filter.py
|
Credit: one reward per workout slot, desktop notification, --help, runnerup-watch ignores re-pulls
|
2026-10-09 19:05:08 +02:00 |
|
test_runnerup_webdav_source.py
|
Credit RunnerUp runs by the day rule, from the WebDAV drop dir, and never twice
|
2026-09-16 21:14:17 +02:00 |
|
test_scheduled_skip.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_screen_lock_coverage_part1.py
|
drop the weekly shutdown bonus entirely; every bonus stops at the shutdown ceiling
|
2026-10-10 08:59:50 +02:00 |
|
test_screen_lock_coverage_part2.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_screen_lock_coverage_part3.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_screen_lock_coverage_part4.py
|
shutdown: minutes end to end (*_MINUTES schedule keys, HH:MM helper args, to_hours removed)
|
2026-10-04 19:48:24 +02:00 |
|
test_screen_lock_coverage_part5.py
|
shutdown: minutes end to end (*_MINUTES schedule keys, HH:MM helper args, to_hours removed)
|
2026-10-04 19:48:24 +02:00 |
|
test_session_stream_connect.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_session_stream_loop.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_session_stream.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_session_sync.py
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
test_shutdown_base_replay.py
|
earned_time 0.6.0: per-day registry consumer, sleep-ladder date-proof tests, pin v0.6.0
|
2026-10-09 21:36:53 +02:00 |
|
test_shutdown_base.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_shutdown_ceiling_invariant.py
|
Commit gate: pytest 67.7 s serial -> 9.4 s, screens-fit hook 3.6 s -> 0.7 s
|
2026-11-01 17:27:27 +01:00 |
|
test_shutdown_flat_earners.py
|
LeetCode bonus needs the day paid in full (earned_time 0.18.0); gate_off asked live
|
2026-10-24 13:23:19 +02:00 |
|
test_shutdown_leetcode.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_shutdown_minutes.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_shutdown_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_shutdown_part3.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_shutdown_part4.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_shutdown_part6.py
|
Split 10 more test modules under the 250-line cap
|
2026-08-15 19:22:00 +02:00 |
|
test_shutdown_reading.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_shutdown_target.py
|
late credits: a credit at/after tonight's shutdown sets it to min(23:00, its own time + reward); grace floor removed (also on sick days)
|
2026-10-17 18:14:04 +02:00 |
|
test_sick_button.py
|
Lock screen "I'm sick": one tap clears an already-sick day's kept lockers
|
2026-10-17 14:17:05 +02:00 |
|
test_sick_floor.py
|
sick day: shutdown = 20:00 + gaming pay of today's credits (earned_time 0.13.1); credits raise to it, no absorb
|
2026-10-17 17:38:24 +02:00 |
|
test_sick_panel.py
|
Sick panel: move keyboard focus into the overlay
|
2026-10-17 14:11:15 +02:00 |
|
test_source_health.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_status_data_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_status_data_part3.py
|
Sick days: per-locker keep (sickdays 0.2.0) for the workout lock
|
2026-10-16 15:18:49 +02:00 |
|
test_status_data_part4.py
|
drop the banked extra-workout shutdown bonus (no new hours from 2026-W42; streak + early-bird kept)
|
2026-10-10 08:32:40 +02:00 |
|
test_status_data.py
|
Shutdown +1h on a day with a LeetCode solve; base moves 21:00 -> 20:00
|
2026-09-15 20:06:26 +02:00 |
|
test_status_part2.py
|
shutdown: minutes end to end (*_MINUTES schedule keys, HH:MM helper args, to_hours removed)
|
2026-10-04 19:48:24 +02:00 |
|
test_status_part3.py
|
Grade against 3.14 too, not just run on it
|
2026-08-29 11:42:47 +02:00 |
|
test_status_view_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_status_view_part3.py
|
Make Check Phone week-aware; add RunnerUp GPS tolerance; fix CLI weekly count
|
2026-07-18 06:55:55 +02:00 |
|
test_status_view_part4.py
|
earned_time 0.6.0: per-day registry consumer, sleep-ladder date-proof tests, pin v0.6.0
|
2026-10-09 21:36:53 +02:00 |
|
test_status_view_part5.py
|
Credit RunnerUp runs by the day rule, from the WebDAV drop dir, and never twice
|
2026-09-16 21:14:17 +02:00 |
|
test_status_view_part6.py
|
Split 12 more test modules under the 250-line cap
|
2026-08-15 19:34:59 +02:00 |
|
test_status_view_part7.py
|
Serve the lock decision, its history and its health at 127.0.0.1:8770
|
2026-08-29 22:50:19 +02:00 |
|
test_status_view.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_status.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_stream_auth.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_stream_cache_merge.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_stream_cache.py
|
workout-poke: instant phone credit over LAN (signed POST :8773) and Firebase stream
|
2026-10-09 19:05:51 +02:00 |
|
test_surface_fanout.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_sync_degradation_part2.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_sync_degradation.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_sync_fixtures.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_sync_retry.py
|
Retry sync past the boot/resume network race, and stop blaming the token
|
2026-07-20 08:46:37 +02:00 |
|
test_sync_status.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_sync_tombstones.py
|
Tombstone sync records durably: a ledger the PC re-pushes every tick
|
2026-09-13 20:20:06 +02:00 |
|
test_systemd_units.py
|
The early-bird window is the wake-alarm carrot, not a clock
|
2026-09-20 08:39:44 +02:00 |
|
test_temperature.py
|
Temperature bound test: assert the default is at most 5 s, not exactly 5 s
|
2026-11-01 17:31:26 +01:00 |
|
test_time_check.py
|
chore: set up as standalone repo
|
2026-05-28 07:43:06 +02:00 |
|
test_tutor_cutover.py
|
earned_time 0.9.0: tutor earner renamed automation -> tutor
|
2026-10-12 16:38:25 +02:00 |
|
test_ui_and_timers.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_ui_flows_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_vt_switching.py
|
Migrate to the shared gatelock backend
|
2026-06-21 20:11:16 +02:00 |
|
test_wake_skip.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_walk_tcx.py
|
One workout duration bar for every activity: advertise 30, accept 25 (walks included)
|
2026-11-01 17:33:33 +01:00 |
|
test_web_payload_part2.py
|
Serve the lock decision, its history and its health at 127.0.0.1:8770
|
2026-08-29 22:50:19 +02:00 |
|
test_web_payload.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_web_server_part2.py
|
Serve the lock decision, its history and its health at 127.0.0.1:8770
|
2026-08-29 22:50:19 +02:00 |
|
test_web_server.py
|
Commit gate: pytest 67.7 s serial -> 9.4 s, screens-fit hook 3.6 s -> 0.7 s
|
2026-11-01 17:27:27 +01:00 |
|
test_weekly_check_dedup_part2.py
|
Count one StrongLifts session once, not once per ingestion path
|
2026-08-29 22:23:17 +02:00 |
|
test_weekly_check_dedup.py
|
Count one StrongLifts session once, not once per ingestion path
|
2026-08-29 22:23:17 +02:00 |
|
test_weekly_check_part2.py
|
Stop the relaxed-day popup from re-firing every 30 minutes after Skip
|
2026-08-18 21:55:59 +02:00 |
|
test_weekly_check.py
|
Lose Tue/Wed/Thu leniency when wake-alarm signals a missed prior-day ring
|
2026-09-23 21:23:31 +02:00 |
|
test_weekly_logic_part2.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_weekly_logic_part3.py
|
Close the four gaps that let a decided lock never reach the screen
|
2026-08-30 15:24:45 +02:00 |
|
test_weekly_logic_part4.py
|
Stop the relaxed-day popup from re-firing every 30 minutes after Skip
|
2026-08-18 21:55:59 +02:00 |
|
test_weekly_logic_part5.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_weekly_logic.py
|
sick days: one shared sickdays pool, 20:00 shutdown floor, one-tap lock button
|
2026-10-16 13:30:39 +02:00 |
|
test_workday_penalty.py
|
Sick days: per-locker keep (sickdays 0.2.0) for the workout lock
|
2026-10-16 15:18:49 +02:00 |
|
test_workout_app.py
|
Supervise the workout app as the lock surface, on a deadline that holds
|
2026-08-22 11:52:02 +02:00 |
|
test_workout_handoff.py
|
Workout handoff clears gatelock's Claim.grab_held while the app has input
|
2026-10-19 12:04:48 +02:00 |
|
test_workout_ledger_cli.py
|
Shutdown: walks as workout, rest days, grace floor, workout ledger (earned-time 0.4.0)
|
2026-10-09 10:43:45 +02:00 |
|
test_workout_ledger.py
|
Shutdown: walks as workout, rest days, grace floor, workout ledger (earned-time 0.4.0)
|
2026-10-09 10:43:45 +02:00 |
|
test_workout_ready.py
|
Supervise the workout app as the lock surface, on a deadline that holds
|
2026-08-22 11:52:02 +02:00 |
|
test_workout_session.py
|
Put the demo's escape hatch inside the app, the only place it can be received
|
2026-08-22 12:41:07 +02:00 |
|
test_workout_sync_part2.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_workout_sync_part4.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_workout_sync_part5.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_workout_sync_part6.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |
|
test_workout_sync.py
|
Sync: Firebase only — drop the GitHub transport (kuhyx/syncs stays a frozen archive)
|
2026-10-09 19:18:56 +02:00 |