diff --git a/AGENTS.md b/AGENTS.md index 587e3c5..ecc41b8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,11 @@ # Cortex OS CTO Workspace Agent Rules +## Pickup + +Endgoal: maintain child-local CTO planning that can route governed execution work without becoming Core authority, a Runtime, or a backend owner. + +Read `docs/LEGACY-INGEST.md` before broad cleanup, restart, or old-work ingestion. It captures the intention behind mature CTO clusters and rejects implementation mass that does not serve the current endgoal. + This workspace is a child-local planning workspace for the Cortex OS CTO product line. It is not Cortex OS Core authority. It is not a Runtime. It is not a Host Runtime. diff --git a/README.md b/README.md index a42aa90..7624066 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,10 @@ Core promotes only through SOT route. This workspace is registered as a child-local planning workspace. Registration does not grant Core authority. +## Legacy Ingest + +Read `docs/LEGACY-INGEST.md` before broad cleanup or old-work ingestion. The file records which older CTO clusters are still useful by intention and which implementation mass stays out. + ## Layout ```text @@ -26,6 +30,8 @@ This workspace is registered as a child-local planning workspace. Registration d |-- AGENTS.md |-- README.md |-- WORKBOARD.yaml +|-- docs/ +| `-- LEGACY-INGEST.md |-- .sot/ | |-- 00-START/ | | `-- CTO-WORKSPACE-INTENT.md diff --git a/WORKBOARD.yaml b/WORKBOARD.yaml index dd2aa90..5c31e95 100644 --- a/WORKBOARD.yaml +++ b/WORKBOARD.yaml @@ -481,3 +481,8 @@ items: status: validated source: .sot/03-PROTOCOLS/CTO-CODEX-RETENTION-POLICY-PACKET.md owner: "" + - id: CTO-WORK-097 + title: CTO Legacy Ingest Overview + status: validated + source: docs/LEGACY-INGEST.md + owner: "" diff --git a/docs/LEGACY-INGEST.md b/docs/LEGACY-INGEST.md new file mode 100644 index 0000000..11660dd --- /dev/null +++ b/docs/LEGACY-INGEST.md @@ -0,0 +1,88 @@ +# CTO Legacy Ingest + +Local planning only. Not Core authority. Not a Core Protocol. Not active Runtime authority. + +Source: CTO-WORK-097. + +## Purpose + +Legacy Ingest captures intention; it does not import implementation mass. + +Use this file to decide which older CTO planning clusters still matter for the current child-local endgoal: + +- Cortex governs. +- Hermes controls. +- CTO routes. +- Case executes. +- Harness proves. +- Target repo stays owned. +- Evidence records. +- Core promotes only through SOT route. + +## Source Clusters Assessed By Intention + +### Case Admission And Proof Contract + +Reference cluster: + +- `.sot/03-PROTOCOLS/CTO-CASE-SOURCE-ADMISSION-RECORD.md` +- `.sot/03-PROTOCOLS/CTO-CASE-ADAPTER-CONTRACT.md` +- `.sot/03-PROTOCOLS/CTO-HARNESS-EVIDENCE-INTERFACE-CONTRACT.md` +- `.sot/03-PROTOCOLS/CTO-CASE-FAILURE-FIXTURE-MATRIX.md` +- `.sot/03-PROTOCOLS/CTO-CASE-STAGED-PROOF-GATES.md` + +Decision: keep the intention. + +The useful idea is the proof shape: source admission, adapter boundaries, failure fixtures, staged gates, and evidence contracts. Do not preserve every intermediate scaffold if it only restates the same gate. + +### Governed Execution Flow + +Reference cluster: + +- `CTO-WORK-066` through `CTO-WORK-071` +- `.sot/03-PROTOCOLS/CTO-GOVERNED-EXECUTION-REQUEST-PRD.md` +- `.sot/03-PROTOCOLS/CTO-GOVERNED-EXECUTION-APPROVAL-RECORD.md` +- `.sot/03-PROTOCOLS/CTO-GOVERNED-EXECUTION-EVIDENCE-CLOSEOUT.md` + +Decision: keep the intention. + +The useful idea is a governed request, explicit approval, execution evidence, and closeout. The target repository remains owned by its own route. CTO does not become a general execution authority. + +### Hermes Visibility + +Reference cluster: + +- `.sot/03-PROTOCOLS/CTO-HERMES-CONTROL-SURFACE-PRD.md` +- `.sot/03-PROTOCOLS/CTO-HERMES-REAL-REFRESH-CONTROL-REPLAY-PRD.md` +- `.sot/03-PROTOCOLS/CTO-HERMES-WEBUI-CONTROL-PANEL-EVIDENCE.md` + +Decision: keep the intention. + +The useful idea is visibility and replay. Hermes may display proof posture, approval state, and blocked lanes. Hermes must not govern, promote, or mutate target repositories from this child workspace. + +### Provider And Retention Work + +Reference cluster: + +- `.sot/03-PROTOCOLS/CTO-CASE-PROVIDER-DECISION-RECORD.md` +- `.sot/03-PROTOCOLS/CTO-CODEX-RETENTION-DRY-RUN-PACKET.md` +- `.sot/03-PROTOCOLS/CTO-CODEX-RETENTION-POLICY-PACKET.md` +- `.sot/03-PROTOCOLS/CTO-CODEX-RETENTION-ARCHIVE-EXECUTOR-PACKET.md` + +Decision: keep the intention with caution. + +The useful idea is explicit provider admission and metadata-only retention hygiene. Do not copy secrets, raw transcripts, or provider runtime behavior into CTO. Archive and deletion remain approval-gated. + +## Rejection Rules + +- Do not activate Case as default backend. +- Do not mutate target repositories. +- Do not treat Hermes, Case, Pi, Codex, or any execution backend as Cortex OS authority. +- Do not promote child-local CTO text into Core without a governed Core route. +- Do not ingest duplicate planning drafts when a later validated closeout already captures the intention. + +## Completion Stage + +Stage: legacy intention captured for the main CTO planning clusters. + +Remaining useful work: compress duplicate CTO planning surfaces after each cluster has an owner, validator coverage, and a current route decision. diff --git a/tools/validate_cto_child.py b/tools/validate_cto_child.py index cdb9ba2..1c6a94e 100644 --- a/tools/validate_cto_child.py +++ b/tools/validate_cto_child.py @@ -15,6 +15,7 @@ REQUIRED_FILES = [ "README.md", "WORKBOARD.yaml", "CONTEXT.md", + "docs/LEGACY-INGEST.md", ".sot/00-START/CTO-WORKSPACE-INTENT.md", ".sot/03-PROTOCOLS/CTO-CASE-BACKEND-BRIEF.md", ".sot/03-PROTOCOLS/CTO-ARCHITECTURE-BRIEF-CLOSEOUT-PRD.md", @@ -136,6 +137,21 @@ REQUIRED_BRIEF_PHRASES = [ "Runtime default activation remains false until a later governed route changes it.", ] +REQUIRED_LEGACY_INGEST_PHRASES = [ + "Local planning only. Not Core authority.", + "Source: CTO-WORK-097.", + "Legacy Ingest captures intention; it does not import implementation mass.", + "Cortex governs.", + "Hermes controls.", + "CTO routes.", + "Case executes.", + "Harness proves.", + "Core promotes only through SOT route.", + "Source Clusters Assessed By Intention", + "Do not activate Case as default backend.", + "Do not mutate target repositories.", +] + REQUIRED_ARCHITECTURE_CLOSEOUT_PRD_PHRASES = [ "Local planning SOT only. Not a Core Protocol. Not active Core authority.", "`CTO-WORK-001` remains `candidate`", @@ -1780,6 +1796,14 @@ def main() -> int: if not path.is_file(): errors.append(f"missing_required_file:{rel}") + legacy_ingest = ROOT / "docs/LEGACY-INGEST.md" + if legacy_ingest.is_file(): + text = legacy_ingest.read_text(encoding="utf-8") + for phrase in REQUIRED_LEGACY_INGEST_PHRASES: + checked.append(f"legacy_ingest_phrase:{phrase}") + if phrase not in text: + errors.append(f"missing_legacy_ingest_phrase:{phrase}") + brief = ROOT / ".sot/03-PROTOCOLS/CTO-CASE-BACKEND-BRIEF.md" if brief.is_file(): text = brief.read_text(encoding="utf-8") @@ -3069,6 +3093,7 @@ def main() -> int: "CTO-WORK-094": "validated", "CTO-WORK-095": "validated", "CTO-WORK-096": "validated", + "CTO-WORK-097": "validated", } for issue_id, expected in expected_statuses.items(): checked.append(f"workboard_status:{issue_id}:{expected}") @@ -3169,6 +3194,8 @@ def main() -> int: errors.append("workboard_missing_codex_retention_policy_source") if "CTO-CODEX-RETENTION-ARCHIVE-EXECUTOR-PACKET.md" not in text: errors.append("workboard_missing_codex_retention_archive_source") + if "docs/LEGACY-INGEST.md" not in text: + errors.append("workboard_missing_legacy_ingest_source") payload = { "ok": not errors,