{ "intent": "Turn the Python tests CI workflow green. It has failed since ~2026-08-19 in 'Install dependencies' with pip's resolution-too-deep error, so no Python test has actually run in CI for days.", "scope": [ "meta/requirements.txt (root requirements.txt is a symlink to it)", "Non-goal: pinning the other 78 unpinned dependencies, which would be a much larger change" ], "changes": [ "Removed mitmproxy>=10.0. The CI log shows the resolver backtracking endlessly through Brotli 1.0.6/1.0.4/1.0.1 and asgiref 3.8.0/3.7.1/3.6.0, all pulled in by mitmproxy, before giving up.", "It is safe to remove: nothing under python_pkg/ imports mitmproxy, and `git grep mitmproxy` finds it only in a pacman whitelist and a docs file. check_requirements_sync.py passes without it." ], "verification": [ { "command": "python3.11 -m venv; pip install --dry-run -r ", "result": "fail", "evidence": "exit 1, 'error: resolution-too-deep' -- the CI failure reproduced locally on Python 3.11.11 with pip 26.2.1, the same versions CI uses" }, { "command": "pip install --dry-run -r in the same venv", "result": "pass", "evidence": "exit 0, resolution completes" }, { "command": "python3 meta/scripts/check_requirements_sync.py --package python_pkg", "result": "pass", "evidence": "exit 0 -- no python_pkg import needs the dropped package" } ], "risks": [ "If a future script wants mitmproxy it must be re-added, and the resolver problem returns. Pinning it to an exact version would be the way back in.", "The underlying fragility remains: 78 of 80 requirements are unpinned >= ranges, so another wide-dependency package could reintroduce this." ], "rollback": [ "Re-add 'mitmproxy>=10.0' to meta/requirements.txt in sorted position.", "Expect Python tests CI to go red again at the Install dependencies step." ] }