Private
Public Access
0
0
Files
manual_slop/tests/test_directive_structure.py
T
ed 6a3c142bfa test: migrate src.models bare imports + PROVIDERS/Metadata sub-imports to direct subsystems
Removed 18 unused 'from src import models' imports. Migrated the
explicit sub-imports:
- 'from src.models import PROVIDERS' -> 'from src.ai_client import PROVIDERS'
  (test_minimax_provider x2, test_deepseek_infra)
- 'from src.models import Metadata' -> 'from src.type_aliases import Metadata'
  (test_project_manager_tracks, test_track_state_persistence, test_track_state_schema)

Kept the 2 'import src.models as models' in test_provider_curation +
test_providers_source_of_truth (they verify the backward-compat shim
still re-exports PROVIDERS) and the 2 self-tests
(test_models_no_top_level_pydantic + test_models_no_top_level_tomli_w)
that exercise the shim's no-leak invariants.
2026-07-05 20:12:17 -04:00

45 lines
1.3 KiB
Python

import re
from pathlib import Path
DIRECTIVES_DIR = Path("conductor/directives")
SKIP_DIRS = {"presets"}
def _iter_directive_subdirs() -> list[Path]:
if not DIRECTIVES_DIR.is_dir():
return []
return sorted(
p for p in DIRECTIVES_DIR.iterdir()
if p.is_dir() and p.name not in SKIP_DIRS
)
def test_every_directive_has_v1_and_meta() -> None:
missing: list[tuple[str, str]] = []
for sub in _iter_directive_subdirs():
for fname in ("v1.md", "meta.md"):
if not (sub / fname).is_file():
missing.append((sub.name, fname))
assert not missing, f"Directives missing required files: {missing}"
def test_every_meta_md_references_directive_name() -> None:
mismatches: list[str] = []
for sub in _iter_directive_subdirs():
meta = sub / "meta.md"
if not meta.is_file():
continue
text = meta.read_text(encoding="utf-8")
if not re.search(rf"^#\s*{re.escape(sub.name)}\b", text, re.MULTILINE):
mismatches.append(sub.name)
assert not mismatches, f"meta.md headers mismatch directory name: {mismatches}"
def test_every_v1_md_starts_with_heading() -> None:
bad: list[str] = []
for sub in _iter_directive_subdirs():
v1 = sub / "v1.md"
if v1.is_file() and not re.match(r"^#\s+", v1.read_text(encoding="utf-8", errors="ignore")):
bad.append(sub.name)
assert not bad, f"v1.md missing top-level heading: {bad}"