Commit Graph

15 Commits

Author SHA1 Message Date
Svrnty
fdc27aa92f chore(steev): Wave 8.5 — strip chat_facing field (fiction — webui exposes all profiles to chat)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 19:55:17 -04:00
Svrnty
2491d48151 feat(steev): Wave 8 PAUSE-walk — apply Q4-Q10 + bte leak fix + proton-tools SKILL.md
Q4: confirm personal-scope discriminators (chat_facing, delegates_to=[ceo-planb], sovereign_only=false)
Q5: drop google-workspace cred — builtin manages own OAuth via Hermes hub (not credctl vault)
Q6: split proton-bridge-imap → proton-bridge-imap-user + proton-bridge-imap-pass (vault exact-match)
Q7: rename perplexity-api → perplexity (vault exact-match)
Q8: add 3 proton vault entries (account-email, account-password, mailbox-password)
Q9: install.sh F6 — MCP allowlist materialization; wires 3 proton MCPs, removes bte (hard-rule leak)
Q10: macOS-only externals annotated os_constraint:darwin; install.sh F7 emits INFO on non-Darwin

credbridge.sh: drop google-workspace case, rewrite proton-bridge to use 2 vault entries, rename perplexity case
Disclosure §7 rewritten with 6 credentials matching vault exact-name policy (DISCLOSURE-SCHEMA §4.5)
Disclosure §12 PAUSE table marked all 8 rows RESOLVED (rows 1-7 Wave 8, row 8 Wave 7)

Untracked skills/proton-tools/SKILL.md (90 lines, declared in manifest since Wave 4) — committed for clone-ability

Verified:
  hermes -p steev skills list → 6 enabled (matches disclosure.skills declaration)
  hermes -p steev mcp list → 3 entries (proton-calendar, proton-email, proton-contacts); bte removed
  F7 on Linux host correctly suppresses macOS-only externals

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 18:13:40 -04:00
Svrnty
959b8c8871 fix(install): R1 — COLUMNS=200 + untruncated awk parser for hermes skills list — Wave 7.5
Root cause: hermes 0.14 table renderer truncates skill names at column width
with unicode '…' suffix. Awk parser stripped '…' but couldn't recover the
truncated trailing chars (e.g., 'baoyu-article-illustr…' lost 'ator').
Fix: COLUMNS=200 env prefix forces wide table render → awk sees full names.

Affects both F2 (denylist write) and subrepo pre-push hook (drift check).
Re-run install.sh to refresh both per-profile config.yaml denylist + .git
/hooks/pre-push body.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:32:38 -04:00
Svrnty
57ef5411a4 feat(install): Wave 7.5 — steev F2b enable builtin allowlist via additive external_dirs — sprint 2026-05-25
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:20:11 -04:00
Svrnty
30d586e79e chore(bypass): Wave 7 schema-migration transition — drift expected per W7-DRIFT-RESIDUAL
enforcement-bypass: schema-migration — Wave 7 v1→v2 schema migration in flight; install.sh F2 denylist landed but additive external_dirs builtin-path additions deferred to Wave 8 per sot/01-ROADMAP/WAVE7-SPRINT-2026-05-25.md §"Wave 7 D7 — runtime verification findings"

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 17:11:11 -04:00
Svrnty
6f5ca6573c feat(install): Wave 7 D6 — steev install.sh disclosure→runtime + subrepo hook — sprint 2026-05-25 2026-05-24 16:59:17 -04:00
Svrnty
b85b266dcb feat(disclosure): Wave 7 D2 — steev schema v2 — sprint 2026-05-25 2026-05-24 16:53:16 -04:00
Svrnty
8e8ced470b feat(disclosure): Wave 4 — steev disclosure: block (CLAUDE.md hard-rule fix: REMOVE bte MCP) — sprint 2026-05-24
Applies Wave-3 auto-approved recommendations per
sot/06-REGISTRY/audits/RECOMMENDATIONS-steev-2026-05-24.md.

HARD-RULE FIX:
  - REMOVE bte MCP (inherit_mcp_toolsets: false + mcp_servers: []).
    bte = Plan B marketing platform; steev/CLAUDE.md:14 forbids access.

Auto-approved REMOVE/DROP:
  - 17 silently-inherited builtin skills denied (inherit_builtins: false).
  - Skills allowlist narrowed to 6: steev-agent, proton-tools, google-workspace,
    obsidian, himalaya, kanban-worker.

ADD (auto-approved):
  - schema_version: 1
  - inherit_builtins: false, inherit_mcp_toolsets: false

ADD (PAUSED-for-JP rows surfaced in DISCLOSURE.md §12):
  - Personal-scope discriminators (scope/chat_facing/delegates_to/sovereign_only)
    populated per audit §7d; values confirmation pending JP.
  - 3 cred name-mismatches kept as-declared in manifest; rename decision deferred
    (manifest vs vault vs bundle-indirection — W3.4 governance class).
  - 4 manifest-declared MCP installs (mcp_proton_*, mcp_perplexity) not registered;
    install ordering deferred.

