The python-ci runner image ships ruff 0.9.7, which only recognizes
target-version values up to py313. Code still runs on Python 3.14;
this only affects which UP-rule suggestions ruff produces.
Durable fix is bumping RUFF_VERSION in CI-Runner/CI-python/Dockerfile
to 0.13+ and re-pushing the runner image — at which point we can flip
this back to py314. Inline comment in ruff.toml flags the future bump.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Forward-looking pin per operator direction ("build for the future and not
rebuild the past"). Touches everywhere a version is named so all
downstream artifacts (Dockerfiles, ruff config, package.json engines)
agree.
Python 3.14 (released Oct 2025) is the current stable. Node 22 is the
most recent LTS line still receiving updates (Maintenance LTS since
Oct 2025); Node 24 (released Apr 2026) goes Active LTS in Oct 2026 and
will be the natural next bump.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pins runtime and ML deps separately so the regular web image stays lean.
Configures ruff for py312 with bugbear, async, and pyupgrade lints enabled.
psycopg sync driver included up-front for alembic.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>