utils/earned_time/earned_time
Krzysztof kuhy Rudnicki 9733a29a65
Some checks failed
dependency freshness / dependencies on newest stable (push) Has been cancelled
earned_time pre-commit / pre-commit (push) Has been cancelled
earned_time tests / test (push) Has been cancelled
file length / file-length (push) Has been cancelled
md-naming / markdown naming convention (push) Has been cancelled
palette drift / palette (push) Has been cancelled
repo-contract / repo contract (push) Has been cancelled
shared gate tests / gate unit tests (push) Has been cancelled
earned_time 0.16.0: leisure=None|True|False, so the gaming day decides (C6)
resolve()/base_for(leisure=) is now tri-state: None (default) decides by
the switch file on `day`, True forces leisure pricing (the shadow budget),
False forces the old base and cap. A consumer billing on the 06:00 gaming
day passes leisure_active(gaming_day), so 00:00-05:59 on the go-live date
no longer prices the eve with the +2 h leisure base/cap.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dsh4Znwh2KnC7q6vbGpX1N
2026-10-19 16:58:27 +02:00
..
tests earned_time 0.16.0: leisure=None|True|False, so the gaming day decides (C6) 2026-10-19 16:58:27 +02:00
__init__.py earned_time 0.16.0: leisure=None|True|False, so the gaming day decides (C6) 2026-10-19 16:58:27 +02: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.9.0: tutor earner renamed AUTOMATION_TUTOR/automation -> TUTOR/tutor, ledger ~/.local/share/tutor 2026-10-12 16:31:50 +02:00
_credits.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
_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
_ladder.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
_ledger.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
_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.8.0: Automation tutor paid per active minute (legacy 15-min block rows count 15) 2026-10-10 15:47:15 +02:00
_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
_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.9.0: tutor earner renamed AUTOMATION_TUTOR/automation -> TUTOR/tutor, ledger ~/.local/share/tutor 2026-10-12 16:31:50 +02: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.16.0: leisure=None|True|False, so the gaming day decides (C6) 2026-10-19 16:58:27 +02: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