Completes the recommended fix in docs/issues/default-engine-state-test-hygiene.md.
The root conftest autouse fixture already redirected engine_state._DEFAULT_DIR
per test (the in-process half, req #1); this adds the two missing halves:
- monkeypatch.setenv("CORE_ENGINE_STATE_DIR", isolated) so subprocess / CLI
tests that re-import engine_state in a child process inherit the same
isolation (req #2). A child that sets its own env still overrides and wins.
- @pytest.mark.uses_default_engine_state opt-out (registered in pyproject.toml)
for tests that intentionally exercise the real process-default dir (req #3).
Adds tests/test_conftest_engine_state_isolation.py: non-vacuous proof that each
half fires and that the marker opts out; each assertion fails if its half is
removed (CLAUDE.md "Schema-Defined Proof Obligations").
Validation: full serial baseline on origin/main (95a06a20) = 38 pre-existing
reds (21 failed + 17 error). The only new behavior over baseline is the setenv,
whose sole live effect is child processes; a full re-run of the subprocess/CLI
blast radius shows zero new failures, and the documented test_achat
identity-continuity warning is gone. Does NOT add -n auto adoption or the
fresh-env-dict subprocess hermeticity fix (tracked separately).
65 lines
1.7 KiB
TOML
65 lines
1.7 KiB
TOML
[project]
|
|
name = "core-versor"
|
|
version = "0.1.0"
|
|
description = "Versor Engine: cognitive field system on Cl(4,1) Conformal Geometric Algebra"
|
|
requires-python = ">=3.11"
|
|
|
|
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.3",
|
|
"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.setuptools.packages.find]
|
|
where = ["."]
|
|
include = [
|
|
"algebra*",
|
|
"alignment*",
|
|
"chat*",
|
|
"core*",
|
|
"field*",
|
|
"formation*",
|
|
"generate*",
|
|
"ingest*",
|
|
"language_packs*",
|
|
"morphology*",
|
|
"persona*",
|
|
"recognition*",
|
|
"sensorium*",
|
|
"session*",
|
|
"vault*",
|
|
"vocab*",
|
|
"workbench*",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|
|
markers = [
|
|
"quarantine: pre-existing failure tracked in conftest.py QUARANTINE registry; 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.",
|
|
]
|