mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-13 17:10:59 +01:00
earned_time 0.12.1: park UNIFIED_FROM (2027-01-01) until screen-locker's late-credit rule ships
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
67f14588f7
commit
2ec1c6e9b1
@ -40,7 +40,7 @@ never a same-day cut):
|
||||
The two floors are derived separately (`_resolve._shutdown_floor`), so the
|
||||
ladder cannot move a gaming minute.
|
||||
|
||||
**Unified ladder (0.12.0, `UNIFIED_FROM` 2026-10-18):** each rung pays what
|
||||
**Unified ladder (0.12.0; `UNIFIED_FROM` parked at 2027-01-01 in 0.12.1):** each rung pays what
|
||||
its earner pays in gaming (workout 120, LeetCode 60, reading 60, tutor 1/unit
|
||||
to 60), so the floor drops 18:50 -> 18:00 under the same 23:00 ceiling:
|
||||
nothing 3 h / 18:00, workout 5 h / 20:00, +LeetCode 21:00, +reading 22:00.
|
||||
@ -240,7 +240,7 @@ on the day itself is logged and does not count.
|
||||
## Install
|
||||
|
||||
```console
|
||||
pip install --user --break-system-packages --no-deps "earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.12.0#subdirectory=earned_time"
|
||||
pip install --user --break-system-packages --no-deps "earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.12.1#subdirectory=earned_time"
|
||||
```
|
||||
|
||||
The root `steam-backlog-enforcer.service` sets `HOME=/home/kuhy`, so it imports
|
||||
|
||||
@ -51,8 +51,10 @@ TUTOR_FROM: Final = date(2026, 10, 10)
|
||||
ANKI_WAIVED_FROM: Final = date(2026, 10, 9)
|
||||
# From this day every rung pays exactly the gaming time its earner pays
|
||||
# (:data:`UNIFIED_LADDER`, 0.12.0). It lowers the floor 18:50 -> 18:00, so it
|
||||
# lands the day after the deploy (2026-10-17), never on it.
|
||||
UNIFIED_FROM: Final = date(2026, 10, 18)
|
||||
# lands the day after the deploy, never on it. Parked (0.12.1) until
|
||||
# screen-locker's late-credit rule ships: an 18:00 floor without it locks out
|
||||
# a credit landing after the shutdown.
|
||||
UNIFIED_FROM: Final = date(2027, 1, 1)
|
||||
_SLEEP_MINUTES: Final = 8 * 60
|
||||
_DAY_MINUTES: Final = 24 * 60
|
||||
|
||||
|
||||
@ -29,7 +29,8 @@ def _day(day: date, **done: int) -> tuple[int, str]:
|
||||
|
||||
|
||||
def test_switch_is_the_day_after_the_deploy() -> None:
|
||||
assert date(2026, 10, 18) == UNIFIED_FROM
|
||||
assert date(2027, 1, 1) == UNIFIED_FROM # parked until the late-credit rule
|
||||
assert ladder_for(date(2026, 10, 18)) is TUTOR_LADDER
|
||||
assert ladder_for(EVE) is TUTOR_LADDER # deploy day keeps the old rungs
|
||||
assert ladder_for(UNIFIED_FROM) is UNIFIED_LADDER
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "earned-time"
|
||||
version = "0.12.0"
|
||||
version = "0.12.1"
|
||||
description = "Penalty-then-reward registry: what every gate app earns in gaming time and shutdown time"
|
||||
requires-python = ">=3.14"
|
||||
dependencies = []
|
||||
|
||||
Loading…
Reference in New Issue
Block a user