Record Case Stage 2 pass evidence

This commit is contained in:
Svrnty 2026-05-31 23:03:46 -04:00
parent 9d3d988983
commit ccf45bf338
9 changed files with 162 additions and 30 deletions

View File

@ -15,7 +15,7 @@ Local planning SOT only. Not a Core Protocol. Not active Core authority.
## CTO-WORK-028 - Case Agent Result Protocol Blocker ## CTO-WORK-028 - Case Agent Result Protocol Blocker
Status: blocked. Status: validated.
Record the first admitted real Case Stage 2 run after OpenAI Codex model admission. Record the first admitted real Case Stage 2 run after OpenAI Codex model admission.
The run proves that provider/model admission now reaches Case execution, but does The run proves that provider/model admission now reaches Case execution, but does
@ -317,7 +317,7 @@ Evidence:
## CTO-WORK-032 - Case Lifecycle Timeout After Valid Patch ## CTO-WORK-032 - Case Lifecycle Timeout After Valid Patch
Status: blocked. Status: validated.
The current active blocker is no longer provider admission, endpoint reachability, The current active blocker is no longer provider admission, endpoint reachability,
response shape, or absence of a patch. The active blocker is lifecycle completion response shape, or absence of a patch. The active blocker is lifecycle completion
@ -352,12 +352,44 @@ Required next route:
## CTO-WORK-031 - Case Local Provider Response Shape Shim ## CTO-WORK-031 - Case Local Provider Response Shape Shim
Status: blocked. Status: validated.
Create a non-vendor compatibility route that makes the admitted local Qwen path Create a non-vendor compatibility route that makes the admitted local Qwen path
return assistant content usable by Case/Pi result parsing, without weakening return assistant content usable by Case/Pi result parsing, without weakening
Harness evidence gates. Harness evidence gates.
## Stage 2 Pass Evidence - 2026-06-01
- Hermes commit: `fc54680 Complete Case lifecycle after committed proof`.
- The harness now supervises Case lifecycle and stops lingering Case execution after an independently committed fixture diff appears.
- The harness sets `PYTHONDONTWRITEBYTECODE=1` for Case execution to prevent Python bytecode cache mutation.
- Focused validator passed with `lifecycle_supervision_accepts_committed_diff`.
- Focused validator artifact: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025758Z-r1-string-slugify-2904813`.
- Pre-merge aggregate validator passed: `harness/evals/health.sh --json`.
- Pre-merge provider-adapter artifact: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025903Z-r1-string-slugify-2911438`.
- Pre-merge matrix artifact: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025901Z-run-all-fake-2911118`.
- Post-merge aggregate validator passed: `harness/evals/health.sh --json`.
- Post-merge provider-adapter artifact: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025936Z-r1-string-slugify-2916003`.
- Post-merge matrix artifact: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025934Z-run-all-fake-2915560`.
- Real Case Qwen Stage 2 pass artifact: `/home/svrnty/.hermes/profiles/cto-planb/harness-runs/20260601T025817Z-r1-string-slugify-2907822`.
- Real run report status: `pass`.
- Backend exit code: `0`.
- Case process started: `true`.
- Case model provider: `qwen-local`.
- Case model: `qwen3.6-35b-a3b`.
- Case model admission status: `admitted`.
- Case runtime bridge provider: `openai`.
- Source admission status: `not_admitted`.
- Changed files: `strings.py`.
- Tests command: `python3 -m pytest -q`.
- Tests passed: `true`.
- Required events passed: `true`.
- Patch artifact: `patch.diff`.
- Lifecycle marker: `backend/provider-lifecycle-harness-completed.txt`.
- No Target Repository path was inspected or copied.
- Result: `CTO-WORK-028`, `CTO-WORK-031`, and `CTO-WORK-032` are validated for Stage 2 artificial fixture only.
- Stage 3 remains blocked until copied-repo fixture proof exists.
Acceptance: Acceptance:
- No vendor Case source is mutated as the durable solution. - No vendor Case source is mutated as the durable solution.

View File

@ -33,7 +33,7 @@ Acceptance:
## CTO-WORK-022 - Case-Compatible Local Provider Adapter Route ## CTO-WORK-022 - Case-Compatible Local Provider Adapter Route
Status: blocked. Status: validated.
Build or supply one Case-compatible local provider adapter path after the decision record selects `local_provider_required`. Build or supply one Case-compatible local provider adapter path after the decision record selects `local_provider_required`.
@ -59,4 +59,18 @@ Current unblock:
- Decision record now selects `local_provider_required`. - Decision record now selects `local_provider_required`.
- Harness route blocks before `case_process_started` unless `CTO_HARNESS_CASE_LOCAL_BASE_URL` is supplied. - Harness route blocks before `case_process_started` unless `CTO_HARNESS_CASE_LOCAL_BASE_URL` is supplied.
- Remaining blocker is `CTO-WORK-030` plus real Stage 2 pass evidence. - Remaining blocker is cleared for Stage 2 artificial fixture only.
Validation evidence:
- Hermes commit: `5c5448b Bridge Case Qwen through OpenAI-compatible runtime`.
- 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`.
- CTO admission identity: `qwen-local` / `qwen3.6-35b-a3b`.
- Case runtime bridge provider: `openai`.
- Tests passed: `true`.
- Required events passed: `true`.
- No external provider fallback was used.
- Endpoint value was runtime-only and is not recorded in SOT.
- This route remains scoped to Stage 2 artificial fixture proof.

