Files
Jyotisha/tests/test_research_governance_docs.py
T
2026-07-01 19:15:35 +08:00

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