Record real refresh control summary evidence

This commit is contained in:
Svrnty
2026-06-01 07:26:37 -04:00
parent 6d3e10ace1
commit be65b20cff
3 changed files with 122 additions and 2 deletions
+30 -1
View File
@@ -47,6 +47,7 @@ REQUIRED_FILES = [
".sot/03-PROTOCOLS/CTO-HERMES-CONTROL-SURFACE-ISSUES.md",
".sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-PRD.md",
".sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-ISSUES.md",
".sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-EVIDENCE.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",
@@ -134,6 +135,24 @@ REQUIRED_FIRST_REAL_WORKFLOW_APPROVAL_PACKET_PHRASES = [
"Runtime default activation remains false.",
]
REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_EVIDENCE_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"CTO-WORK-057",
"1f53307 Expose real refresh in control summary",
"validate-webui-summary.py --json",
"webui-summary.json",
"case_stage6_real_governed_refresh",
"stage6_real_governed_refresh_comparison_path",
"real Stage 5 pass report replay path",
"real Stage 5 proof replay path",
"target repository read-only proof status",
"candidate-default refresh eligibility separately from `runtime_default_activation`",
"Codex blocked-lane rationale",
"Pi blocked-lane rationale",
"runtime default activation: false",
"Runtime default activation remains false.",
]
REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"Hermes may display and replay evidence; it must not govern",
@@ -1109,6 +1128,16 @@ def main() -> int:
if phrase not in text:
errors.append(f"missing_hermes_real_refresh_control_replay_issue_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")
if "core_promotion_status: not-promoted" not in text:
errors.append("hermes_real_refresh_control_replay_evidence_missing_not_promoted_frontmatter")
for phrase in REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_EVIDENCE_PHRASES:
checked.append(f"hermes_real_refresh_control_replay_evidence_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_hermes_real_refresh_control_replay_evidence_phrase:{phrase}")
stage6_real_refresh_evidence = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-STAGE6-REAL-GOVERNED-REFRESH-EVIDENCE.md"
if stage6_real_refresh_evidence.is_file():
text = stage6_real_refresh_evidence.read_text(encoding="utf-8")
@@ -1706,7 +1735,7 @@ def main() -> int:
"CTO-WORK-054": "validated",
"CTO-WORK-055": "validated",
"CTO-WORK-056": "validated",
"CTO-WORK-057": "candidate",
"CTO-WORK-057": "validated",
}
for issue_id, expected in expected_statuses.items():
checked.append(f"workboard_status:{issue_id}:{expected}")