Adopts upstream's 3.13 bump. Also renames the uv cache key from py311
to py313 so a 3.11-built .venv is not restored under the 3.13
interpreter, and updates .python-version so local uv runs match CI.
pyproject requires-python stays >=3.11; 3.13 satisfies it and the
existing uv.lock resolves unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>