Record Hermes WebUI live smoke evidence

This commit is contained in:
Svrnty
2026-06-01 07:38:59 -04:00
parent 6e3fe98c63
commit e732e1f373
3 changed files with 85 additions and 2 deletions
+30 -1
View File
@@ -53,6 +53,7 @@ REQUIRED_FILES = [
".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-CONTROL-PANEL-EVIDENCE.md",
".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-LIVE-SMOKE-PRD.md",
".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-LIVE-SMOKE-ISSUES.md",
".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-LIVE-SMOKE-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",
@@ -186,6 +187,24 @@ REQUIRED_HERMES_WEBUI_LIVE_SMOKE_PHRASES = [
"Do not mutate target repositories.",
]
REQUIRED_HERMES_WEBUI_LIVE_SMOKE_EVIDENCE_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"CTO-WORK-061",
"95fb43d Add CTO WebUI smoke coverage",
"/api/cto/control-summary",
"/plugins/svrnty/cto_control_panel.js",
"/plugins/svrnty/cto_control_panel.css",
"python3 -m pytest tests/unit/test_boot_smoke_cto.py tests/unit/test_cto_control_summary.py -q",
"4 passed",
"python3 scripts/ast-connection-map.py --check",
"CONNECTION-MAP.md is fresh",
"105 passed",
"Case runtime default active: false",
"target repository mutation: false",
"upstream `hermes-webui` edited: false",
"upstream `hermes-agent` edited: false",
]
REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_EVIDENCE_PHRASES = [
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
"CTO-WORK-057",
@@ -1229,6 +1248,16 @@ def main() -> int:
if phrase not in text:
errors.append(f"missing_hermes_webui_live_smoke_issue_phrase:{phrase}")
hermes_webui_live_smoke_evidence = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-LIVE-SMOKE-EVIDENCE.md"
if hermes_webui_live_smoke_evidence.is_file():
text = hermes_webui_live_smoke_evidence.read_text(encoding="utf-8")
if "core_promotion_status: not-promoted" not in text:
errors.append("hermes_webui_live_smoke_evidence_missing_not_promoted_frontmatter")
for phrase in REQUIRED_HERMES_WEBUI_LIVE_SMOKE_EVIDENCE_PHRASES:
checked.append(f"hermes_webui_live_smoke_evidence_phrase:{phrase}")
if phrase not in text:
errors.append(f"missing_hermes_webui_live_smoke_evidence_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")
@@ -1840,7 +1869,7 @@ def main() -> int:
"CTO-WORK-058": "validated",
"CTO-WORK-059": "validated",
"CTO-WORK-060": "validated",
"CTO-WORK-061": "candidate",
"CTO-WORK-061": "validated",
}
for issue_id, expected in expected_statuses.items():
checked.append(f"workboard_status:{issue_id}:{expected}")