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
90 lines
3.1 KiB
TOML
90 lines
3.1 KiB
TOML
[project]
|
|
name = "core-versor"
|
|
version = "0.1.0"
|
|
description = "Versor Engine: cognitive field system on Cl(4,1) Conformal Geometric Algebra"
|
|
# 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",
|
|
"numpy>=1.26",
|
|
"pytest>=9.0.3",
|
|
"pytest-asyncio>=1.3.0",
|
|
"pytest-xdist>=3.6",
|
|
"psutil>=7.0",
|
|
"pyrage==1.2.4",
|
|
"pyyaml>=6.0",
|
|
"ruff>=0.15.12",
|
|
"datasets>=4.8.5",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"pytest-asyncio>=0.23",
|
|
"hypothesis>=6.100",
|
|
]
|
|
# ADR-0181 PR-6 — audio teacher / shadow lanes. Strictly optional: the
|
|
# deterministic compiler is the substrate; these models only label or align and
|
|
# are admitted as typed hints (sensorium.audio.teachers). Never runtime-required.
|
|
audio-whisper = ["openai-whisper>=20231117"]
|
|
audio-nemo = ["nemo_toolkit[asr]>=1.23"]
|
|
audio-clap = ["laion-clap>=1.1.6"]
|
|
audio-encodec = ["encodec>=0.1.1"]
|
|
|
|
[project.scripts]
|
|
core = "core.cli:main"
|
|
|
|
[tool.uv]
|
|
package = true
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = [
|
|
"algebra*",
|
|
"alignment*",
|
|
"benchmarks*",
|
|
"calibration*",
|
|
"chat*",
|
|
"core*",
|
|
"core_ingest*",
|
|
"demos*",
|
|
"engine_state*",
|
|
"evals*",
|
|
"field*",
|
|
"formation*",
|
|
"generate*",
|
|
"ingest*",
|
|
"packs*",
|
|
"morphology*",
|
|
"persona*",
|
|
"packs*",
|
|
"recognition*",
|
|
"scripts*",
|
|
"sensorium*",
|
|
"session*",
|
|
"teaching*",
|
|
"vault*",
|
|
"vocab*",
|
|
"workbench*",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|
|
markers = [
|
|
"quarantine: known-failing test tracked in conftest.py QUARANTINE registry when present; excluded from full-pytest CI gate. See docs/test-debt-quarantine.md.",
|
|
"uses_default_engine_state: test intentionally exercises the process default engine-state directory; opt out of per-test default isolation. See docs/issues/default-engine-state-test-hygiene.md.",
|
|
"slow: soak / bench / replay / proof / eval-matrix test that dominates suite wall-clock; classified in conftest.py SLOW_FILES/SLOW_TESTS (not in-file decorators). Fast lane: -m 'not quarantine and not slow'. See docs/testing-lanes.md.",
|
|
"requires_depth_packs: 3-lang (he/grc) depth tests require DEPTH_PACK_IDS packs to be resolvable/mounted; otherwise explicit skip with documented pack names. See plan for 3-lang unification.",
|
|
]
|