..
__init__.py
earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time
2026-10-04 18:44:30 +02:00
_focus_fakes.py
earned_time 0.19.1: per-day focus target
2026-11-02 08:46:13 +01:00
_maturity_rows.py
earned_time 0.6.0: gate maturity classifier (python -m earned_time maturity), confirmed_on, first_credits-aware penalty start
2026-10-09 21:21:18 +02:00
conftest.py
earned_time 0.19.0: focus project earner
2026-11-02 08:23:50 +01:00
test_cli.py
earned_time 0.9.0: tutor earner renamed AUTOMATION_TUTOR/automation -> TUTOR/tutor, ledger ~/.local/share/tutor
2026-10-12 16:31:50 +02:00
test_credits.py
earned_time 0.4.0: sleep ladder for shutdown from 2026-10-10, workout ledger, first_credit_at/credit_units
2026-10-09 10:39:19 +02:00
test_focus_backing.py
focus_project: pin backing edge cases and pay
2026-11-10 16:38:48 +01:00
test_focus_edges.py
earned_time 0.21.0: focus day pays 240 gaming
2026-11-02 15:22:10 +01:00
test_focus.py
earned_time 0.21.0: focus day pays 240 gaming
2026-11-02 15:22:10 +01:00
test_ladder.py
earned_time 0.14.0: LEISURE_FROM leisure budget (7 h base, 10 h cap) + resolve(leisure=True)
2026-10-19 11:34:50 +02:00
test_ledger.py
earned_time 0.18.0: a LeetCode bonus needs the day paid in full; gate_off lets one solve earn on a stood-down day
2026-10-24 13:13:23 +02:00
test_leisure_switch.py
earned_time 0.16.0: leisure=None|True|False, so the gaming day decides (C6)
2026-10-19 16:58:27 +02:00
test_leisure.py
earned_time 0.16.0: leisure=None|True|False, so the gaming day decides (C6)
2026-10-19 16:58:27 +02:00
test_maturity_credit.py
earned_time 0.6.0: gate maturity classifier (python -m earned_time maturity), confirmed_on, first_credits-aware penalty start
2026-10-09 21:21:18 +02:00
test_maturity_floor.py
earned_time tests: ruff import order + format (CI pre-commit red since 0.9.0)
2026-10-17 16:48:05 +02:00
test_maturity_penalty.py
earned_time 0.6.0: gate maturity classifier (python -m earned_time maturity), confirmed_on, first_credits-aware penalty start
2026-10-09 21:21:18 +02:00
test_maturity.py
earned_time 0.6.0: gate maturity classifier (python -m earned_time maturity), confirmed_on, first_credits-aware penalty start
2026-10-09 21:21:18 +02:00
test_paid_day_only.py
earned_time 0.18.0: a LeetCode bonus needs the day paid in full; gate_off lets one solve earn on a stood-down day
2026-10-24 13:13:23 +02:00
test_policy.py
earned_time 0.4.0: sleep ladder for shutdown from 2026-10-10, workout ledger, first_credit_at/credit_units
2026-10-09 10:39:19 +02:00
test_resolve.py
earned_time 0.4.0: sleep ladder for shutdown from 2026-10-10, workout ledger, first_credit_at/credit_units
2026-10-09 10:39:19 +02:00
test_settled_by_credit.py
earned_time 0.17.0: a LeetCode day paid from banked credits earns the bonus
2026-10-23 11:25:00 +02:00
test_sick.py
earned_time 0.13.0: sick day = 20:00 + gaming pay of what was done (was max(20:00, earned))
2026-10-17 17:27:34 +02:00
test_tutor_ledger.py
earned_time 0.10.0: tutor quota per weekday (15 min Tue-Thu, 30 Mon/Fri, 50 Sat/Sun for the full 60)
2026-10-12 21:07:03 +02:00
test_tutor_minutes.py
earned_time tests: ruff import order + format (CI pre-commit red since 0.9.0)
2026-10-17 16:48:05 +02:00
test_tutor_quota.py
earned_time 0.10.0: tutor quota per weekday (15 min Tue-Thu, 30 Mon/Fri, 50 Sat/Sun for the full 60)
2026-10-12 21:07:03 +02:00
test_tutor.py
earned_time tests: ruff import order + format (CI pre-commit red since 0.9.0)
2026-10-17 16:48:05 +02:00
test_unified.py
earned_time 0.13.2: UNIFIED_FROM = 2026-10-18, the day after screen-locker's late-credit rule (46393fa)
2026-10-17 18:18:02 +02:00
test_waiver.py
earned_time 0.6.1: tutor cutover 2026-10-10; new-gate rungs spare the shutdown floor
2026-10-09 22:11:35 +02:00