testsAndMisc/docs/superpowers/evidence/protondb-gold-silver-fix.json

36 lines
1.6 KiB
JSON

{
"intent": "Fix ProtonDB acceptance rule so gold+silver combinations are accepted, and add explicit skip-reason logging.",
"scope": [
"python_pkg/steam_backlog_enforcer/protondb.py",
"python_pkg/steam_backlog_enforcer/scanning.py",
"python_pkg/steam_backlog_enforcer/tests/test_protondb.py",
"python_pkg/steam_backlog_enforcer/tests/test_scanning.py",
"No changes to config, API clients, or other modules"
],
"changes": [
"Updated is_playable: both ratings must be >= silver AND at least one must be gold+",
"Added unplayable_reason property returning terse diagnostic string",
"Updated _pick_playable_candidate skip log to include unplayable_reason",
"Added/updated tests for new acceptance rule and unplayable_reason"
],
"verification": [
{
"command": "pre-commit run --files python_pkg/steam_backlog_enforcer/protondb.py python_pkg/steam_backlog_enforcer/scanning.py python_pkg/steam_backlog_enforcer/tests/test_protondb.py python_pkg/steam_backlog_enforcer/tests/test_scanning.py",
"result": "pass",
"evidence": "All hooks passed (trim whitespace, ruff, ruff-format, codespell, etc.)"
},
{
"command": "pytest python_pkg/steam_backlog_enforcer/tests/",
"result": "pass",
"evidence": "63 passed, 0 failed"
}
],
"risks": [
"Games with gold+silver were previously rejected; they will now be assigned — intended behaviour change"
],
"rollback": [
"Revert is_playable to require both ratings to be gold+",
"Validate with pytest python_pkg/steam_backlog_enforcer/tests/"
]
}