Harden high-rigor Jyotish timing workflow
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user