tests/prometheus_sigma: refresh stale v9 import path → substrate

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.
This commit is contained in:
russell@unturf.com 2026-05-10 13:02:58 -04:00
parent 4fb467bbda
commit 35aeebbb24
No known key found for this signature in database

View file

@ -2,7 +2,10 @@
Phase 0 is doc-only these tests are the **scaffolding** the §16.2 Phase 0 is doc-only these tests are the **scaffolding** the §16.2
implementation contract names. All of them skip until Phase 1 lands 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: Why land scaffolding while Phase 0 is still doc-only:
@ -30,7 +33,7 @@ from __future__ import annotations
import pytest import pytest
try: try:
from arborist.v9 import prometheus as _prom # noqa: F401 from arborist.substrate import prometheus as _prom # noqa: F401
CONTROLLER_AVAILABLE = True CONTROLLER_AVAILABLE = True
except ImportError: except ImportError:
CONTROLLER_AVAILABLE = False CONTROLLER_AVAILABLE = False
@ -39,7 +42,7 @@ skip_until_phase_1 = pytest.mark.skipif(
not CONTROLLER_AVAILABLE, not CONTROLLER_AVAILABLE,
reason=( reason=(
"ticket #000037 Phase 1 not landed; controller module " "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." "implementer flips this when the module exists."
), ),
) )