Record Hermes live smoke remote sync evidence

This commit is contained in:
Svrnty
2026-06-01 08:12:53 -04:00
parent 314579f91c
commit de65c11f5f
5 changed files with 284 additions and 0 deletions
+65
View File
@@ -72,6 +72,9 @@ REQUIRED_FILES = [
".sot/03-PROTOCOLS/CTO-HERMES-CONSUMED-APPROVAL-EVIDENCE-PRD.md",
".sot/03-PROTOCOLS/CTO-HERMES-CONSUMED-APPROVAL-EVIDENCE-ISSUES.md",
".sot/03-PROTOCOLS/CTO-HERMES-CONSUMED-APPROVAL-EVIDENCE-CLOSEOUT.md",
".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-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",
@@ -380,6 +383,30 @@ REQUIRED_HERMES_CONSUMED_APPROVAL_EVIDENCE_PHRASES = [
"This closeout does not authorize another Case run.",
]
REQUIRED_HERMES_LIVE_SMOKE_REMOTE_SYNC_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"Hermes live smoke remote sync evidence",
"CTO-WORK-074",
"CTO-WORK-075",
"git push openharbor jp",
"d302321..6f694b4 jp -> jp",
"6f694b4 feat(plugin): surface consumed CTO approval evidence",
"python3 scripts/boot-smoke.py",
"failed: 0",
"/api/cto/control-summary",
"/plugins/svrnty/cto_control_panel.js",
"/plugins/svrnty/cto_control_panel.css",
"status accepted: true",
"temporary Hermes WebUI boot smoke",
"openharbor/jp synced",
"Case runtime default active: false",
"target repository mutation: false",
"upstream `hermes-webui` edited: false",
"upstream `hermes-agent` edited: false",
"Do not activate Case as default backend.",
"This closeout 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",
@@ -1640,6 +1667,42 @@ def main() -> int:
if phrase not in text:
errors.append(f"missing_hermes_consumed_approval_closeout_phrase:{phrase}")
hermes_live_smoke_remote_sync_prd = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-LIVE-SMOKE-REMOTE-SYNC-PRD.md"
if hermes_live_smoke_remote_sync_prd.is_file():
text = hermes_live_smoke_remote_sync_prd.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("hermes_live_smoke_remote_sync_prd_missing_not_promoted_frontmatter")
for phrase in REQUIRED_HERMES_LIVE_SMOKE_REMOTE_SYNC_PHRASES:
checked.append(f"hermes_live_smoke_remote_sync_prd_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_hermes_live_smoke_remote_sync_prd_phrase:{phrase}")
hermes_live_smoke_remote_sync_issues = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-LIVE-SMOKE-REMOTE-SYNC-ISSUES.md"
if hermes_live_smoke_remote_sync_issues.is_file():
text = hermes_live_smoke_remote_sync_issues.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("hermes_live_smoke_remote_sync_issues_missing_not_promoted_frontmatter")
for phrase in REQUIRED_HERMES_LIVE_SMOKE_REMOTE_SYNC_PHRASES:
checked.append(f"hermes_live_smoke_remote_sync_issue_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_hermes_live_smoke_remote_sync_issue_phrase:{phrase}")
hermes_live_smoke_remote_sync_closeout = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-LIVE-SMOKE-REMOTE-SYNC-CLOSEOUT.md"
if hermes_live_smoke_remote_sync_closeout.is_file():
text = hermes_live_smoke_remote_sync_closeout.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("hermes_live_smoke_remote_sync_closeout_missing_not_promoted_frontmatter")
for phrase in [
"status: validated",
"authentication-gated `401` and redirect `302` statuses were accepted",
"Harness-backed summary data remains the source of truth.",
"Hermes visualizes control state; CTO and Harness remain the gates.",
*REQUIRED_HERMES_LIVE_SMOKE_REMOTE_SYNC_PHRASES,
]:
checked.append(f"hermes_live_smoke_remote_sync_closeout_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_hermes_live_smoke_remote_sync_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")
@@ -2264,6 +2327,8 @@ def main() -> int:
"CTO-WORK-071": "validated",
"CTO-WORK-072": "validated",
"CTO-WORK-073": "validated",
"CTO-WORK-074": "validated",
"CTO-WORK-075": "validated",
}
for issue_id, expected in expected_statuses.items():
checked.append(f"workboard_status:{issue_id}:{expected}")