Surface: 2 files only — steev/manifest.yaml + steev/DISCLOSURE.md.
sot-precommit --full-tree: EXIT 0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 15:59:58 -04:00
Svrnty
ff2b88a088 fix(steev): install.sh adds hermes-native profile install — dispatch-readiness
Mirror curator + CTO + CMO + CEO fix: append `hermes profile install "$REPO" --yes --force`.
Without this, steev couldn't register in kanban assignees registry.

Done block: verify skills + assignee + gateway-start hint.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 13:03:19 -04:00
Svrnty
7ea62147a6 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>
2026-05-24 12:36:54 -04:00
Svrnty
2db2d26250 feat(profile): §7 conformance build-out — credbridge, distribution.yaml, cron, manifest
Closes the largest set of PROFILE-DISTRIBUTION-PROTOCOL §7 readiness gaps
surfaced in the 2026-05-23 audit. Profile goes from 4/8 to expected 8/8
once skills/proton-tools/ is committed.

New files:

  credbridge.sh           Personal-assistant variant of the shared-core
                          credbridge pattern. Three credentials in scope:
                          google-workspace (Gmail/Calendar/Contacts),
                          proton-bridge (himalaya IMAP/SMTP), perplexity
                          (raw WebSearch). Plan B marketing platforms
                          explicitly OUT OF SCOPE per CLAUDE.md hard rule.

  validate_access.sh      Emits PASS/BLOCKED/FAIL JSON line per credential.
                          Sourceable from install.sh and standalone. Exit
                          code always 0; status is in the JSON.

  distribution.yaml       Native Hermes install contract (`hermes profile
                          install` reads this). Mirrors cmo/ceo pattern.
                          Documents personal/agnostic naming exception
                          per FRAMEWORK §6.1 — no org suffix because there
                          is exactly one principal.

  cron/steev-daily-briefing.json.template
                          06:30 daily briefing skeleton, ships disabled.
                          Aggregates calendar + flagged emails + due tasks
                          + carried items + brief news scan into a single
                          digest in JP's voice. NEVER auto-sends, NEVER
                          touches business comms (CEO → CMO surface).

manifest.yaml fully rewritten:

  - Added `contract: CONTRACT.md` pointer (was missing)
  - Added inline comment explaining intentional `org:` omission
  - Declared skills/proton-tools (on disk via JP's untracked WIP; declared
    here so manifest matches disk truth once JP commits it)
  - Added `lib:` block (credbridge.sh + validate_access.sh)
  - Added `expected_external_skills:` informational list (google-workspace,
    apple-*, obsidian, himalaya, imessage, perplexity) — these come from
    Hermes' global skills tree per CLAUDE.md "reuse existing core skills"
  - Added `optional_tools:` block (4 MCP servers: proton-calendar/-email/
    -contacts, perplexity)
  - Added `credentials:` block listing the 3 creds + resolution path
  - Promoted `cron:` from empty list to a single steev-daily-briefing
    entry (disabled_on_install: true)
  - Added `sovereignty:` block (qwen3.6-35b-a3b on DGX Spark)

CONTRACT.md frontmatter migrated from legacy `tier: S` to T1 per
FRONTMATTER-SPEC. Added required fields (name, last_reviewed,
description, depends_on).

skills/proton-tools/ left untracked — that's JP's WIP, not mine to
commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 19:01:55 -04:00
Svrnty
66c742c219 refactor(docs): rename STEEV-MASTER.md → CONTRACT.md (SOT taxonomy)
Per the workspace SOT classification: Tier S contracts use the canonical filename CONTRACT.md at repo root. STEEV-MASTER.md → steev/CONTRACT.md.

- File moved from docs/STEEV-MASTER.md to CONTRACT.md (repo root)
- Frontmatter note updated
- CLAUDE.md structure tree updated
- Empty docs/ directory removed

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 13:13:32 -04:00
Svrnty
0f5e807015 docs(frontmatter): tag STEEV-MASTER.md as tier S (profile contract)
Steev profile contract. Future rename: steev/CONTRACT.md per the SOT taxonomy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 12:53:00 -04:00
Svrnty
fdd434c559 docs(claude): standardize CLAUDE.md — drop Karpathy block (now global), keep Steev-specific invariants
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 11:46:23 -04:00
Svrnty
a403c733fd feat(steev): initial Steev profile distribution
JP's personal assistant — daily briefing, inbox triage, comms drafting in JP's voice,
delegate business tasks to CEO. Mirrors CMO/CEO profile distribution structure.

- manifest.yaml (profile: steev, kind: profile-distribution)
- AGENT.md — Steev identity, mission, bilingual (fr/en)
- CLAUDE.md — 4-principle working principles + Steev-specific invariants
- install.sh — idempotent installer, symlinks → ~/.hermes/steev
- skills/steev-agent/SKILL.md — orchestrator: briefing/triage/comms/delegate
- schema.sql — briefings, inbox_items, agent_runtime
- README.md — structure, install, invariants
- docs/STEEV-MASTER.md — source of truth + v1/v2 roadmap

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 19:40:06 -04:00