Plan Hermes WebUI live smoke
This commit is contained in:
@@ -51,6 +51,8 @@ REQUIRED_FILES = [
|
||||
".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-CONTROL-PANEL-PRD.md",
|
||||
".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-CONTROL-PANEL-ISSUES.md",
|
||||
".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-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",
|
||||
@@ -170,6 +172,20 @@ REQUIRED_HERMES_WEBUI_CONTROL_PANEL_EVIDENCE_PHRASES = [
|
||||
"Harness-backed summary data remains the source of truth.",
|
||||
]
|
||||
|
||||
REQUIRED_HERMES_WEBUI_LIVE_SMOKE_PHRASES = [
|
||||
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
|
||||
"Hermes WebUI live smoke",
|
||||
"existing plugin smoke machinery",
|
||||
"/api/cto/control-summary",
|
||||
"/plugins/svrnty/cto_control_panel.js",
|
||||
"/plugins/svrnty/cto_control_panel.css",
|
||||
"Harness-backed summary data remains the source of truth.",
|
||||
"Do not edit upstream `hermes-webui`.",
|
||||
"Do not edit upstream `hermes-agent`.",
|
||||
"Do not activate Case as default backend.",
|
||||
"Do not mutate target repositories.",
|
||||
]
|
||||
|
||||
REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_EVIDENCE_PHRASES = [
|
||||
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
|
||||
"CTO-WORK-057",
|
||||
@@ -1193,6 +1209,26 @@ def main() -> int:
|
||||
if phrase not in text:
|
||||
errors.append(f"missing_hermes_webui_control_panel_evidence_phrase:{phrase}")
|
||||
|
||||
hermes_webui_live_smoke_prd = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-LIVE-SMOKE-PRD.md"
|
||||
if hermes_webui_live_smoke_prd.is_file():
|
||||
text = hermes_webui_live_smoke_prd.read_text(encoding="utf-8")
|
||||
if "core_promotion_status: not-promoted" not in text:
|
||||
errors.append("hermes_webui_live_smoke_prd_missing_not_promoted_frontmatter")
|
||||
for phrase in REQUIRED_HERMES_WEBUI_LIVE_SMOKE_PHRASES:
|
||||
checked.append(f"hermes_webui_live_smoke_prd_phrase:{phrase}")
|
||||
if phrase not in text:
|
||||
errors.append(f"missing_hermes_webui_live_smoke_prd_phrase:{phrase}")
|
||||
|
||||
hermes_webui_live_smoke_issues = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-WEBUI-LIVE-SMOKE-ISSUES.md"
|
||||
if hermes_webui_live_smoke_issues.is_file():
|
||||
text = hermes_webui_live_smoke_issues.read_text(encoding="utf-8")
|
||||
if "core_promotion_status: not-promoted" not in text:
|
||||
errors.append("hermes_webui_live_smoke_issues_missing_not_promoted_frontmatter")
|
||||
for phrase in ["CTO-WORK-060", "CTO-WORK-061", *REQUIRED_HERMES_WEBUI_LIVE_SMOKE_PHRASES]:
|
||||
checked.append(f"hermes_webui_live_smoke_issue_phrase:{phrase}")
|
||||
if phrase not in text:
|
||||
errors.append(f"missing_hermes_webui_live_smoke_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")
|
||||
@@ -1803,6 +1839,8 @@ def main() -> int:
|
||||
"CTO-WORK-057": "validated",
|
||||
"CTO-WORK-058": "validated",
|
||||
"CTO-WORK-059": "validated",
|
||||
"CTO-WORK-060": "validated",
|
||||
"CTO-WORK-061": "candidate",
|
||||
}
|
||||
for issue_id, expected in expected_statuses.items():
|
||||
checked.append(f"workboard_status:{issue_id}:{expected}")
|
||||
|
||||
Reference in New Issue
Block a user