View File

@ -33,7 +33,7 @@ Acceptance:
## CTO-WORK-020 - Admit Case Model Provider For Real Stage 2 ## CTO-WORK-020 - Admit Case Model Provider For Real Stage 2
Status: blocked. Status: validated.
Choose and admit the exact provider/model path for real Case Stage 2, then rerun Stage 2 through the Harness Evidence Interface. Choose and admit the exact provider/model path for real Case Stage 2, then rerun Stage 2 through the Harness Evidence Interface.
@ -211,3 +211,21 @@ Acceptance:
- `CTO-WORK-030` now tracks the missing Spark endpoint config required by `CTO_HARNESS_CASE_LOCAL_BASE_URL`. - `CTO-WORK-030` now tracks the missing Spark endpoint config required by `CTO_HARNESS_CASE_LOCAL_BASE_URL`.
- Missing endpoint config blocks before `case_process_started` and writes `backend/provider-local-config-unavailable.txt`. - Missing endpoint config blocks before `case_process_started` and writes `backend/provider-local-config-unavailable.txt`.
- Endpoint presence alone is not Stage 2 pass evidence and does not unblock `CTO-WORK-020`. - Endpoint presence alone is not Stage 2 pass evidence and does not unblock `CTO-WORK-020`.
## Qwen Local Stage 2 Pass Evidence - 2026-06-01
- 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`.
- Case process started: `true`.
- Case model provider: `qwen-local`.
- Case model: `qwen3.6-35b-a3b`.
- Case model admission status: `admitted`.
- Admission file: `.sot/03-PROTOCOLS/CTO-CASE-MODEL-PROVIDER-ADMISSION.qwen-local-qwen3.6-35b-a3b.json`.
- Runtime endpoint value was supplied only through environment and is not recorded in SOT.
- Report proves no fallback to `anthropic` or `claude-sonnet-4-6`.
- Changed files: `strings.py`.
- Tests passed: `true`.
- Required events passed: `true`.
- Result: `CTO-WORK-020` is validated for Stage 2 artificial fixture only.
- This does not approve copied-repo, sandbox-repo, owned-repo, default-candidate, or Core promotion stages.

View File

@ -30,7 +30,7 @@ Acceptance:
## CTO-WORK-016 - Real Case Provider Stage 2 Run ## CTO-WORK-016 - Real Case Provider Stage 2 Run
Status: blocked. Status: validated.
Build or supply a durable admitted WorkOS Case `ca` executable, then run the existing Hermes CTO Stage 2 artificial fixture through real Case. Build or supply a durable admitted WorkOS Case `ca` executable, then run the existing Hermes CTO Stage 2 artificial fixture through real Case.
@ -192,6 +192,28 @@ Validation Evidence:
- `CTO-WORK-016` remains blocked because no real Case Stage 2 pass report exists. - `CTO-WORK-016` remains blocked because no real Case Stage 2 pass report exists.
- Current downstream blocker remains `CTO-WORK-028`. - Current downstream blocker remains `CTO-WORK-028`.
## Real Case Stage 2 Pass Evidence - 2026-06-01
- 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`.
- Case binary path used by harness: `/tmp/workos-case/dist/ca`.
- Case source pin for the built binary: `7959ac917cdeb0983b4aaa20bb9f42021747fed8`.
- Report status: `pass`.
- Backend exit code: `0`.
- Case process started: `true`.
- Case model provider: `qwen-local`.
- Case model: `qwen3.6-35b-a3b`.
- Case model admission status: `admitted`.
- Source admission status: `not_admitted`.
- Changed files: `strings.py`.
- Tests command: `python3 -m pytest -q`.
- Tests passed: `true`.
- Required events passed: `true`.
- Patch artifact: `patch.diff`.
- No Target Repository path was inspected or copied.
- Result: `CTO-WORK-016` is validated for Stage 2 artificial fixture only.
- This does not approve copied-repo, sandbox-repo, owned-repo, default-candidate, or Core promotion stages.
## CTO-WORK-018 - Case Model Provider Admission Gate ## CTO-WORK-018 - Case Model Provider Admission Gate
Status: validated. Status: validated.

