Record Stage 5 repeatability proof
This commit is contained in:
parent
facca7f743
commit
ae08dc4468
@ -0,0 +1,70 @@
|
|||||||
|
---
|
||||||
|
name: CTO Case Stage5 Repeatability Proof Evidence
|
||||||
|
status: validated
|
||||||
|
lifecycle_classification: sot
|
||||||
|
owner: jp
|
||||||
|
created: 2026-06-02
|
||||||
|
last_reviewed: 2026-06-02
|
||||||
|
core_promotion_status: not-promoted
|
||||||
|
---
|
||||||
|
|
||||||
|
# CTO Case Stage5 Repeatability Proof Evidence
|
||||||
|
|
||||||
|
Local planning SOT only. Not a Core Protocol. Not active Core authority.
|
||||||
|
|
||||||
|
## Workboard
|
||||||
|
|
||||||
|
- `CTO-WORK-078`
|
||||||
|
- `CTO-WORK-079`
|
||||||
|
- `CTO-WORK-080`
|
||||||
|
|
||||||
|
## Result
|
||||||
|
|
||||||
|
- Stage 5 repeatability proof
|
||||||
|
- second governed Stage 5 Case run
|
||||||
|
- status: validated
|
||||||
|
- approval_source: JP chat instruction on 2026-06-02 to execute repeatability proof
|
||||||
|
- r1-slugify-punctuation
|
||||||
|
- Runtime default activation remains false.
|
||||||
|
- Do not activate Case as default backend.
|
||||||
|
- This closeout does not authorize another Case run.
|
||||||
|
|
||||||
|
## Route Evidence
|
||||||
|
|
||||||
|
- Harness route commit: `99000f7d249d594bfc786f00a3008457accdda11`
|
||||||
|
- Harness route short commit: `99000f7`
|
||||||
|
- Fake baseline report: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101410Z-r1-slugify-punctuation-2662313/report.json`
|
||||||
|
- Harness aggregate health: `pass`
|
||||||
|
- WebUI summary validator: `ok: true`
|
||||||
|
- WebUI summary path: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101651Z-run-all-fake-2667221/webui-summary.json`
|
||||||
|
|
||||||
|
## Execution Evidence
|
||||||
|
|
||||||
|
- Harness report: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/report.json`
|
||||||
|
- Stage 5 proof: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/stage5-owned-repo-proof.json`
|
||||||
|
- target repository: `/home/svrnty/workspaces/cortex-os/cto-stage5-target-sandbox`
|
||||||
|
- target commit: `2fa1601844c083ff1936151f9df23b94783216b8`
|
||||||
|
- target short commit: `2fa1601`
|
||||||
|
- case_process_started: true
|
||||||
|
- changed files: `src/strings.py`, `strings.py`, `test_strings.py`
|
||||||
|
- allowed paths passed: true
|
||||||
|
- forbidden paths passed: true
|
||||||
|
- no forbidden actions: true
|
||||||
|
- target repository start clean: true
|
||||||
|
- target repository ending clean: true
|
||||||
|
- operator outcome: `accepted`
|
||||||
|
- push, merge, deploy, close, PR open attempted: false
|
||||||
|
- public publication attempted: false
|
||||||
|
|
||||||
|
## Validation Evidence
|
||||||
|
|
||||||
|
- target command: `python3 -m pytest -q`
|
||||||
|
- target result: `11 passed`
|
||||||
|
- target child validator: `ok: true`
|
||||||
|
- Harness case validator: `passed: true`
|
||||||
|
- focused Stage 5 validator: `ok: true`
|
||||||
|
- WebUI plugin focused tests: `7 passed`
|
||||||
|
|
||||||
|
## Guard
|
||||||
|
|
||||||
|
No Core promotion occurs. Case remains a gated adapter behind the CTO Harness seam.
|
||||||
@ -0,0 +1,63 @@
|
|||||||
|
---
|
||||||
|
name: CTO Case Stage5 Repeatability Proof Issues
|
||||||
|
status: validated
|
||||||
|
lifecycle_classification: sot
|
||||||
|
owner: jp
|
||||||
|
created: 2026-06-02
|
||||||
|
last_reviewed: 2026-06-02
|
||||||
|
core_promotion_status: not-promoted
|
||||||
|
---
|
||||||
|
|
||||||
|
# CTO Case Stage5 Repeatability Proof Issues
|
||||||
|
|
||||||
|
Stage 5 repeatability proof.
|
||||||
|
|
||||||
|
Local planning SOT only. Not a Core Protocol. Not active Core authority.
|
||||||
|
|
||||||
|
## Issue: CTO-WORK-078 - Stage 5 Repeatability Proof PRD
|
||||||
|
|
||||||
|
Status: validated.
|
||||||
|
|
||||||
|
Acceptance:
|
||||||
|
|
||||||
|
- Define second governed Stage 5 Case run.
|
||||||
|
- Require `r1-slugify-punctuation`.
|
||||||
|
- Require admitted target repository.
|
||||||
|
- Require allowed paths.
|
||||||
|
- Require no Core promotion.
|
||||||
|
- No Core promotion occurs.
|
||||||
|
- Require Runtime default activation remains false.
|
||||||
|
|
||||||
|
## Issue: CTO-WORK-079 - Stage 5 Repeatability Harness Case Route
|
||||||
|
|
||||||
|
Status: validated.
|
||||||
|
|
||||||
|
Acceptance:
|
||||||
|
|
||||||
|
- Add Harness case `r1-slugify-punctuation`.
|
||||||
|
- Record Harness route commit `99000f7`.
|
||||||
|
- Fake baseline passes.
|
||||||
|
- Aggregate Harness health passes.
|
||||||
|
- WebUI summary validation passes.
|
||||||
|
|
||||||
|
## Issue: CTO-WORK-080 - Stage 5 Repeatability Evidence Closeout
|
||||||
|
|
||||||
|
Status: validated.
|
||||||
|
|
||||||
|
Acceptance:
|
||||||
|
|
||||||
|
- Record second governed Stage 5 Case run.
|
||||||
|
- Record approval_source: JP chat instruction on 2026-06-02 to execute repeatability proof.
|
||||||
|
- Reference report `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/report.json`.
|
||||||
|
- Reference Stage 5 proof `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/stage5-owned-repo-proof.json`.
|
||||||
|
- Record target commit `2fa1601`.
|
||||||
|
- Record case_process_started: true.
|
||||||
|
- Record changed files: `src/strings.py`, `strings.py`, `test_strings.py`.
|
||||||
|
- Record allowed paths passed: true.
|
||||||
|
- Record forbidden paths passed: true.
|
||||||
|
- Record target repository start clean: true.
|
||||||
|
- Record target repository ending clean: true.
|
||||||
|
- Record `11 passed`.
|
||||||
|
- State: Runtime default activation remains false.
|
||||||
|
- State: Do not activate Case as default backend.
|
||||||
|
- State: This closeout does not authorize another Case run.
|
||||||
62
.sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-PRD.md
Normal file
62
.sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-PRD.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
name: CTO Case Stage5 Repeatability Proof PRD
|
||||||
|
status: validated
|
||||||
|
lifecycle_classification: sot
|
||||||
|
owner: jp
|
||||||
|
created: 2026-06-02
|
||||||
|
last_reviewed: 2026-06-02
|
||||||
|
core_promotion_status: not-promoted
|
||||||
|
---
|
||||||
|
|
||||||
|
# CTO Case Stage5 Repeatability Proof PRD
|
||||||
|
|
||||||
|
Stage 5 repeatability proof.
|
||||||
|
|
||||||
|
Local planning SOT only. Not a Core Protocol. Not active Core authority.
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
The first governed Stage 5 run proved one approved Case mutation. CTO still needs a second governed Stage 5 Case run to prove repeatability without activating Case as default.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
- Add Harness case `r1-slugify-punctuation`.
|
||||||
|
- Use admitted target repository `/home/svrnty/workspaces/cortex-os/cto-stage5-target-sandbox`.
|
||||||
|
- Limit writes to `strings.py`, `src/strings.py`, and `test_strings.py`.
|
||||||
|
- Use JP chat instruction on 2026-06-02 to execute the repeatability proof as the approval source.
|
||||||
|
- Run one Stage 5 Case Harness execution.
|
||||||
|
- Record Harness report, Stage 5 proof, target commit, validations, and WebUI summary validation.
|
||||||
|
|
||||||
|
## Non-goals
|
||||||
|
|
||||||
|
- Do not activate Case as default backend.
|
||||||
|
- Do not promote CTO artifacts into Core.
|
||||||
|
- No Core promotion occurs.
|
||||||
|
- Do not authorize another Case run.
|
||||||
|
- This closeout does not authorize another Case run.
|
||||||
|
- Do not push, merge, deploy, close, PR open, issue close, or publish.
|
||||||
|
- Do not store endpoint values, secret values, or credential values in SOT.
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
|
||||||
|
- `CTO-WORK-078`, `CTO-WORK-079`, and `CTO-WORK-080` are validated.
|
||||||
|
- Harness route commit records `r1-slugify-punctuation`.
|
||||||
|
- Fake baseline passes.
|
||||||
|
- Live Stage 5 Case run passes.
|
||||||
|
- case_process_started: true.
|
||||||
|
- changed files: `src/strings.py`, `strings.py`, `test_strings.py`.
|
||||||
|
- allowed paths passed: true.
|
||||||
|
- forbidden paths passed: true.
|
||||||
|
- target repository start clean: true.
|
||||||
|
- target repository ending clean: true.
|
||||||
|
- target validation result is `11 passed`.
|
||||||
|
- Runtime default activation remains false.
|
||||||
|
- Harness route commit: `99000f7`.
|
||||||
|
- Target commit: `2fa1601`.
|
||||||
|
- Harness report: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/report.json`.
|
||||||
|
- Stage 5 proof: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/stage5-owned-repo-proof.json`.
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
- `python3 tools/validate_cto_child.py`
|
||||||
|
- `python3 /home/svrnty/workspaces/cortex-os/core/tools/check_s69_caveman_prose_discipline.py`
|
||||||
@ -386,3 +386,18 @@ items:
|
|||||||
status: validated
|
status: validated
|
||||||
source: .sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-CLOSEOUT.md
|
source: .sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-CLOSEOUT.md
|
||||||
owner: ""
|
owner: ""
|
||||||
|
- id: CTO-WORK-078
|
||||||
|
title: Stage 5 Repeatability Proof PRD
|
||||||
|
status: validated
|
||||||
|
source: .sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-PRD.md
|
||||||
|
owner: ""
|
||||||
|
- id: CTO-WORK-079
|
||||||
|
title: Stage 5 Repeatability Harness Case Route
|
||||||
|
status: validated
|
||||||
|
source: .sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-ISSUES.md
|
||||||
|
owner: ""
|
||||||
|
- id: CTO-WORK-080
|
||||||
|
title: Stage 5 Repeatability Evidence Closeout
|
||||||
|
status: validated
|
||||||
|
source: .sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-EVIDENCE.md
|
||||||
|
owner: ""
|
||||||
|
|||||||
@ -78,6 +78,9 @@ REQUIRED_FILES = [
|
|||||||
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-PRD.md",
|
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-PRD.md",
|
||||||
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-ISSUES.md",
|
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-ISSUES.md",
|
||||||
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-CLOSEOUT.md",
|
".sot/03-PROTOCOLS/CTO-ENDGOAL-COMPLETION-AUDIT-CLOSEOUT.md",
|
||||||
|
".sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-PRD.md",
|
||||||
|
".sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-ISSUES.md",
|
||||||
|
".sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-EVIDENCE.md",
|
||||||
".sot/03-PROTOCOLS/CTO-FIRST-REAL-GOVERNED-WORKFLOW-PRD.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-ISSUES.md",
|
||||||
".sot/03-PROTOCOLS/CTO-FIRST-REAL-GOVERNED-WORKFLOW-APPROVAL-PACKET.md",
|
".sot/03-PROTOCOLS/CTO-FIRST-REAL-GOVERNED-WORKFLOW-APPROVAL-PACKET.md",
|
||||||
@ -1299,6 +1302,31 @@ REQUIRED_SPARK_ENDPOINT_CONFIG_ISSUE_PHRASES = [
|
|||||||
"Non-secret readiness check on 2026-06-01 showed `CTO_HARNESS_CASE_LOCAL_BASE_URL=missing`.",
|
"Non-secret readiness check on 2026-06-01 showed `CTO_HARNESS_CASE_LOCAL_BASE_URL=missing`.",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
REQUIRED_STAGE5_REPEATABILITY_PHRASES = [
|
||||||
|
"Local planning SOT only. Not a Core Protocol. Not active Core authority.",
|
||||||
|
"CTO-WORK-078",
|
||||||
|
"CTO-WORK-079",
|
||||||
|
"CTO-WORK-080",
|
||||||
|
"Stage 5 repeatability proof",
|
||||||
|
"second governed Stage 5 Case run",
|
||||||
|
"r1-slugify-punctuation",
|
||||||
|
"99000f7",
|
||||||
|
"2fa1601",
|
||||||
|
"/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/report.json",
|
||||||
|
"/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260602T101450Z-r1-slugify-punctuation-2663598/stage5-owned-repo-proof.json",
|
||||||
|
"case_process_started: true",
|
||||||
|
"changed files: `src/strings.py`, `strings.py`, `test_strings.py`",
|
||||||
|
"allowed paths passed: true",
|
||||||
|
"forbidden paths passed: true",
|
||||||
|
"target repository start clean: true",
|
||||||
|
"target repository ending clean: true",
|
||||||
|
"11 passed",
|
||||||
|
"Runtime default activation remains false.",
|
||||||
|
"Do not activate Case as default backend.",
|
||||||
|
"This closeout does not authorize another Case run.",
|
||||||
|
"No Core promotion occurs.",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def workboard_status(text: str, issue_id: str) -> str | None:
|
def workboard_status(text: str, issue_id: str) -> str | None:
|
||||||
pattern = rf"- id: {re.escape(issue_id)}\n(?: .+\n)*? status: ([^\n]+)"
|
pattern = rf"- id: {re.escape(issue_id)}\n(?: .+\n)*? status: ([^\n]+)"
|
||||||
@ -1787,6 +1815,36 @@ def main() -> int:
|
|||||||
if phrase not in text:
|
if phrase not in text:
|
||||||
errors.append(f"missing_stage6_real_refresh_evidence_phrase:{phrase}")
|
errors.append(f"missing_stage6_real_refresh_evidence_phrase:{phrase}")
|
||||||
|
|
||||||
|
stage5_repeatability_prd = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-PRD.md"
|
||||||
|
if stage5_repeatability_prd.is_file():
|
||||||
|
text = stage5_repeatability_prd.read_text(encoding="utf-8")
|
||||||
|
if "core_promotion_status: not-promoted" not in text:
|
||||||
|
errors.append("stage5_repeatability_prd_missing_not_promoted_frontmatter")
|
||||||
|
for phrase in REQUIRED_STAGE5_REPEATABILITY_PHRASES:
|
||||||
|
checked.append(f"stage5_repeatability_prd_phrase:{phrase}")
|
||||||
|
if phrase not in text:
|
||||||
|
errors.append(f"missing_stage5_repeatability_prd_phrase:{phrase}")
|
||||||
|
|
||||||
|
stage5_repeatability_issues = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-ISSUES.md"
|
||||||
|
if stage5_repeatability_issues.is_file():
|
||||||
|
text = stage5_repeatability_issues.read_text(encoding="utf-8")
|
||||||
|
if "core_promotion_status: not-promoted" not in text:
|
||||||
|
errors.append("stage5_repeatability_issues_missing_not_promoted_frontmatter")
|
||||||
|
for phrase in REQUIRED_STAGE5_REPEATABILITY_PHRASES:
|
||||||
|
checked.append(f"stage5_repeatability_issue_phrase:{phrase}")
|
||||||
|
if phrase not in text:
|
||||||
|
errors.append(f"missing_stage5_repeatability_issue_phrase:{phrase}")
|
||||||
|
|
||||||
|
stage5_repeatability_evidence = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-STAGE5-REPEATABILITY-PROOF-EVIDENCE.md"
|
||||||
|
if stage5_repeatability_evidence.is_file():
|
||||||
|
text = stage5_repeatability_evidence.read_text(encoding="utf-8")
|
||||||
|
if "core_promotion_status: not-promoted" not in text:
|
||||||
|
errors.append("stage5_repeatability_evidence_missing_not_promoted_frontmatter")
|
||||||
|
for phrase in REQUIRED_STAGE5_REPEATABILITY_PHRASES:
|
||||||
|
checked.append(f"stage5_repeatability_evidence_phrase:{phrase}")
|
||||||
|
if phrase not in text:
|
||||||
|
errors.append(f"missing_stage5_repeatability_evidence_phrase:{phrase}")
|
||||||
|
|
||||||
prd = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-CANDIDATE-BACKEND-PRD.md"
|
prd = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-CANDIDATE-BACKEND-PRD.md"
|
||||||
if prd.is_file():
|
if prd.is_file():
|
||||||
text = prd.read_text(encoding="utf-8")
|
text = prd.read_text(encoding="utf-8")
|
||||||
@ -2395,6 +2453,9 @@ def main() -> int:
|
|||||||
"CTO-WORK-075": "validated",
|
"CTO-WORK-075": "validated",
|
||||||
"CTO-WORK-076": "validated",
|
"CTO-WORK-076": "validated",
|
||||||
"CTO-WORK-077": "validated",
|
"CTO-WORK-077": "validated",
|
||||||
|
"CTO-WORK-078": "validated",
|
||||||
|
"CTO-WORK-079": "validated",
|
||||||
|
"CTO-WORK-080": "validated",
|
||||||
}
|
}
|
||||||
for issue_id, expected in expected_statuses.items():
|
for issue_id, expected in expected_statuses.items():
|
||||||
checked.append(f"workboard_status:{issue_id}:{expected}")
|
checked.append(f"workboard_status:{issue_id}:{expected}")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user