mirror of
https://github.com/kuhyx/steam-backlog-enforcer.git
synced 2026-11-10 18:07:07 +01:00
Renames this repo's markdown onto README.md / CLAUDE*.md / DOCS*.md / TODO*.md so a future session can tell a live task from a finished record without reading the file to find out. TODO files carry the literal "REMOVE ME AFTER FINISH" and are deleted when the work lands. Enforced by the md-naming pre-commit hook and CI workflow, both delegating to the shared gate in kuhyx/utils so this repo's idea of a valid name cannot drift from every other repo's. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A47aX5DJwmA3QFn3pkEWi7
2.3 KiB
2.3 KiB
do NOT run tests unless specifically instructed to do so or before committing If tests fail on the same issue twice in a row, STOP and ask the user how to proceed instead of continuing to fix and retry. ALWAYS confirm that the feature you add / bug you fixed behaves as it should by running the program after your changes (not tests!) and inspecting output comparing it with what user wanted, after confirming by yourself ask user if the program behaves as they intended After running tests fix all coverage gaps and issues, do not ignore unless specifically instructed to do so
@/home/kuhy/.claude/rules/typescript-5-es2022.instructions.md
Steam Backlog Enforcer Notes
- Fixed in commit 8b7bdb6: conftest.py safety net redirects all filesystem paths (STEAMAPPS_PATH, CONFIG_DIR, STATE_FILE, etc.) to tmp_path. Tests are safe to run without asking about state.json first.
- The pre-commit
pytest-coveragehook is currently broken (measures all of python_pkg at 100%, not just the changed subpackage). There's an in-progress fix viascripts/pytest_changed_packages.py+.pre-commit-config.yamlchange that still needs lint fixes. - Clearing
hltb_cache.jsonalone is not enough forrun.sh/donereassignment:snapshot.jsonalso storescompletionist_hours, and stale snapshot values can still drive reassignment decisions unless refreshed. - After fixing Steam Backlog Enforcer logic, always run a live verification pass with
python_pkg/steam_backlog_enforcer/run.sh(or equivalent command) before declaring the fix done. - cmd_done completion path can pick next game from snapshot-only hours; keep it aligned with HLTB cache/refresh before pick_next_game to avoid prologue-derived stale times (e.g., A Space 0.56h while cache has ~20h).
- HLTB renames games (e.g., "Needy Streamer Overload" → "NEEDY GIRL OVERDOSE"). The old name lives in
game_alias. Bothgame_nameandgame_aliasmust be checked when matching — fixed in_pick_best_hltb_entry. - ALWAYS clear HLTB cache and re-run
run.shafter changing the HLTB picking/matching algorithm. Delete~/.config/steam_backlog_enforcer/hltb_cache.json(entire file, not just one entry) so all games get re-matched with the new logic. Then run./run.shto verify correct results. Stale cache entries from the old algorithm will persist and hide bugs otherwise.