chore/Python-version-pin · L-261023-540990

Merged
LC
12d ago
+29-5

The development interpreter is now pinned to 3.13 in .python-version, and the Makefile exports it as UV_PYTHON so every uv command uses it unless PYTHON_VERSION or UV_PYTHON asks for another. Each matrix job sets UV_PYTHON from its matrix version for the whole job and ends by asserting its interpreter, so a matrix can no longer silently test only the pinned version; this is the pilot of that pattern for the workspace.

Closes L-261023-540990

🤖 Generated with Claude Code

https://claude.ai/code/session_01TuqArJByf4EdN7khSDRiPe


Summary by cubic

Pins the development interpreter to 3.13 in .python-version and makes CI prove each matrix job actually runs the version it names.

  • The Makefile reads .python-version and exports it as UV_PYTHON, so every uv command agrees on one interpreter unless PYTHON_VERSION or UV_PYTHON asks for another.
  • CI matrix jobs set UV_PYTHON for the whole job and assert the interpreter matches, so a matrix can no longer silently test only the pinned version.
  • PYTHON_VERSION=<version> make install still builds .venv on another requires-python-supported version.