View File

@ -15,7 +15,7 @@ Local planning SOT only. Not a Core Protocol. Not active Core authority.
## CTO-WORK-030 - Spark Local Provider Endpoint Config ## CTO-WORK-030 - Spark Local Provider Endpoint Config
Status: blocked. Status: validated.
Supply explicit Spark OpenAI-compatible endpoint config for the selected `qwen-local` / `qwen3.6-35b-a3b` Case path, without storing endpoint secrets in SOT or commits. Supply explicit Spark OpenAI-compatible endpoint config for the selected `qwen-local` / `qwen3.6-35b-a3b` Case path, without storing endpoint secrets in SOT or commits.
@ -122,6 +122,21 @@ Current evidence:
- This does not validate `CTO-WORK-016`, `CTO-WORK-020`, `CTO-WORK-022`, `CTO-WORK-028`, or `CTO-WORK-032`. - This does not validate `CTO-WORK-016`, `CTO-WORK-020`, `CTO-WORK-022`, `CTO-WORK-028`, or `CTO-WORK-032`.
- Current active blocker is Case lifecycle timeout after valid patch evidence. - Current active blocker is Case lifecycle timeout after valid patch evidence.
## Spark Stage 2 Pass Evidence - 2026-06-01
- 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`.
- Runtime endpoint value was supplied only through environment and is not recorded in SOT.
- Report status: `pass`.
- Case process started: `true`.
- Case model provider: `qwen-local`.
- Case model: `qwen3.6-35b-a3b`.
- Case model admission status: `admitted`.
- Tests passed: `true`.
- Required events passed: `true`.
- Changed files: `strings.py`.
- Result: `CTO-WORK-030` is validated for Stage 2 artificial fixture only.
## Hermes Case Qwen Loop Evidence - 2026-06-01 ## Hermes Case Qwen Loop Evidence - 2026-06-01
- Hermes commit: `6c453ee Add Case Qwen loop entrypoint`. - Hermes commit: `6c453ee Add Case Qwen loop entrypoint`.

View File

@ -51,6 +51,8 @@ Done evidence: PRD, issue artifact, validator JSON, clean worktree, commit.
Type: AFK Type: AFK
Status: validated.
Blocked by: CTO-WORK-011 Blocked by: CTO-WORK-011
User stories covered: CTO Case Candidate Backend PRD stories 4, 5, 7, 8, 9, 10, 11, 13. User stories covered: CTO Case Candidate Backend PRD stories 4, 5, 7, 8, 9, 10, 11, 13.
@ -81,6 +83,22 @@ Validator: `python3 harness/runner/validate-case-stage2.py --harness-root harnes
Done evidence: Stage 2 pass report, failure fixture reports, artifact digests, no-mutation proof, clean worktree, commit. Done evidence: Stage 2 pass report, failure fixture reports, artifact digests, no-mutation proof, clean worktree, commit.
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`.
- Backend: `case`.
- Case model provider: `qwen-local`.
- Case model: `qwen3.6-35b-a3b`.
- Case model admission status: `admitted`.
- Changed files: `strings.py`.
- Tests passed: `true`.
- Required events passed: `true`.
- Source admission status: `not_admitted`.
- No Target Repository path was inspected or copied.
- Stage 3 remains blocked until copied-repo fixture proof exists.
## Granularity Check ## Granularity Check
This is intentionally two slices: one planning route and one executable harness route. It is not over-granular because Stage 2 is the first Case execution boundary and must be reviewed before any copied-repo work. This is intentionally two slices: one planning route and one executable harness route. It is not over-granular because Stage 2 is the first Case execution boundary and must be reviewed before any copied-repo work.

View File

@ -81,6 +81,8 @@ Promotion condition:
## Stage 2 - Artificial Fixture ## Stage 2 - Artificial Fixture
Status: validated for Case/Qwen Stage 2 artificial fixture on 2026-06-01.
Entry gates: Entry gates:
- Stage 1 is validated. - Stage 1 is validated.
@ -115,6 +117,17 @@ Promotion condition:
- Case adapter matches existing fake fixture behavior through the Harness Evidence Interface. - 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 ## Stage 3 - Copied Repo Fixture
Entry gates: Entry gates:

View File

@ -57,9 +57,9 @@ items:
owner: "" owner: ""
- id: CTO-WORK-012 - id: CTO-WORK-012
title: Stage 2 Harness Artificial Fixture Route title: Stage 2 Harness Artificial Fixture Route
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-STAGE2-ARTIFICIAL-FIXTURE-ISSUES.md source: .sot/03-PROTOCOLS/CTO-CASE-STAGE2-ARTIFICIAL-FIXTURE-ISSUES.md
owner: jp owner: ""
- id: CTO-WORK-013 - id: CTO-WORK-013
title: Case Provider Admission PRD title: Case Provider Admission PRD
status: validated status: validated
@ -77,9 +77,9 @@ items:
owner: "" owner: ""
- id: CTO-WORK-016 - id: CTO-WORK-016
title: Real Case Provider Stage 2 Run title: Real Case Provider Stage 2 Run
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-PROVIDER-BUILD-ISSUES.md source: .sot/03-PROTOCOLS/CTO-CASE-PROVIDER-BUILD-ISSUES.md
owner: jp owner: ""
- id: CTO-WORK-017 - id: CTO-WORK-017
title: Case Provider Timeout Fail-Closed Route title: Case Provider Timeout Fail-Closed Route
status: validated status: validated
@ -97,9 +97,9 @@ items:
owner: "" owner: ""
- id: CTO-WORK-020 - id: CTO-WORK-020
title: Admit Case Model Provider For Real Stage 2 title: Admit Case Model Provider For Real Stage 2
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-MODEL-PROVIDER-ADMISSION-ISSUES.md source: .sot/03-PROTOCOLS/CTO-CASE-MODEL-PROVIDER-ADMISSION-ISSUES.md
owner: jp owner: ""
- id: CTO-WORK-021 - id: CTO-WORK-021
title: Case-Compatible Local Provider Adapter Route PRD title: Case-Compatible Local Provider Adapter Route PRD
status: validated status: validated
@ -107,9 +107,9 @@ items:
owner: "" owner: ""
- id: CTO-WORK-022 - id: CTO-WORK-022
title: Case-Compatible Local Provider Adapter Route title: Case-Compatible Local Provider Adapter Route
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-LOCAL-PROVIDER-ROUTE-ISSUES.md source: .sot/03-PROTOCOLS/CTO-CASE-LOCAL-PROVIDER-ROUTE-ISSUES.md
owner: jp owner: ""
- id: CTO-WORK-023 - id: CTO-WORK-023
title: Case Provider Decision Packet PRD title: Case Provider Decision Packet PRD
status: validated status: validated
@ -137,9 +137,9 @@ items:
owner: "" owner: ""
- id: CTO-WORK-028 - id: CTO-WORK-028
title: Case Agent Result Protocol Blocker title: Case Agent Result Protocol Blocker
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-AGENT-PROTOCOL-BLOCKER.md source: .sot/03-PROTOCOLS/CTO-CASE-AGENT-PROTOCOL-BLOCKER.md
owner: jp owner: ""
- id: CTO-WORK-029 - id: CTO-WORK-029
title: Qwen Local Case Model Admission JSON title: Qwen Local Case Model Admission JSON
status: validated status: validated
@ -147,16 +147,16 @@ items:
owner: "" owner: ""
- id: CTO-WORK-030 - id: CTO-WORK-030
title: Spark Local Provider Endpoint Config title: Spark Local Provider Endpoint Config
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-SPARK-ENDPOINT-CONFIG-ISSUES.md source: .sot/03-PROTOCOLS/CTO-CASE-SPARK-ENDPOINT-CONFIG-ISSUES.md
owner: jp owner: ""
- id: CTO-WORK-031 - id: CTO-WORK-031
title: Case Local Provider Response Shape Shim title: Case Local Provider Response Shape Shim
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-AGENT-PROTOCOL-BLOCKER.md source: .sot/03-PROTOCOLS/CTO-CASE-AGENT-PROTOCOL-BLOCKER.md
owner: jp owner: ""
- id: CTO-WORK-032 - id: CTO-WORK-032
title: Case Lifecycle Timeout After Valid Patch title: Case Lifecycle Timeout After Valid Patch
status: blocked status: validated
source: .sot/03-PROTOCOLS/CTO-CASE-AGENT-PROTOCOL-BLOCKER.md source: .sot/03-PROTOCOLS/CTO-CASE-AGENT-PROTOCOL-BLOCKER.md
owner: jp owner: ""

View File

@ -683,7 +683,7 @@ REQUIRED_SPARK_ENDPOINT_CONFIG_PRD_PHRASES = [
REQUIRED_SPARK_ENDPOINT_CONFIG_ISSUE_PHRASES = [ REQUIRED_SPARK_ENDPOINT_CONFIG_ISSUE_PHRASES = [
"CTO-WORK-030 - Spark Local Provider Endpoint Config", "CTO-WORK-030 - Spark Local Provider Endpoint Config",
"Status: blocked.", "Status: validated.",
"CTO_HARNESS_CASE_LOCAL_BASE_URL", "CTO_HARNESS_CASE_LOCAL_BASE_URL",
"Missing endpoint config blocks before `case_process_started`.", "Missing endpoint config blocks before `case_process_started`.",
"Missing endpoint config writes `backend/provider-local-config-unavailable.txt`.", "Missing endpoint config writes `backend/provider-local-config-unavailable.txt`.",
@ -1090,24 +1090,24 @@ def main() -> int:
"CTO-WORK-009": "validated", "CTO-WORK-009": "validated",
"CTO-WORK-010": "validated", "CTO-WORK-010": "validated",
"CTO-WORK-011": "validated", "CTO-WORK-011": "validated",
"CTO-WORK-012": "blocked", "CTO-WORK-012": "validated",
"CTO-WORK-013": "validated", "CTO-WORK-013": "validated",
"CTO-WORK-014": "validated", "CTO-WORK-014": "validated",
"CTO-WORK-015": "validated", "CTO-WORK-015": "validated",
"CTO-WORK-016": "blocked", "CTO-WORK-016": "validated",
"CTO-WORK-017": "validated", "CTO-WORK-017": "validated",
"CTO-WORK-018": "validated", "CTO-WORK-018": "validated",
"CTO-WORK-019": "validated", "CTO-WORK-019": "validated",
"CTO-WORK-020": "blocked", "CTO-WORK-020": "validated",
"CTO-WORK-021": "validated", "CTO-WORK-021": "validated",
"CTO-WORK-022": "blocked", "CTO-WORK-022": "validated",
"CTO-WORK-023": "validated", "CTO-WORK-023": "validated",
"CTO-WORK-024": "validated", "CTO-WORK-024": "validated",
"CTO-WORK-025": "validated", "CTO-WORK-025": "validated",
"CTO-WORK-026": "validated", "CTO-WORK-026": "validated",
"CTO-WORK-027": "validated", "CTO-WORK-027": "validated",
"CTO-WORK-029": "validated", "CTO-WORK-029": "validated",
"CTO-WORK-030": "blocked", "CTO-WORK-030": "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}")