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)