From cad66c983f6468bafa3f51e666928eab3af9b5aa Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Sat, 17 Oct 2026 18:46:04 +0200 Subject: [PATCH] deps: latest stable pins (pillow 13, anthropic 1.15, ruff 0.17.1, ...) Fixes the red Pre-commit CI on main: dependency-freshness flagged anthropic, hypothesis, pipdeptree, pre-commit, reorder-python-imports, ruff and pillow. artgate + random_jpg (the PIL users) pass on pillow 13. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016Lhzv7c391mTKWfwU17V7Z --- .../deps-bump-pillow13-2026-10-17.json | 30 +++++++++++++++++++ meta/requirements-test.txt | 4 +-- meta/requirements.txt | 14 ++++----- python_pkg/random_jpg/requirements.txt | 2 +- 4 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 docs/superpowers/evidence/deps-bump-pillow13-2026-10-17.json diff --git a/docs/superpowers/evidence/deps-bump-pillow13-2026-10-17.json b/docs/superpowers/evidence/deps-bump-pillow13-2026-10-17.json new file mode 100644 index 00000000..d30b5e14 --- /dev/null +++ b/docs/superpowers/evidence/deps-bump-pillow13-2026-10-17.json @@ -0,0 +1,30 @@ +{ + "intent": "Turn main's red Pre-commit CI (dependency-freshness, 6+ findings since 6383bd74) green by moving every flagged pin to latest stable.", + "scope": [ + "meta/requirements.txt, meta/requirements-test.txt, python_pkg/random_jpg/requirements.txt", + "Non-goal: .pre-commit-config.yaml hook revs (not flagged)" + ], + "changes": [ + "anthropic 1.15.0, hypothesis 6.170.1, pipdeptree 4.2.8, pre-commit 4.7.0, reorder-python-imports 3.19.0, ruff 0.17.1", + "pillow 12.3.0 -> 13.0.0 (major) in all three manifests" + ], + "verification": [ + { + "command": "pre-commit run dependency-freshness --all-files", + "result": "pass", + "evidence": "dependencies on newest stable....Passed (was FAILED: 6 findings in CI run 38918522094)" + }, + { + "command": "python3 -m pytest -q python_pkg/artgate python_pkg/random_jpg (pillow 13.0.0 installed)", + "result": "pass", + "evidence": "128 passed in 0.21s; artgate and random_jpg are the only PIL importers" + }, + { + "command": "uv pip compile -q meta/requirements.txt / meta/requirements-test.txt", + "result": "pass", + "evidence": "both resolve, rc=0" + } + ], + "risks": ["pillow 13 major: API removals could hit untested PIL paths in artgate/random_jpg"], + "rollback": ["git revert this commit", "re-run pre-commit run dependency-freshness --all-files"] +} diff --git a/meta/requirements-test.txt b/meta/requirements-test.txt index 95a3e875..7344a8ac 100644 --- a/meta/requirements-test.txt +++ b/meta/requirements-test.txt @@ -21,14 +21,14 @@ # suite itself fails loudly here on a missing import. # ============================================================================== -anthropic==1.13.0 +anthropic==1.15.0 beautifulsoup4==4.15.0 coverage==7.16.2 defusedxml==0.7.1 genanki==0.13.1 markdownify==1.2.3 numpy==2.5.4 -pillow==12.3.0 +pillow==13.0.0 pytest==9.1.1 pytest-cov==7.1.0 pytest-randomly==5.0.0 diff --git a/meta/requirements.txt b/meta/requirements.txt index f8fbc051..3e982bf8 100644 --- a/meta/requirements.txt +++ b/meta/requirements.txt @@ -6,7 +6,7 @@ add-trailing-comma==4.0.0 aiohttp==3.14.5 -anthropic==1.13.0 +anthropic==1.15.0 autoflake==2.4.0 autopep8==2.3.2 bandit==1.9.4 @@ -39,7 +39,7 @@ gatelock @ git+https://github.com/kuhyx/utils@gatelock-v0.9.0#subdirectory=gatel genanki==0.13.1 geopandas==1.2.0 howlongtobeatpy==1.0.24 -hypothesis==6.169.0 +hypothesis==6.170.1 importlib-metadata==9.0.1 interrogate==1.7.0 # isort is deliberately not pinned: nothing here imports it (ruff's isort @@ -53,10 +53,10 @@ mccabe==0.7.0 mypy==2.4.0 numpy==2.5.4 opencv-python==5.0.0.93 -pillow==12.3.0 +pillow==13.0.0 pip-audit==2.10.1 -pipdeptree==4.2.7 -pre-commit==4.6.2 +pipdeptree==4.2.8 +pre-commit==4.7.0 prospector==1.19.1 pycodestyle==2.15.0 pydocstyle==6.3.0 @@ -74,10 +74,10 @@ python-chess==1.999 python-kasa==0.11.0.1 pyupgrade==3.22.0 radon==6.0.1 -reorder-python-imports==3.18.0 +reorder-python-imports==3.19.0 requests==2.34.2 rich==15.0.0 -ruff==0.17.0 +ruff==0.17.1 # safety is deliberately not pinned: its only reference in this repo is a # commented-out pre-commit hook, and safety 3.8.1 declares `typer<0.26`, # which would hold the typer this repo actually imports below latest. diff --git a/python_pkg/random_jpg/requirements.txt b/python_pkg/random_jpg/requirements.txt index 61b76ad1..67e52a84 100644 --- a/python_pkg/random_jpg/requirements.txt +++ b/python_pkg/random_jpg/requirements.txt @@ -1 +1 @@ -pillow==12.3.0 +pillow==13.0.0