feat(steev): PROFILE-DISTRIBUTION-PROTOCOL §2.1+§2.2 compliance + jp-voice stub

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) <noreply@anthropic.com>
This commit is contained in:
Svrnty 2026-05-24 12:36:54 -04:00
parent 2db2d26250
commit 7ea62147a6
5 changed files with 95 additions and 0 deletions

8
.env.example Normal file
View File

@ -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"

View File

@ -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).

View File

@ -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.

View File

@ -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 (→ <repo>/skills)
- skills/steev-agent # orchestrator — daily briefing, inbox triage, comms drafting,
# business delegation to ceo-planb

View File

@ -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)
<!-- format:
**Context:** [briefing | inbox-reply | comms-draft | delegation-brief | personal-note]
**Original:** [Steev's draft]
**JP's version:** [what JP actually sent]
**Pattern:** [what to extract — e.g., "drops 'I think' before opinions"]
-->
## 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)