15b47777ae
Per FabledRulebook forgejo.md, toolchain versions live on the runner image, not in the workflow. Two changes here, paired with the runner image bump (RUFF_VERSION 0.9.7 -> 0.15.13 in CI-Runner/CI-python): - Drop "ruff>=0.9,<1.0" from ci.yml's pip install — the runner image's pre-installed ruff is authoritative now. Previously this constraint matched the existing 0.9.7 in the image so pip never upgraded. - Flip ruff.toml's target-version back to py314 now that the runner has a ruff new enough to know about it. Next bump path: edit RUFF_VERSION in CI-Runner/CI-python/Dockerfile, 'make push', done. No workflow churn. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>