Go to file
Krzysztof kuhy Rudnicki b8bd8459e4 fix: HLTB count_comp=0 bug, false matches, and ProtonDB log noise
- Extract count_comp from detail page in _apply_detail_to_extras so the
  all-playstyles completion count is populated even when the search API
  returns 0 (Mini Ghost: 0 → 69, now passes confidence thresholds)
- Fix _refresh_candidate_confidence to trigger re-fetch when count_comp==0
  even if comp_100_count>0 (was silently skipping stale partial entries)
- Filter colon-stripped fallback candidates (e.g. "Vox Populi" from
  "Vox Populi: Poland 2023") to full-edition or exact matches only,
  preventing cross-franchise false positives
- Demote "All N ProtonDB ratings found in cache" log to DEBUG to remove
  per-game noise from the scan output

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 20:40:51 +02:00
.github/workflows chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
steam_backlog_enforcer fix: HLTB count_comp=0 bug, false matches, and ProtonDB log noise 2026-05-28 20:40:51 +02:00
.gitignore chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
.pre-commit-config.yaml chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
install.sh chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
pyproject.toml chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
README.md chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
requirements.txt chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
run.sh chore: set up as standalone repo 2026-05-28 07:21:29 +02:00
steam-backlog-enforcer.service chore: set up as standalone repo 2026-05-28 07:21:29 +02:00

Steam Backlog Enforcer

Forces you to 100% complete one Steam game at a time before moving on.

Features

  • Achievement tracking: Picks the next game by shortest HLTB completionist time
  • Store blocking: Blocks store.steampowered.com via /etc/hosts
  • Game uninstalling: Removes all installed games except the assigned one
  • Process enforcement: Kills unauthorized game processes
  • Tampering detection: Detects achievement unlocks on non-assigned games
  • HLTB integration: Estimates completion time with persistent cache

Setup

python -m python_pkg.steam_backlog_enforcer.main setup

Commands

Command Description
scan Scan library, fetch HLTB data, assign game
check Check if assigned game is complete
status Show current assignment and blocking
list List incomplete games from snapshot
skip Skip the currently assigned game
enforce Run enforcer (block, uninstall, kill)
unblock Remove store blocking
reset Reset all state
installed List currently installed Steam games
uninstall Interactively uninstall non-assigned games
setup First-time configuration

Enforce mode

sudo python -m python_pkg.steam_backlog_enforcer.main enforce

This will:

  1. Block Steam store in /etc/hosts
  2. Uninstall all games except the assigned one
  3. Continuously kill any unauthorized game processes

Game Uninstall

Directly removes appmanifest files and game directories from ~/.local/share/Steam/steamapps/. Preserves Proton versions and Steam Linux Runtime.

python -m python_pkg.steam_backlog_enforcer.main uninstall