135 lines
9.2 KiB
Markdown
135 lines
9.2 KiB
Markdown
---
|
|
name: CTO Core Promotion Decision Packet PRD
|
|
status: validated
|
|
lifecycle_classification: sot
|
|
owner: jp
|
|
created: 2026-06-02
|
|
last_reviewed: 2026-06-02
|
|
core_promotion_status: not-promoted
|
|
source: .sot/03-PROTOCOLS/CTO-CASE-STAGE6-REPEATABILITY-REFRESH-EVIDENCE.md
|
|
---
|
|
|
|
# CTO Core Promotion Decision Packet PRD
|
|
|
|
Local planning SOT only. Not a Core Protocol. Not active Core authority.
|
|
|
|
Core Promotion Decision Packet.
|
|
|
|
## Problem Statement
|
|
|
|
CTO now has validated child-local evidence through Stage 6 repeatability: two governed Stage 5 Case passes, a read-only Stage 6 repeatability refresh, Hermes Control Surface replay data, runtime default activation false, and Core promotion status not-promoted. Without one compact decision packet, the next operator or Core route has to reconstruct readiness from many artifacts and can misread candidate-default readiness as promotion or runtime default authority.
|
|
|
|
## Solution
|
|
|
|
Create a child-local Core Promotion Decision Packet that maps validated CTO evidence to one future governed Core review decision. The packet records `decision_status: core_promotion_requested`, `ready_for_core_review: true`, `candidate_default_repeatability_eligible: true`, `runtime_default_activation: false`, and `core_promotion_status: not-promoted`. It recommends opening a separate governed Core PRD route only after a Core Route Admission Guard passes. It does not mutate Core, promote CTO artifacts, activate Case as runtime default, or authorize another Case run.
|
|
|
|
## Scope
|
|
|
|
- Register `CTO-WORK-085`, `CTO-WORK-086`, `CTO-WORK-087`, and `CTO-WORK-088`.
|
|
- Define the packet as child-local CTO planning only.
|
|
- Define allowed decision states: `not_decided`, `core_promotion_requested`, and `core_promotion_deferred`.
|
|
- Set the current decision state to `core_promotion_requested` as a request for Core review, not as promotion approval.
|
|
- Map evidence from `CTO-WORK-071`, `CTO-WORK-075`, `CTO-WORK-077`, `CTO-WORK-080`, `CTO-WORK-081`, `CTO-WORK-082`, `CTO-WORK-083`, and `CTO-WORK-084`.
|
|
- Include repeatability_count: 2.
|
|
- Include repeatability_status: pass.
|
|
- Include candidate_default_repeatability_eligible: true.
|
|
- Include runtime_default_activation: false.
|
|
- Include Core promotion status not-promoted.
|
|
- Reference the Stage 6 repeatability comparison artifact.
|
|
- Reference the Hermes WebUI summary artifact.
|
|
- Record the recommended next decision as `open_governed_core_prd_route`.
|
|
- State Core Sequence Protocol route required before any Core mutation.
|
|
- State Core validator coverage required before any Core promotion claim.
|
|
- State runtime default activation requires a separate governed Core route.
|
|
- State no new target repository mutation occurs.
|
|
- State no Core file mutation occurs in this CTO slice.
|
|
- Preserve secrets, endpoints, credential values, and raw Target Repository content out of SOT.
|
|
|
|
## Non-Goals
|
|
|
|
- Do not promote CTO artifacts into Core.
|
|
- Do not activate Case as default backend.
|
|
- Do not run Case.
|
|
- Do not mutate target repositories.
|
|
- Do not mutate `../core/`.
|
|
- Do not edit upstream `hermes-webui`.
|
|
- Do not edit upstream `hermes-agent`.
|
|
- Do not create Runtime behavior.
|
|
- Do not create a new backend, provider, adapter, harness command, or WebUI control.
|
|
- Do not push, merge, deploy, close, PR open, issue close, public publication, vendor-source mutation, external developer repository mutation, unowned repository mutation, endpoint exposure, secret exposure, credential exposure, or raw Target Repository content exposure.
|
|
- Do not treat Case, Hermes, Pi, Codex, Harness, or CTO as Cortex OS authority.
|
|
|
|
## User Stories
|
|
|
|
1. As JP, I want one compact readiness packet, so that I can decide whether to open a governed Core review without reading every CTO artifact first.
|
|
2. As Cortex OS Core, I want child-local evidence to remain child-local until routed, so that promotion cannot happen by wording.
|
|
3. As CTO, I want candidate-default readiness separated from runtime default activation, so that repeatability evidence cannot become execution authority.
|
|
4. As Hermes, I want replay paths preserved in the packet, so that proof can be inspected without copying runtime artifacts into SOT.
|
|
5. As a future Core agent, I want explicit blockers and required validators, so that a Core PRD route can start from a clear contract.
|
|
|
|
## Implementation Decisions
|
|
|
|
- The packet is a SOT document in the CTO workspace, not a generated artifact and not a Core Protocol.
|
|
- The packet is the interface for this slice; no runtime module, adapter, or new command is introduced.
|
|
- The decision record uses only `not_decided`, `core_promotion_requested`, and `core_promotion_deferred`.
|
|
- The packet records `ready_for_core_review: true` rather than `promoted`, `approved`, or `runtime_default_active`.
|
|
- The packet maps evidence by Workboard IDs and replay artifact paths instead of copying runtime JSON, proof logs, or raw Target Repository content.
|
|
- The packet's next action is a decision route: `open_governed_core_prd_route`.
|
|
- The packet's next action is candidate-only until the Core Route Admission Guard passes.
|
|
- Any later promotion must happen from the Core workspace under the Core Sequence Protocol, Core object classification, Core validators, and Core Evidence.
|
|
|
|
## Testing Decisions
|
|
|
|
- Test at the highest existing seam: `python3 tools/validate_cto_child.py`.
|
|
- Validator coverage must require the packet files, Workboard IDs, readiness fields, authority guards, replay paths, and forbidden-action language.
|
|
- Core caveman prose discipline remains required before claim or final answer.
|
|
- No Harness aggregate is required for this slice because no Hermes, Harness, Case, or Target Repository behavior changes.
|
|
|
|
## Challenge Review
|
|
|
|
- `$zoom-out`: accepted. The packet maps the vertical chain: Cortex governs, CTO routes, Hermes controls, Harness proves, Case executes, Target Repository stays owned.
|
|
- `$improve-codebase-architecture`: accepted. The deepest useful interface is the existing SOT plus validator seam; adding a runtime abstraction would create shallow machinery.
|
|
- `$grill-with-docs`: accepted. `Core Promotion Decision Packet` is added to `CONTEXT.md`, and the canonical readiness term is `ready_for_core_review`.
|
|
- Reviewer feedback accepted: use a separate decision record and closeout so the decision state is fail-closed and the validation proof is explicit.
|
|
- Reviewer feedback accepted: preserve exact guard phrases `No Core promotion occurs.`, `Do not activate Case as default backend.`, and `This closeout does not authorize another Case run.`
|
|
- Rejected feedback: promote directly into Core now. This is an irreversible authority choice and requires a governed Core route.
|
|
- Rejected feedback: activate Case as runtime default now. Repeatability proves review readiness only; default activation needs separate Core authority.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- `WORKBOARD.yaml` records `CTO-WORK-085`, `CTO-WORK-086`, `CTO-WORK-087`, and `CTO-WORK-088` as validated.
|
|
- `CONTEXT.md` defines Core Promotion Decision Packet.
|
|
- The PRD, issue sequence, decision record, and closeout all state Local planning SOT only. Not a Core Protocol. Not active Core authority.
|
|
- The decision record defines only `not_decided`, `core_promotion_requested`, and `core_promotion_deferred`.
|
|
- The packet records `decision_status: core_promotion_requested`.
|
|
- The packet records `ready_for_core_review: true`.
|
|
- The packet records `candidate_default_repeatability_eligible: true`.
|
|
- The packet records `repeatability_count: 2`.
|
|
- The packet records `repeatability_status: pass`.
|
|
- The packet records `runtime_default_activation: false`.
|
|
- The packet records `core_promotion_status: not-promoted`.
|
|
- The packet records `recommended_next_decision: open_governed_core_prd_route`.
|
|
- The packet states Core Sequence Protocol route required.
|
|
- The packet states Core validator coverage required.
|
|
- The packet states runtime default activation requires a separate governed Core route.
|
|
- The packet references the Stage 6 repeatability comparison artifact.
|
|
- The packet references the Hermes WebUI summary artifact.
|
|
- The packet states no Core mutation, no Target Repository mutation, no Case execution, and no default activation occur in this slice.
|
|
- The CTO validator checks the PRD, issue sequence, decision record, closeout, and Workboard statuses.
|
|
|
|
## Validation
|
|
|
|
- `python3 tools/validate_cto_child.py`
|
|
- `python3 /home/svrnty/workspaces/cortex-os/core/tools/check_s69_caveman_prose_discipline.py`
|
|
|
|
## Risks And Dependencies
|
|
|
|
- Readiness language can be misread as promotion. Mitigation: require `ready_for_core_review`, `core_promotion_status: not-promoted`, and runtime default activation false.
|
|
- The future Core route can conflict with current Core Sequence Protocol priorities. Mitigation: the packet recommends review only and requires Core Sequence Protocol routing before Core mutation.
|
|
- Evidence paths can drift. Mitigation: packet records exact replay artifact paths and Workboard IDs.
|
|
- New CTO text can overstate authority. Mitigation: CTO validator requires authority guard phrases and forbidden-action language.
|
|
|
|
## Success Definition
|
|
|
|
CTO has one validated Core Promotion Decision Packet that says candidate-default evidence is ready for Core review, while Core promotion remains not-promoted, runtime default activation remains false, no Core or Target Repository mutation occurs, and any promotion must begin as a separate governed Core PRD route.
|