Plan Hermes real refresh control replay
This commit is contained in:
@@ -45,6 +45,8 @@ REQUIRED_FILES = [
|
||||
".sot/03-PROTOCOLS/CTO-CASE-STAGE6-REAL-GOVERNED-REFRESH-EVIDENCE.md",
|
||||
".sot/03-PROTOCOLS/CTO-HERMES-CONTROL-SURFACE-PRD.md",
|
||||
".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-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",
|
||||
@@ -132,6 +134,21 @@ REQUIRED_FIRST_REAL_WORKFLOW_APPROVAL_PACKET_PHRASES = [
|
||||
"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",
|
||||
"Harness Evidence Interface artifacts",
|
||||
"Stage 6 real-governed refresh status",
|
||||
"refresh comparison artifact path",
|
||||
"real Stage 5 pass report and Stage 5 proof paths",
|
||||
"read-only target repository proof status",
|
||||
"candidate-default refresh eligibility separately from runtime default activation",
|
||||
"blocked Codex/Pi lane rationale",
|
||||
"Do not build a full Hermes WebUI panel in this slice.",
|
||||
"Do not activate Case as default backend.",
|
||||
"Do not rerun or mutate the real Target Repository.",
|
||||
]
|
||||
|
||||
REQUIRED_STAGE6_REAL_REFRESH_EVIDENCE_PHRASES = [
|
||||
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
|
||||
"CTO-WORK-055",
|
||||
@@ -1072,6 +1089,26 @@ def main() -> int:
|
||||
if phrase not in text:
|
||||
errors.append(f"missing_stage6_real_refresh_issue_phrase:{phrase}")
|
||||
|
||||
hermes_real_refresh_control_replay_prd = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-PRD.md"
|
||||
if hermes_real_refresh_control_replay_prd.is_file():
|
||||
text = hermes_real_refresh_control_replay_prd.read_text(encoding="utf-8")
|
||||
if "core_promotion_status: not-promoted" not in text:
|
||||
errors.append("hermes_real_refresh_control_replay_prd_missing_not_promoted_frontmatter")
|
||||
for phrase in REQUIRED_HERMES_REAL_REFRESH_CONTROL_REPLAY_PHRASES:
|
||||
checked.append(f"hermes_real_refresh_control_replay_prd_phrase:{phrase}")
|
||||
if phrase not in text:
|
||||
errors.append(f"missing_hermes_real_refresh_control_replay_prd_phrase:{phrase}")
|
||||
|
||||
hermes_real_refresh_control_replay_issues = ROOT / ".sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-ISSUES.md"
|
||||
if hermes_real_refresh_control_replay_issues.is_file():
|
||||
text = hermes_real_refresh_control_replay_issues.read_text(encoding="utf-8")
|
||||
if "core_promotion_status: not-promoted" not in text:
|
||||
errors.append("hermes_real_refresh_control_replay_issues_missing_not_promoted_frontmatter")
|
||||
for phrase in ["CTO-WORK-056", "CTO-WORK-057", "case_stage6_real_governed_refresh", "stage6_real_governed_refresh_comparison_path", "runtime_default_activation"]:
|
||||
checked.append(f"hermes_real_refresh_control_replay_issue_phrase:{phrase}")
|
||||
if phrase not in text:
|
||||
errors.append(f"missing_hermes_real_refresh_control_replay_issue_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")
|
||||
@@ -1668,6 +1705,8 @@ def main() -> int:
|
||||
"CTO-WORK-053": "validated",
|
||||
"CTO-WORK-054": "validated",
|
||||
"CTO-WORK-055": "validated",
|
||||
"CTO-WORK-056": "validated",
|
||||
"CTO-WORK-057": "candidate",
|
||||
}
|
||||
for issue_id, expected in expected_statuses.items():
|
||||
checked.append(f"workboard_status:{issue_id}:{expected}")
|
||||
|
||||
Reference in New Issue
Block a user