Context
Surfaced while reviewing the lock refresh (PR #40). Fixed in the same PR.
Problem / Current Behaviour
tests/data/mkdocs-deploy/test-custom-configuration/pyproject.toml declares no requires-python, so uv lock
derives the lock's floor from the locking machine's interpreter. Locking on Python 3.12 narrows the lock to
requires-python >=3.12, which then fails the Python 3.11 test-matrix leg (uv sync --frozen: "not compatible
with locked >=3.12"), and uv lock --check disagrees with itself across interpreters. origin/main has this latent
trap today (its lock only survives because a prior commit hand-pinned the floor).
Affected locations
| File |
Note |
tests/data/mkdocs-deploy/test-custom-configuration/pyproject.toml |
[project] has no requires-python |
Proposed Solution
Declare requires-python = ">=3.11" in the fixture's pyproject.toml (its consuming jobs run 3.11/3.12/3.13, never
3.10). The lock floor becomes deterministic regardless of the locking interpreter.
Out of Scope
The five sibling mkdocs fixtures that only run on the 3.12 default are intentionally left without requires-python.
Effort Estimate
Size: XS
Definition of Done
Context
Surfaced while reviewing the lock refresh (PR #40). Fixed in the same PR.
Problem / Current Behaviour
tests/data/mkdocs-deploy/test-custom-configuration/pyproject.tomldeclares norequires-python, souv lockderives the lock's floor from the locking machine's interpreter. Locking on Python 3.12 narrows the lock to
requires-python >=3.12, which then fails the Python 3.11 test-matrix leg (uv sync --frozen: "not compatiblewith locked >=3.12"), and
uv lock --checkdisagrees with itself across interpreters.origin/mainhas this latenttrap today (its lock only survives because a prior commit hand-pinned the floor).
Affected locations
tests/data/mkdocs-deploy/test-custom-configuration/pyproject.toml[project]has norequires-pythonProposed Solution
Declare
requires-python = ">=3.11"in the fixture'spyproject.toml(its consuming jobs run 3.11/3.12/3.13, never3.10). The lock floor becomes deterministic regardless of the locking interpreter.
Out of Scope
The five sibling mkdocs fixtures that only run on the 3.12 default are intentionally left without
requires-python.Effort Estimate
Size:
XSDefinition of Done
requires-python = ">=3.11"declared in the fixture pyprojectuv lock --checkpasses on both 3.11 and 3.12 (no package versions change)