Record CTO endgoal completion audit

This commit is contained in:
Svrnty
2026-06-01 08:16:34 -04:00
parent de65c11f5f
commit 5ca56a6c2e
5 changed files with 301 additions and 0 deletions
+66
View File
@@ -75,6 +75,9 @@ REQUIRED_FILES = [
".sot/03-PROTOCOLS/CTO-HERMES-LIVE-SMOKE-REMOTE-SYNC-PRD.md",
".sot/03-PROTOCOLS/CTO-HERMES-LIVE-SMOKE-REMOTE-SYNC-ISSUES.md",
".sot/03-PROTOCOLS/CTO-HERMES-LIVE-SMOKE-REMOTE-SYNC-CLOSEOUT.md",
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-PRD.md",
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-ISSUES.md",
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-CLOSEOUT.md",
".sot/03-PROTOCOLS/CTO-FIRST-REAL-GOVERNED-WORKFLOW-PRD.md",
".sot/03-PROTOCOLS/CTO-FIRST-REAL-GOVERNED-WORKFLOW-ISSUES.md",
".sot/03-PROTOCOLS/CTO-FIRST-REAL-GOVERNED-WORKFLOW-APPROVAL-PACKET.md",
@@ -407,6 +410,32 @@ REQUIRED_HERMES_LIVE_SMOKE_REMOTE_SYNC_PHRASES = [
"This closeout does not authorize another Case run.",
]
REQUIRED_ENDGOAL_COMPLETION_AUDIT_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"CTO endgoal completion audit",
"CTO-WORK-076",
"CTO-WORK-077",
"completion_status: complete",
"transportability proof sufficient",
"transportability evidence: repo-backed routes, remote plugin sync, validators, and no vendor edits",
"active goal completion evidence recorded",
"Cortex governs: proven",
"Hermes controls: proven",
"CTO routes: proven",
"Harness proves: proven",
"Case executes only after proof: proven",
"bounded code changes with evidence: proven",
"target repos stay owned and protected: proven",
"default status is earned not assumed: proven",
"candidate-default evidence: proven",
"Runtime default activation remains false.",
"CTO-WORK-071",
"CTO-WORK-075",
"Stage 6 candidate-default evidence",
"Do not activate Case as default backend.",
"This audit does not authorize another Case run.",
]
REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_EVIDENCE_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"CTO-WORK-057",
@@ -1703,6 +1732,41 @@ def main() -> int:
if phrase not in text:
errors.append(f"missing_hermes_live_smoke_remote_sync_closeout_phrase:{phrase}")
endgoal_completion_audit_prd = ROOT / ".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-PRD.md"
if endgoal_completion_audit_prd.is_file():
text = endgoal_completion_audit_prd.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("endgoal_completion_audit_prd_missing_not_promoted_frontmatter")
for phrase in REQUIRED_ENDGOAL_COMPLETION_AUDIT_PHRASES:
checked.append(f"endgoal_completion_audit_prd_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_endgoal_completion_audit_prd_phrase:{phrase}")
endgoal_completion_audit_issues = ROOT / ".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-ISSUES.md"
if endgoal_completion_audit_issues.is_file():
text = endgoal_completion_audit_issues.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("endgoal_completion_audit_issues_missing_not_promoted_frontmatter")
for phrase in REQUIRED_ENDGOAL_COMPLETION_AUDIT_PHRASES:
checked.append(f"endgoal_completion_audit_issue_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_endgoal_completion_audit_issue_phrase:{phrase}")
endgoal_completion_audit_closeout = ROOT / ".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-CLOSEOUT.md"
if endgoal_completion_audit_closeout.is_file():
text = endgoal_completion_audit_closeout.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("endgoal_completion_audit_closeout_missing_not_promoted_frontmatter")
for phrase in [
"status: validated",
"Transportable CTO stack | proven",
"The CTO endgoal is complete under the pragmatic transportability standard.",
*REQUIRED_ENDGOAL_COMPLETION_AUDIT_PHRASES,
]:
checked.append(f"endgoal_completion_audit_closeout_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_endgoal_completion_audit_closeout_phrase:{phrase}")
hermes_real_refresh_control_replay_evidence = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-EVIDENCE.md"
if hermes_real_refresh_control_replay_evidence.is_file():
text = hermes_real_refresh_control_replay_evidence.read_text(encoding="utf-8")
@@ -2329,6 +2393,8 @@ def main() -> int:
"CTO-WORK-073": "validated",
"CTO-WORK-074": "validated",
"CTO-WORK-075": "validated",
"CTO-WORK-076": "validated",
"CTO-WORK-077": "validated",
}
for issue_id, expected in expected_statuses.items():
checked.append(f"workboard_status:{issue_id}:{expected}")