mirror of
https://github.com/kuhyx/steam-backlog-enforcer.git
synced 2026-11-10 19:27:04 +01:00
deps: earned_time 0.8.0 (per-minute tutor credit), fix stale 15-minute block comments
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (mypy, mypy, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (pylint, pylint, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (rest, , mypy,pylint) (push) Waiting to run
Tests / test (push) Waiting to run
Tests / web-coverage (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (mypy, mypy, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (pylint, pylint, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (rest, , mypy,pylint) (push) Waiting to run
Tests / test (push) Waiting to run
Tests / web-coverage (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e4c61442c2
commit
c518c44177
@ -110,7 +110,7 @@ repos:
|
||||
- --disable-error-code=list-item
|
||||
additional_dependencies:
|
||||
- types-requests
|
||||
- earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.7.0#subdirectory=earned_time
|
||||
- earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.8.0#subdirectory=earned_time
|
||||
|
||||
# ===========================================================================
|
||||
# PYLINT
|
||||
@ -130,7 +130,7 @@ repos:
|
||||
# (steam_backlog_enforcer._mcp_server).
|
||||
additional_dependencies:
|
||||
- aiohttp==3.14.4
|
||||
- earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.7.0#subdirectory=earned_time
|
||||
- earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.8.0#subdirectory=earned_time
|
||||
- howlongtobeatpy==1.0.24
|
||||
- mcp==2.3.0
|
||||
- pytest
|
||||
|
||||
@ -16,7 +16,7 @@ dependencies = [
|
||||
"websockets==17.2",
|
||||
# The earner registry (gaming budget terms); stdlib-only, so the root
|
||||
# daemon imports it from the desktop user's site-packages.
|
||||
"earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.7.0#subdirectory=earned_time",
|
||||
"earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.8.0#subdirectory=earned_time",
|
||||
]
|
||||
|
||||
# Optional extras. The `mcp` group is ONLY needed by the MCP server
|
||||
|
||||
@ -5,7 +5,7 @@ aiohttp==3.14.4
|
||||
bandit==1.9.4
|
||||
codespell==2.4.3
|
||||
coverage==7.16.2
|
||||
earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.7.0#subdirectory=earned_time
|
||||
earned-time @ git+https://github.com/kuhyx/utils@earned-time-v0.8.0#subdirectory=earned_time
|
||||
howlongtobeatpy==1.0.24
|
||||
mcp==2.3.0
|
||||
mypy==2.4.0
|
||||
|
||||
@ -184,7 +184,7 @@ def build_rules(rules: PlaytimeRules) -> dict[str, Any]:
|
||||
"name": earner.name,
|
||||
"label": earner.label,
|
||||
"earned_seconds": rules.earned_seconds.get(earner.name, 0.0),
|
||||
# The most a full day pays: the tutor's 4 blocks, not one.
|
||||
# The most a full day pays: the tutor's 60 minutes, not one.
|
||||
"bonus_seconds": _most(earner) * 60,
|
||||
}
|
||||
for earner in registry_for(datetime.now().astimezone().date())
|
||||
|
||||
@ -6,8 +6,9 @@ publishes HMAC-signed ``credit`` rows, so the shared reader is all it needs:
|
||||
it joins the budget with no code here.
|
||||
|
||||
A *counted* gate (the Automation tutor, from ``earned_time.TUTOR_FROM``) pays
|
||||
per unit -- each verified 15-minute block -- so :func:`ledger_units` reads its
|
||||
unit count for the day instead of a yes/no.
|
||||
per unit -- each verified active minute (earned_time >= 0.8; a legacy
|
||||
15-minute block row counts 15) -- so :func:`ledger_units` reads its unit
|
||||
count for the day instead of a yes/no.
|
||||
|
||||
:func:`first_credits` feeds ``earned_time.resolve`` each penalised earner's
|
||||
first real credit (earned_time >= 0.6), so a gate that never paid out costs
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
"""Tests for counted gate earners (the Automation tutor) in the gaming budget.
|
||||
|
||||
A counted gate pays per unit -- one verified 15-minute tutor block each --
|
||||
A counted gate pays per unit -- one verified active tutor minute each --
|
||||
so :func:`ledger_units` reads its unit count for the day and
|
||||
``resolve_budget`` turns it into gaming time through the registry. A stand-in
|
||||
counted earner is registered by patching ``earned_time.EARNERS``, which both
|
||||
|
||||
Loading…
Reference in New Issue
Block a user