Add Steev navigation index

This commit is contained in:
Svrnty
2026-06-17 23:36:07 -04:00
parent e3ada3edea
commit aadd2ce5ea
3 changed files with 54 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# Steev Index
Route: `steev`.
Path: `/home/svrnty/workspaces/cortex-os/steev`.
Category: child-local `personal-agent` profile workspace for the Steev display/distribution alias.
Validator: `python3 tools/validate_steev_child.py`.
## Read Order
1. `AGENTS.md` for profile authority, forbidden effects, and validator rules.
2. `README.md` for profile boundary and current contract map.
3. `AGENT.md`, `CONTRACT.md`, and `DISCLOSURE.md` for visible profile identity and distribution constraints.
4. `docs/contracts/` and `docs/evidence/` only for the specific profile surface or proof being changed.
5. `WORKBOARD.yaml` for child-local work state.
## Local Authority
Steev owns child-local profile identity, role and boundary docs, personal-surface contracts, redacted proof packets, proposal-only memory routing records, desktop exposure contracts, runtime-readiness snapshots, validators, and handoff references.
Steev is not Core authority, Runtime authority, Profile Exposure authority, credential authority, provider authority, send authority, memory-domain authority, browser-host authority, public product authority, release authority, production-readiness authority, or autonomous execution authority.
## Legacy Relation
Old Steev/personal-agent, BlueBubbles, Proton/rclone, Secondbrain, Conductor/Curator handoff, desktop exposure, and runtime-readiness work is reference-only unless a governed route admits it. Preserve redacted refs and current contracts. Do not import raw messages, mail bodies, contacts, calendar details, drive names, credentials, browser state, provider payloads, or implementation mass because they exist.
## Completion State
Stage: CLEAN.
Clean score: 100.
Current next pass: keep Steev as a child-local profile workspace with proposal-only memory routing, no autonomous sends, no credential reads, no durable memory writes, no Profile Exposure broadening, and no readiness claim from local validation alone.
+5
View File
@@ -89,3 +89,8 @@ items:
status: validated status: validated
source: AGENTS.md source: AGENTS.md
owner: "" owner: ""
- id: STEEV-WORK-004
title: Steev Navigation Index
status: validated
source: INDEX.md
owner: ""
+19
View File
@@ -12,6 +12,7 @@ import yaml
ROOT = Path(__file__).resolve().parents[1] ROOT = Path(__file__).resolve().parents[1]
REQUIRED = [ REQUIRED = [
"AGENTS.md", "AGENTS.md",
"INDEX.md",
"README.md", "README.md",
"WORKBOARD.yaml", "WORKBOARD.yaml",
"manifest.yaml", "manifest.yaml",
@@ -298,7 +299,10 @@ def main() -> int:
"PACR-014", "PACR-014",
"PACR-015", "PACR-015",
"STEEV-WORK-003", "STEEV-WORK-003",
"STEEV-WORK-004",
"Steev Agent Contract Enforcement", "Steev Agent Contract Enforcement",
"Steev Navigation Index",
"source: INDEX.md",
"status: validated", "status: validated",
"status: candidate", "status: candidate",
"owner: jp", "owner: jp",
@@ -317,6 +321,21 @@ def main() -> int:
for snippet in README_CONTRACT_SNIPPETS: for snippet in README_CONTRACT_SNIPPETS:
if not has_snippet(text, snippet): if not has_snippet(text, snippet):
errors.append(f"readme_missing:{snippet}") errors.append(f"readme_missing:{snippet}")
index = ROOT / "INDEX.md"
if index.exists():
text = index.read_text(encoding="utf-8")
for snippet in [
"Route: `steev`.",
"Category: child-local `personal-agent` profile workspace",
"Steev owns child-local profile identity",
"Steev is not Core authority, Runtime authority, Profile Exposure authority",
"Do not import raw messages, mail bodies, contacts",
"Stage: CLEAN.",
"Clean score: 100.",
"no readiness claim from local validation alone",
]:
if not has_snippet(text, snippet):
errors.append(f"index_missing:{snippet}")
manifest = ROOT / "manifest.yaml" manifest = ROOT / "manifest.yaml"
if manifest.exists(): if manifest.exists():