build: relax requires-python from ==3.12.13 to >=3.12,<3.13
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FduW6Krm3PPQv3P5iwBYtx
This commit is contained in:
parent
50fa287d17
commit
3b2c7608a9
3 changed files with 14 additions and 3 deletions
|
|
@ -1 +1 @@
|
|||
3.12.13
|
||||
3.12
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
2
uv.lock
2
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'",
|
||||
|
|
|
|||
Loading…
Reference in a new issue