Add CTO navigation index

This commit is contained in:
Svrnty
2026-06-17 23:26:48 -04:00
parent a173335169
commit de9cd97ba8
3 changed files with 60 additions and 1 deletions
+25 -1
View File
@@ -13,6 +13,7 @@ ROOT = Path(__file__).resolve().parents[1]
REQUIRED_FILES = [
"AGENTS.md",
"README.md",
"INDEX.md",
"WORKBOARD.yaml",
"CONTEXT.md",
"docs/LEGACY-INGEST.md",
@@ -139,6 +140,16 @@ README_CONTRACT_SNIPPETS = [
"permission to activate Case, mutate target repos, call providers, read secrets, publish, deploy, or release",
]
INDEX_CONTRACT_SNIPPETS = [
"Route: `cto`.",
"Category: child-local CTO planning workspace for governed execution routing.",
"CTO owns child-local execution-routing planning",
"CTO is not Core authority, Runtime authority, Host Runtime authority",
"Do not activate Case as default backend, mutate target repositories",
"Stage: CLEAN.",
"Clean score: 100.",
]
REQUIRED_BRIEF_PHRASES = [
"Cortex governs.",
"Hermes controls.",
@@ -1902,6 +1913,14 @@ def main() -> int:
if snippet not in text:
errors.append(f"missing_readme_contract_snippet:{snippet}")
index = ROOT / "INDEX.md"
if index.is_file():
text = index.read_text(encoding="utf-8")
for snippet in INDEX_CONTRACT_SNIPPETS:
checked.append(f"index_contract_snippet:{snippet}")
if snippet not in text:
errors.append(f"missing_index_contract_snippet:{snippet}")
legacy_ingest = ROOT / "docs/LEGACY-INGEST.md"
if legacy_ingest.is_file():
text = legacy_ingest.read_text(encoding="utf-8")
@@ -3121,7 +3140,7 @@ def main() -> int:
checked.append(f"workboard_id:{issue_id}")
if issue_id not in text:
errors.append(f"missing_workboard_id:{issue_id}")
for issue_id in ["CTO-WORK-098", "CTO-WORK-099", "CTO-WORK-100", "CTO-WORK-101", "CTO-WORK-102"]:
for issue_id in ["CTO-WORK-098", "CTO-WORK-099", "CTO-WORK-100", "CTO-WORK-101", "CTO-WORK-102", "CTO-WORK-103"]:
checked.append(f"workboard_id:{issue_id}")
if issue_id not in text:
errors.append(f"missing_workboard_id:{issue_id}")
@@ -3225,6 +3244,7 @@ def main() -> int:
"CTO-WORK-100": "validated",
"CTO-WORK-101": "validated",
"CTO-WORK-102": "validated",
"CTO-WORK-103": "validated",
}
for issue_id, expected in expected_statuses.items():
checked.append(f"workboard_status:{issue_id}:{expected}")
@@ -3335,6 +3355,10 @@ def main() -> int:
errors.append("workboard_missing_agent_contract_title")
if "source: AGENTS.md" not in text:
errors.append("workboard_missing_agent_contract_source")
if "CTO Navigation Index" not in text:
errors.append("workboard_missing_navigation_index_title")
if "source: INDEX.md" not in text:
errors.append("workboard_missing_navigation_index_source")
payload = {
"ok": not errors,