From 3b2c7608a974366d1ba9b35b4cd65612843fd867 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 25 Jul 2026 14:05:02 +0000 Subject: [PATCH] build: relax requires-python from ==3.12.13 to >=3.12,<3.13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The exact patch pin made every gate unrunnable on any host without that precise build. cpython-3.12.13 is not published for linux-x86_64, so `uv sync --locked` failed outright there and there was no local run at all — for a project whose merge bar IS the local run, that is the failure mode that matters. It is how test_lane_sha_verifier.py and 99 register-matrix tests sat red on clean main without anyone seeing them. Safe because the pin was not load-bearing for reproducibility: the committed trace_hash / content_sha256 / lane-SHA pins were established under 3.12.13 and reproduce byte-for-byte under 3.12.11 (119 hash-pinned tests, 118 pass; the one failure is a stale lane roster that fails on 3.12.13 too). The minor version stays bounded — 3.13 is a real upgrade decision, not a patch bump. .python-version follows to "3.12" so uv resolves any patch release. [Verification]: `uv lock` regenerated — the ENTIRE diff is one line, requires-python "==3.12.13" -> "==3.12.*". All 217 packages resolve to identical versions; no dependency moved. `uv sync --locked` now succeeds on linux-x86_64, which it could not do before this change. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01FduW6Krm3PPQv3P5iwBYtx --- .python-version | 2 +- pyproject.toml | 13 ++++++++++++- uv.lock | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.python-version b/.python-version index 28d9a01b..e4fba218 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.12.13 +3.12 diff --git a/pyproject.toml b/pyproject.toml index 02a81718..b0092b10 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,18 @@ name = "core-versor" version = "0.1.0" description = "Versor Engine: cognitive field system on Cl(4,1) Conformal Geometric Algebra" -requires-python = "==3.12.13" +# Relaxed from "==3.12.13" on 2026-07-25. The exact patch pin made every gate +# unrunnable on any host without that precise build — including linux-x86_64, +# for which cpython-3.12.13 is not published, so `uv sync --locked` failed +# outright and there was no local run at all. For a project whose merge bar IS +# the local run, that is the failure mode that matters. +# +# Safe because the pin was not load-bearing for reproducibility: the committed +# trace_hash / content_sha256 / lane-SHA pins were established under 3.12.13 +# and reproduce byte-for-byte under 3.12.11 (119 hash-pinned tests, 118 pass; +# the one failure is a stale lane roster that fails on 3.12.13 too). Minor +# version stays bounded — 3.13 is a real upgrade decision, not a patch bump. +requires-python = ">=3.12,<3.13" dependencies = [ "hypothesis>=6.152.7", diff --git a/uv.lock b/uv.lock index ad434a10..4aaffdd3 100644 --- a/uv.lock +++ b/uv.lock @@ -1,6 +1,6 @@ version = 1 revision = 3 -requires-python = "==3.12.13" +requires-python = "==3.12.*" resolution-markers = [ "sys_platform == 'win32'", "sys_platform == 'emscripten'",