12 KiB
| name | tier | status | owner | source | created | last_reviewed | lifecycle_classification | core_promotion_status | description |
|---|---|---|---|---|---|---|---|---|---|
| cto-case-staged-proof-gates | local | draft | jp | .sot/03-PROTOCOLS/CTO-CASE-CANDIDATE-BACKEND-PRD.md | 2026-05-31 | 2026-05-31 | planning | not-promoted | Child-local staged proof gate records for Case candidate backend progression. |
CTO Case Staged Proof Gates
Local planning SOT only. Not a Core Protocol. Not active Core authority.
Purpose
Define the staged proof gates Case must pass before it can be discussed as a candidate default backend.
Default status is earned, not assumed. No stage grants Core authority, WebUI Runtime behavior, real-repo mutation outside its stated scope, merge, deploy, push, close, vendor-source mutation, external developer repository mutation, or Core promotion.
Gate Rules
- Stages must be completed in order.
- Each stage must preserve the CTO Harness Evidence Interface.
- Each stage must respect the Case Source Admission Record.
- Each stage must use the CTO Case Adapter Contract and Eligibility Decision.
- Each stage must account for the CTO Case Failure Fixture Matrix.
- Missing evidence means blocked, not partially accepted.
- Later stages must not reinterpret earlier stage success as broader mutation permission.
Stage Summary
| Stage | Name | Allowed mutation scope | Promotion condition |
|---|---|---|---|
| 1 | Gated Case engine | none | Harness accepts --engine case only when explicitly enabled and default-deny proof passes. |
| 2 | Artificial fixture | copied artificial case only | Case adapter matches existing fake fixture behavior through the Harness Evidence Interface. |
| 3 | Copied repo fixture | copied local repository fixture only | No source repository mutation; clean start/end and failure fixtures pass. |
| 4 | Disposable sandbox repo | disposable repository only | Approval, branch, fail-closed, and artifact behavior pass in a throwaway repository. |
| 5 | Owned noncritical repo | explicitly owned low-risk repository only | Operator accepts bounded proof with source admission, approval, and allowed paths. |
| 6 | Candidate default | scoped real-repo use only | Case matches or beats fake, Codex, and Pi where applicable on evidence completeness and failure closure. |
Stage 1 - Gated Case Engine
Entry gates:
- Harness Evidence Interface Contract is validated.
- Case Adapter Contract is validated.
- Case Source Admission Record exists.
- Case Failure Fixture Matrix exists.
Allowed mutation scope: none.
Required artifacts:
report.json;events.normalized.jsonl;trace.jsonl;- no-op
patch.diff; - no-op
test.log; - backend raw logs showing default-deny preflight.
Validator expectation:
caseis registered as a gated engine;--engine caseis rejected unless explicitly enabled;- no source files are changed;
- missing gate produces blocked status.
Required failure classes:
- provider unavailable;
- missing required event;
- artifact write failure.
Promotion condition:
- Harness accepts
--engine caseonly when explicitly enabled and default-deny proof passes.
Stage 2 - Artificial Fixture
Status: validated for Case/Qwen Stage 2 artificial fixture on 2026-06-01.
Entry gates:
- Stage 1 is validated.
- Artificial fixture task contract exists.
- Allowed paths and verification command are explicit.
Allowed mutation scope: copied artificial case only.
Required artifacts:
- full Harness Evidence Interface artifact set;
- changed files list;
- allowed-write proof;
- verification log;
- digest and freshness proof.
Validator expectation:
- artificial fixture can pass through the Case adapter;
- fake lane remains default validation lane;
- Case output matches report shape, event validity, allowed-path compliance, failure closure, and artifact completeness expected from fake fixtures.
Required failure classes:
- no diff;
- disallowed file;
- failed tests;
- missing test command;
- missing required event.
Promotion condition:
- Case adapter matches existing fake fixture behavior through the Harness Evidence Interface.
Validation evidence:
- Hermes commit:
fc54680 Complete Case lifecycle after committed proof. - Real Case Qwen Stage 2 pass artifact:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025817Z-r1-string-slugify-2907822. - Report status:
pass. - Changed files:
strings.py. - Tests passed:
true. - Required events passed:
true. - No Target Repository path was inspected or copied.
- This validates Stage 2 only. Stage 3 copied-repo fixture remains the next proof gate.
Stage 3 - Copied Repo Fixture
Status: validated for copied-repo fixture proof on 2026-06-01.
Entry gates:
- Stage 2 is validated.
- Copied repository fixture is created from an owned local source.
- Source repository remains read-only during fixture creation.
Allowed mutation scope: copied local repository fixture only.
Required artifacts:
- full Harness Evidence Interface artifact set;
- clean starting tree proof for copied fixture;
- clean ending tree proof;
- source repository non-mutation proof;
- failure fixture results.
Planning evidence:
- Stage 3 PRD:
.sot/03-PROTOCOLS/CTO-CASE-STAGE3-COPIED-REPO-PRD.md. - Stage 3 issues:
.sot/03-PROTOCOLS/CTO-CASE-STAGE3-COPIED-REPO-ISSUES.md.
Validation evidence:
- Hermes commit:
4edf5f1 Add Case Stage 3 copied repo harness proof. - Stage 3 pass artifact:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T031903Z-r1-string-slugify-3018046. - Real Case Qwen Stage 3 pass artifact:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T032245Z-r1-string-slugify-3035256. - Stage 3 pass report status:
pass. - Source repository mutated:
false. - Copied fixture starts clean:
true. - Copied fixture ends clean:
true. - Required events passed:
true. - Aggregate harness health status:
pass. - This validates Stage 3 only. Stage 4 disposable sandbox repo remains the next proof gate.
Validator expectation:
- all changes occur inside copied fixture;
- no hidden mutation occurs in source repository;
- dirty-starting-tree and dirty-ending-tree failures are detected.
Required failure classes:
- dirty starting tree;
- dirty ending tree;
- timeout;
- artifact write failure.
Promotion condition:
- copied repo fixture proves no source repo mutation and clean start/end behavior.
Stage 4 - Disposable Sandbox Repo
Status: validated for disposable sandbox repository proof on 2026-06-01.
Entry gates:
- Stage 3 is validated.
- Disposable repository ownership and disposal policy are explicit.
- Approval events are enabled for mutation mode.
Allowed mutation scope: disposable repository only.
Required artifacts:
- full Harness Evidence Interface artifact set;
- approval event proof;
- branch policy proof;
- sandbox disposal or retention note;
- failure matrix coverage for sandbox mode.
Planning evidence:
- Stage 4 PRD:
.sot/03-PROTOCOLS/CTO-CASE-STAGE4-DISPOSABLE-SANDBOX-PRD.md. - Stage 4 issues:
.sot/03-PROTOCOLS/CTO-CASE-STAGE4-DISPOSABLE-SANDBOX-ISSUES.md.
Validation evidence:
- Hermes commit:
033fec8 Add Case Stage 4 disposable sandbox proof. - Focused Stage 4 validator:
python3 harness/runner/validate-case-stage4.py --harness-root harness --json. - Focused Stage 4 validator status:
ok: true. - Stage 4 pass artifact:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T033647Z-r1-string-slugify-3113348. - Stage 4 proof artifact:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T033647Z-r1-string-slugify-3113348/stage4-disposable-sandbox-proof.json. - Approval denied failure fixture blocked before Case execution.
- Missing Stage 4 gate failure fixture blocked before Case execution.
- Aggregate harness health status:
pass. - This validates Stage 4 only. Stage 5 owned noncritical repository remains the next proof gate.
Validator expectation:
- mutation occurs only in disposable repository;
- approval denied fails closed;
- branch policy is recorded;
- no merge, push, deploy, or close occurs unless explicitly allowed by the task contract.
Required failure classes:
- approval denied;
- reviewer reject;
- timeout;
- provider unavailable.
Promotion condition:
- disposable sandbox repo proves approval, branch, fail-closed, and artifact behavior.
Stage 5 - Owned Noncritical Repo
Status: validated for owned noncritical repository proof on 2026-06-01.
Entry gates:
- Stage 4 is validated.
- Target Repository ownership is explicit.
- Repository is low risk and noncritical.
- Human approval is recorded before mutation.
- Source license note is resolved for the requested execution mode.
Allowed mutation scope: explicitly owned low-risk repository only.
Required artifacts:
- full Harness Evidence Interface artifact set;
- Target Repository ownership proof;
- approval event proof;
- allowed paths and forbidden actions;
- post-run operator acceptance or rejection.
Planning evidence:
- Stage 5 PRD:
.sot/03-PROTOCOLS/CTO-CASE-STAGE5-OWNED-NONCRITICAL-REPO-PRD.md. - Stage 5 issues:
.sot/03-PROTOCOLS/CTO-CASE-STAGE5-OWNED-NONCRITICAL-REPO-ISSUES.md. - Stage 5 admission preflight evidence: Hermes commit
6e68a1a Add Case Stage 5 target admission preflight; focused validatorok: true; aggregate harness healthpass. This validates admission preflight only, not owned repository execution.
Validation evidence:
- Hermes commit:
084ac70 Add Case Stage 5 owned repo proof. - Focused Stage 5 validator on Hermes main:
python3 harness/runner/validate-case-stage5.py --harness-root harness --json. - Focused Stage 5 validator status:
ok: true. - Focused validator pass report:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T100039Z-r1-string-slugify-37603/report.json. - Actual admitted Target Repository proof report:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T100335Z-r1-string-slugify-43237/report.json. - Actual admitted Target Repository proof artifact:
/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T100335Z-r1-string-slugify-43237/stage5-owned-repo-proof.json. - Target repo:
/home/svrnty/workspaces/cortex-os/cto-stage5-target-sandbox. - Target repo proof commit:
155b442 stage5 case result. - Changed files:
strings.py. - Allowed paths passed:
true. - Forbidden paths passed:
true. - Required events passed:
true. - Tests passed:
true. - Operator outcome:
accepted. - Target repository started clean and ended clean.
- This validates Stage 5 only. Stage 6 candidate default remains blocked until comparison evidence exists.
Validator expectation:
- mutation stays inside allowed paths;
- no direct push, merge, deploy, or close occurs unless task contract explicitly allows it;
- operator approval and outcome are replayable.
Required failure classes:
- disallowed file;
- failed tests;
- approval denied;
- dirty ending tree.
Promotion condition:
- operator accepts bounded proof with source admission, approval, and allowed paths.
Stage 6 - Candidate Default
Status: planned. Execution remains candidate until CTO-WORK-043 produces Harness comparison evidence after Stage 6 PRD validation.
Entry gates:
- Stage 5 is validated.
- Comparison fixtures exist for fake, Codex, and Pi where applicable.
- Case source admission is current.
- Failure matrix coverage is complete or explicitly blocked with rationale.
Allowed mutation scope: scoped real-repo use only.
Required artifacts:
- full Harness Evidence Interface artifact set;
- comparative evidence against fake, Codex, and Pi where applicable;
- failure closure evidence;
- source admission freshness;
- operator acceptance.
Validator expectation:
- Case matches or beats existing lanes on report shape;
- Case matches or beats existing lanes on event validity;
- Case matches or beats existing lanes on allowed-path compliance;
- Case matches or beats existing lanes on failure closure;
- Case matches or beats existing lanes on artifact completeness.
Required failure classes:
- all failure matrix rows, unless a row is explicitly blocked by a governed stage record.
Promotion condition:
- Case may be discussed as candidate default only after comparison evidence shows it matches or beats fake, Codex, and Pi where applicable on evidence completeness and failure closure.
Planning evidence:
- Stage 6 PRD:
.sot/03-PROTOCOLS/CTO-CASE-STAGE6-CANDIDATE-DEFAULT-PRD.md. - Stage 6 issues:
.sot/03-PROTOCOLS/CTO-CASE-STAGE6-CANDIDATE-DEFAULT-ISSUES.md.
Final Guard
These staged proof gates do not implement Case and do not authorize execution. They define the minimum route for later implementation.
Any future implementation must start with Stage 1 and must not skip to real-repo execution.