utils/earned_time/earned_time
Krzysztof kuhy Rudnicki 17e300af0a
Some checks failed
dependency freshness / dependencies on newest stable (push) Waiting to run
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
palette drift / palette (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
shared gate tests / gate unit tests (push) Waiting to run
earned_time pre-commit / pre-commit (push) Has been cancelled
earned_time tests / test (push) Has been cancelled
focus-project pre-commit / pre-commit (push) Has been cancelled
focus-project tests / test (push) Has been cancelled
focus_project: pin backing edge cases and pay
Tests only: sql_drills/leetcode beats back, other-project and browser
beats don't, submissions back only leetcode projects, the cutover
midnight, a tutor chain leaves earlier reading unbacked; earned_time
pays 0 units for a timer-only post-cutover day (real focus_project).

Todo: fda71ed1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 16:38:48 +01:00
..
tests focus_project: pin backing edge cases and pay 2026-11-10 16:38:48 +01:00
__init__.py earned_time 0.19.0: focus project earner 2026-11-02 08:23:50 +01:00
__main__.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
_cli.py earned_time 0.19.0: focus project earner 2026-11-02 08:23:50 +01:00
_credits.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
_evidence.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
_focus.py earned_time 0.21.0: focus day pays 240 gaming 2026-11-02 15:22:10 +01:00
_ladder.py earned_time 0.19.0: focus project earner 2026-11-02 08:23:50 +01:00
_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
_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
_match.py earned_time 0.19.0: focus project earner 2026-11-02 08:23:50 +01:00
_maturity.py earned_time 0.19.0: focus project earner 2026-11-02 08:23:50 +01:00
_policy.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
_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
_registry.py earned_time 0.19.0: focus project earner 2026-11-02 08:23:50 +01:00
_resolution.py sickdays 0.1.0 + earned_time 0.11.0: uncapped sick-day pool, 20:00 sick shutdown floor 2026-10-16 08:23:00 +02:00
_resolve.py earned_time 0.21.0: focus day pays 240 gaming 2026-11-02 15:22:10 +01:00
_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