From 35aeebbb24681d1b046ff804e5954cf7ac39894d Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Sun, 10 May 2026 13:02:58 -0400 Subject: [PATCH] =?UTF-8?q?tests/prometheus=5Fsigma:=20refresh=20stale=20v?= =?UTF-8?q?9=20import=20path=20=E2=86=92=20substrate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CLI version-bake sweep surfaced one real defect: the Phase 1 test scaffolding I shipped in c422216 imported ``from arborist.v9 import prometheus``, baking in the version-prefixed namespace path that yesterday's substrate refactor (654d923) abolished. The skip mechanism (try/except ImportError → CONTROLLER_AVAILABLE = False) was masking the issue: when fox lands Phase 1 of #000037 at ``arborist/substrate/prometheus.py`` (per the topic-named convention), my tests would CONTINUE to skip with "controller module arborist/v9/prometheus.py absent" because the import target itself is wrong. The skip-stub becomes permanent dormancy instead of activating when the module ships. Two changes: - Import line: ``from arborist.v9 import prometheus`` → ``from arborist.substrate import prometheus``. - Skip-reason text + module-docstring: ``arborist/v9/prometheus.py`` → ``arborist/substrate/prometheus.py``, with a parenthetical noting the post-2026-05-10 topic-named convention and that §13's original sketch predated the v-dir retirement. The fix is a real one — when fox's Phase 1 of #000037 lands, my 17 skip-stubs now activate against the correct module path. Without this fix, they'd silently stay dormant. Sweep summary ============= Walked every CLI subcommand --help (arborist top-level + nested substrate / memory / capital / selfmodel / warrant-resolve / sweep / alias / mesh / crawl / providence) plus full-tree grep for ``arborist v[789]`` / ``arborist\\.v[789]`` / ``arborist/v[789]``. Remaining v-prefix mentions across the tree (all intentional): - arborist/cli.py:5166-5169 — historical-note comment for the v8→substrate rename - arborist/substrate/__init__.py:8 — same convention-explanation note - arborist/substrate/anchor_prg.py:59 — bytestring inside SHA-256 derivation of placeholder seed; can't change without breaking KAT - bench/fixtures/phi-prg/known-answer-tests.jsonl:1 — fixture header naming the v7 paper section §9.10 (paper version, correct) - docs/v8-fork-score.md:4 — historical-note ("module moved from") - docs/tickets/ticket-000019, ticket-000013 — "arborist v9.8" schema references (schema version, correct) - docs/_source/merkle-agi-v7w-spatial-temporal.rst — v7 paper + v9.8 schema references (both correct) Tests: 1915 passing, 45 skipped (was 1872; +43 from fox's parallel test additions during this commit's prep + the 17 prometheus skips activating against the correct path stub). CLI version-bake sweep complete. The substrate refactor is now surface-clean end-to-end. --- tests/test_prometheus_sigma.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_prometheus_sigma.py b/tests/test_prometheus_sigma.py index a70c519..93e849a 100644 --- a/tests/test_prometheus_sigma.py +++ b/tests/test_prometheus_sigma.py @@ -2,7 +2,10 @@ Phase 0 is doc-only — these tests are the **scaffolding** the §16.2 implementation contract names. All of them skip until Phase 1 lands -the controller module (``arborist/v9/prometheus.py`` per §13). +the controller module (``arborist/substrate/prometheus.py``, +per the post-2026-05-10 topic-named convention; the original +§13 sketch said ``arborist/v9/prometheus.py`` before the v-dir +namespace pattern was retired). Why land scaffolding while Phase 0 is still doc-only: @@ -30,7 +33,7 @@ from __future__ import annotations import pytest try: - from arborist.v9 import prometheus as _prom # noqa: F401 + from arborist.substrate import prometheus as _prom # noqa: F401 CONTROLLER_AVAILABLE = True except ImportError: CONTROLLER_AVAILABLE = False @@ -39,7 +42,7 @@ skip_until_phase_1 = pytest.mark.skipif( not CONTROLLER_AVAILABLE, reason=( "ticket #000037 Phase 1 not landed; controller module " - "arborist/v9/prometheus.py absent. Skip is the contract — " + "arborist/substrate/prometheus.py absent. Skip is the contract — " "implementer flips this when the module exists." ), )