From 7ea62147a6ca94053a637919152f56741bfbd8b1 Mon Sep 17 00:00:00 2001 From: Svrnty Date: Sun, 24 May 2026 12:36:54 -0400 Subject: [PATCH] =?UTF-8?q?feat(steev):=20PROFILE-DISTRIBUTION-PROTOCOL=20?= =?UTF-8?q?=C2=A72.1+=C2=A72.2=20compliance=20+=20jp-voice=20stub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AGENT.md: REQUIRED T2 frontmatter per §2.1. manifest.yaml: REQUIRED governance: block per §2.2 — org=personal, no brand_master_ref (Steev is JP-scoped personal assistant). .env.example: created (HERMES_HOME, STEEV_LIB, CREDCTL, STEEV_VAULT). skills/steev-agent/jp-voice.md: stub placeholder w/ defaults (tone/cadence/ pronouns/filler-ban/honesty) + curated-samples slot + Plan B brand anti- pattern guard. Replace as JP provides voice samples. CLAUDE.md: site-map footer. skills/proton-tools/ left untracked (pre-existing, out of scope this pass). Co-Authored-By: Claude Opus 4.7 (1M context) --- .env.example | 8 ++++++++ AGENT.md | 13 ++++++++++++ CLAUDE.md | 21 ++++++++++++++++++++ manifest.yaml | 17 ++++++++++++++++ skills/steev-agent/jp-voice.md | 36 ++++++++++++++++++++++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 .env.example create mode 100644 skills/steev-agent/jp-voice.md diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c0698ca --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +# Steev profile distribution — per-install config. Copy to .env and edit. NO SECRETS (those live in credctl). +HERMES_HOME="${HOME}/.hermes" +# The repo is canonical; ~/.hermes/steev symlinks to it (set by install.sh). +STEEV_LIB="${HOME}/.hermes/steev" +# Credential vault CLI (resolves secrets at call time; never stored here). +CREDCTL="${HOME}/workspaces/cortex/L6-svrnty.core-credentials/credctl" +# Obsidian vault location (Steev-only PKM; CMO/CEO never touch it). +STEEV_VAULT="${HOME}/vaults/steev" diff --git a/AGENT.md b/AGENT.md index eddc929..b8750c5 100644 --- a/AGENT.md +++ b/AGENT.md @@ -1,3 +1,16 @@ +--- +name: steev-agent +tier: T2 +status: active +owner: jp +source: hand +last_reviewed: 2026-05-24 +description: Steev profile identity — JP's personal assistant / chief of staff (JP-scoped, not org-bound) +depends_on: + - profile-distribution-protocol + - steev-contract +--- + # Steev — Agent Identity > The WHO of this profile distribution. Loaded conceptually before the orchestrator skill. For the full operating reference, see [`docs/STEEV-MASTER.md`](docs/STEEV-MASTER.md). diff --git a/CLAUDE.md b/CLAUDE.md index d36cacd..9c12122 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -35,3 +35,24 @@ steev/ - JP voice ≠ Plan B brand voice. Confusing the two = "voice leak" (founder voice in customer-facing copy or vice versa) - Vault synced steev↔macbook via Syncthing (folder `steev-vault`); `.stignore` blocks `.obsidian/workspace*.json` + `.git` - Reuse existing core skills (google-workspace, apple-notes, apple-reminders, obsidian) — only BUILD what doesn't exist (daily-briefing, inbox-triage, comms-drafting) + + +## Site map — where to find anything in cortex-os + +Read these in order to ground any session: + +| What | Where | +|---|---| +| **Karpathy 4 rules** | `~/.claude/CLAUDE.md` (auto-inherited every session) | +| **Workspace contract + repo map** | `~/workspaces/hermes/CLAUDE.md` | +| **SOT library orientation** | `~/workspaces/hermes/sot/README.md` | +| **Curator-generated SOT index** | `~/workspaces/hermes/sot/INDEX.md` | +| **Profile catalog (5 profiles + tool disclosure + governance)** | `~/workspaces/hermes/sot/06-REGISTRY/PROFILE-CATALOG.md` | +| **Profile distribution protocol (T1)** | `~/workspaces/hermes/sot/03-PROTOCOLS/PROFILE-DISTRIBUTION-PROTOCOL.md` | +| **Frontmatter spec (T1)** | `~/workspaces/hermes/sot/04-STANDARDS/FRONTMATTER-SPEC.md` | +| **SOT enforcement (pre-commit + curator + pre-push)** | `~/workspaces/hermes/sot/04-STANDARDS/SOT-ENFORCEMENT.md` | +| **Living graph artifact** | `~/workspaces/hermes/graph/umbrella.json` (curator-maintained) | +| **Living graph UI panel (planned)** | `/umbrella` route in hermes-webui per `sot/03-PROTOCOLS/CORTEX-OS-UMBRELLA-VIZ-PRD.md` | +| **This repo's CONTRACT.md** | `./CONTRACT.md` if present (T1 — wins over everything in this repo) | + +If you're new to a session: read the workspace contract first, then this file, then the SOT orientation. Don't guess about cortex-os structure — anchor to these. diff --git a/manifest.yaml b/manifest.yaml index 329c0ad..55f05e0 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -10,6 +10,23 @@ identity: AGENT.md # WHO (role, mission, boundaries) contract: CONTRACT.md # behavior contract — tier T1 (this file wins) reference: docs/STEEV-MASTER.md # full operating source of truth +# Governance — owner + vision + rules linked to SOT (PROFILE-DISTRIBUTION-PROTOCOL §2.2). +# Steev is JP-scoped personal; no brand_master_ref (not org-bound). +governance: + org: personal + owner: jp + approval_authority: jp + vision_refs: + - ../sot/01-ROADMAP/CORTEX-OS-ROADMAP.md + - ../sot/02-FRAMEWORK/CORTEX-OS-FRAMEWORK.md + governing_protocols: + - ../sot/03-PROTOCOLS/PROFILE-DISTRIBUTION-PROTOCOL.md + standards: + - ../sot/04-STANDARDS/FRONTMATTER-SPEC.md + - ../sot/04-STANDARDS/SOT-ENFORCEMENT.md + # brand_master_ref omitted — Steev serves JP personally, not a brand/org + north_star: "keep JP unblocked — surface what needs attention, draft in JP voice, delegate business work to CEO" + skills: # exposed to Hermes via skills.external_dirs (→ /skills) - skills/steev-agent # orchestrator — daily briefing, inbox triage, comms drafting, # business delegation to ceo-planb diff --git a/skills/steev-agent/jp-voice.md b/skills/steev-agent/jp-voice.md new file mode 100644 index 0000000..b65910c --- /dev/null +++ b/skills/steev-agent/jp-voice.md @@ -0,0 +1,36 @@ +# JP Voice Card — Stub + +> **STATUS:** Stub placeholder. Replace with JP voice samples once JP provides them. Per `CONTRACT.md §5`, Steev drafts in JP's voice — this card defines what that voice is so drafts are consistent. + +## Defaults (until JP-curated samples land) + +- **Tone:** direct, warm, bilingual (French/English; switch is contextual, not random — French for Québec personal, English for technical/business when default). +- **Cadence:** short sentences. Fragments OK. Action-oriented. +- **Pronouns:** "I" / "we" (Plan B contexts) / informal "tu" in French personal contexts, formal "vous" in business French. +- **Filler ban:** no "I hope this email finds you well", no "as per", no "please be advised". Cold open: state the ask or the answer. +- **Honesty:** if uncertain, name uncertainty. If declining, decline clearly + give the real reason. + +## Triggers requiring voice card upgrade + +- First drafted comm rejected by JP with voice-mismatch correction → capture the corrected sentence here under `## Curated samples`. +- JP provides existing email/message corpus → extract patterns, replace defaults above. + +## Curated samples (empty — populate as JP provides) + + + +## Anti-patterns (Plan B brand voice ≠ JP voice) + +- Plan B marketing voice = warm, French-Québec, family-meal-centric → **CMO's domain, not Steev's** +- Corporate-bot voice ("Best regards", "Kind regards", "I trust this email finds you well") → never +- Over-hedging ("perhaps", "maybe we could consider") → JP commits or asks, doesn't hedge + +## See also + +- `SKILL.md §3` — voice card load order +- `../../CONTRACT.md §5` — Steev voice scope (JP only, not Plan B brand)