{ "title": "Fix Steam library hider crash on invalid AppIDs", "objective": "hide_other_games() crashes with RuntimeError 'JS evaluation error: Unknown JS error' because SetAppsAsHidden() throws in Steam's AddApps internals when fed AppIDs that are not recognised game entries (e.g. DLC/tool IDs returned by get_all_owned_app_ids via include_played_free_games). The fix makes the JS resilient via a safeHide() binary-search fallback that silently skips rejected IDs, and improves error reporting so future JS failures show the real exception message.", "acceptance_criteria": [ "hide_other_games() completes without RuntimeError when owned list contains invalid AppIDs", "Valid game IDs are still hidden correctly", "Invalid/unrecognised AppIDs are silently skipped (not fatal)", "CDP exception messages include the actual JS error text instead of 'Unknown JS error'", "All 590 existing tests continue to pass at 100% coverage" ], "out_of_scope": [ "Filtering invalid AppIDs on the Python side before passing to JS", "Changing which AppIDs get_all_owned_app_ids() returns" ], "verifier": "python -m pytest python_pkg/steam_backlog_enforcer/tests/ -x -q && pre-commit run --files python_pkg/steam_backlog_enforcer/library_hider.py" }