51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
"""Regression tests for research governance and main-chain documentation."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
def test_local_drafts_disposition_table_covers_all_june_drafts() -> None:
|
|
draft_dir = ROOT / "docs" / "research" / "local_drafts" / "2026-06"
|
|
disposition_doc = ROOT / "docs" / "research" / "local_drafts_2026_06_disposition.md"
|
|
|
|
text = disposition_doc.read_text(encoding="utf-8")
|
|
draft_names = sorted(path.name for path in draft_dir.glob("*.md"))
|
|
|
|
assert len(draft_names) == 93
|
|
missing = [name for name in draft_names if name not in text]
|
|
assert missing == []
|
|
assert text.count("| promote |") >= 20
|
|
assert "| archive |" in text
|
|
assert "| reference-only |" in text
|
|
assert ".workbuddy" in text
|
|
assert "Do not move or delete files in this pass" in text
|
|
|
|
|
|
def test_unique_main_chain_map_names_runtime_entrypoints_and_boundaries() -> None:
|
|
doc = ROOT / "docs" / "research" / "unique_main_chain_map_2026_07_01.md"
|
|
text = doc.read_text(encoding="utf-8")
|
|
|
|
required_tokens = [
|
|
"mcp_server.py",
|
|
"scripts/jyotish_api_server.py",
|
|
"scripts/unified_consultation_orchestrator.py",
|
|
"scripts/vedastro_service_adapter.py",
|
|
"scripts/historical_event_backtest.py",
|
|
"SKILL.md",
|
|
"references/strict-workflow-router.md",
|
|
"VedAstro official snapshot",
|
|
"rectification gate",
|
|
"historical event backtest",
|
|
".workbuddy",
|
|
]
|
|
for token in required_tokens:
|
|
assert token in text
|
|
|
|
assert "source of truth" in text.lower()
|
|
assert "must not import from `.workbuddy`" in text
|