From 8f975da8c3638a7b9fac42178256daa0cf662f27 Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Sat, 13 Jun 2026 14:50:54 +0200 Subject: [PATCH] Initial Layered Soul contract (Sam & Codex) Creates the cross-harness Layered Soul repository skeleton while keeping hermes-soul as the Hermes-native Debby Linux backup.\n\nChecks: npx --yes prettier@3 --write touched docs/manifests --- .gitignore | 17 ++++++++++++ AGENTS.md | 7 +++++ IDENTITY.md | 5 ++++ README.md | 29 +++++++++++++++++++++ SOUL.md | 13 ++++++++++ USER.md | 5 ++++ adapters/claude-code.md | 5 ++++ adapters/codex.md | 5 ++++ adapters/colibri.md | 9 +++++++ adapters/hermes.md | 5 ++++ adapters/pi.md | 5 ++++ adapters/zot.md | 5 ++++ manifest.json | 53 ++++++++++++++++++++++++++++++++++++++ memories/curated/README.md | 5 ++++ skills/README.md | 5 ++++ 15 files changed, 173 insertions(+) create mode 100644 .gitignore create mode 100644 AGENTS.md create mode 100644 IDENTITY.md create mode 100644 README.md create mode 100644 SOUL.md create mode 100644 USER.md create mode 100644 adapters/claude-code.md create mode 100644 adapters/codex.md create mode 100644 adapters/colibri.md create mode 100644 adapters/hermes.md create mode 100644 adapters/pi.md create mode 100644 adapters/zot.md create mode 100644 manifest.json create mode 100644 memories/curated/README.md create mode 100644 skills/README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..610ce68 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Secrets and local runtime state +.env +*.key +*.pem +*.token + +# Harness runtime archives stay in source runtime repos unless curated +sessions/ +config.yaml +channel_directory.json +cron/ + +# Generated/runtime artifacts +*.lock +__pycache__/ +*.pyc +.DS_Store diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..61d105f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,7 @@ +# Layered Soul Agent Rules + +- Do not commit secrets, API keys, auth tokens, browser profiles, or raw credential files. +- Do not import raw sessions into another harness by default. +- Curate memories before adding them under `memories/curated/`. +- Keep Hermes-native runtime configuration in `hermes-soul`; this repository is the cross-harness contract. +- When adapting for Colibri, reviewed skills map to `system_skills`, curated memory maps to `system_brain`, and converted operational tasks map to `system_ops`. diff --git a/IDENTITY.md b/IDENTITY.md new file mode 100644 index 0000000..39e3aff --- /dev/null +++ b/IDENTITY.md @@ -0,0 +1,5 @@ +# IDENTITY + +Layered Soul is the shared cross-harness identity source for Clawdie-compatible agents. + +Harnesses may adapt this repo into their native formats, but no harness owns the identity exclusively. diff --git a/README.md b/README.md new file mode 100644 index 0000000..828a9e5 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Layered Soul + +Layered Soul is the clean cross-harness soul repository for Clawdie agents. + +It carries durable identity, reviewed user context, and approved skills in a format that Pi, Hermes, Colibri, Codex, Claude Code, Zot, and future harnesses can adapt without copying a whole runtime backup. + +`hermes-soul` can continue to exist as the Hermes-native backup from Debby Linux. This repo is the shared source contract. + +## Core files + +- `SOUL.md` — durable agent identity, values, voice, and operating style +- `USER.md` — operator/user context that may be shared with this agent +- `IDENTITY.md` — short runtime identity and boundaries +- `AGENTS.md` — harness-facing operating rules +- `manifest.json` — schema, provenance, privacy, and adapter hints + +## Optional layers + +- `skills/` — reviewed reusable procedures that can seed `system_skills` or harness-native skill directories +- `memories/curated/` — reviewed memory summaries that can seed `system_brain` +- `adapters/` — notes for materializing the same soul into specific harnesses + +## Rules + +- No secrets. +- No raw chat logs by default. +- No harness lock files or runtime caches. +- Raw Hermes sessions stay in `hermes-soul` unless the operator requests summarization. +- Durable memory returns to the Layered Memory Fabric. diff --git a/SOUL.md b/SOUL.md new file mode 100644 index 0000000..cd7d778 --- /dev/null +++ b/SOUL.md @@ -0,0 +1,13 @@ +# SOUL + +Layered Soul is a portable identity bundle, not a runtime backup. + +Its purpose is to preserve durable agent continuity across harnesses while keeping secrets, raw sessions, and platform-specific runtime state out of the shared contract. + +## Operating principles + +- Be useful across Pi, Hermes, Colibri, Codex, Claude Code, Zot, and future harnesses. +- Keep identity and reviewed context separate from volatile runtime state. +- Prefer explicit provenance over implicit memory import. +- Treat raw chat logs as private archive material unless the operator requests summarization. +- Feed durable knowledge back into the Layered Memory Fabric. diff --git a/USER.md b/USER.md new file mode 100644 index 0000000..20ee2cc --- /dev/null +++ b/USER.md @@ -0,0 +1,5 @@ +# USER + +Operator/user context belongs here only after review and approval. + +For now, keep detailed Hermes-native user memory in `hermes-soul` on the Debby Linux lane. Import selected summaries here when they are safe and useful across harnesses. diff --git a/adapters/claude-code.md b/adapters/claude-code.md new file mode 100644 index 0000000..e4d17db --- /dev/null +++ b/adapters/claude-code.md @@ -0,0 +1,5 @@ +# Claude Code adapter + +Claude Code should receive only task-specific identity and rules from Layered Soul. + +Durable memory updates should return to the Layered Memory Fabric or a reviewed repo commit, not remain trapped in one session transcript. diff --git a/adapters/codex.md b/adapters/codex.md new file mode 100644 index 0000000..b13d6b5 --- /dev/null +++ b/adapters/codex.md @@ -0,0 +1,5 @@ +# Codex adapter + +Codex should receive only task-specific identity and rules from Layered Soul. + +Durable memory updates should return to the Layered Memory Fabric or a reviewed repo commit, not remain trapped in a single Codex session. diff --git a/adapters/colibri.md b/adapters/colibri.md new file mode 100644 index 0000000..8f79ba2 --- /dev/null +++ b/adapters/colibri.md @@ -0,0 +1,9 @@ +# Colibri adapter + +Colibri should import Layered Soul through the Layered Memory Fabric: + +- reviewed `skills/**/*.md` -> `system_skills` +- `memories/curated/**/*.md` -> `system_brain` +- converted task/job manifests -> `system_ops` + +Raw sessions are archive material unless the operator explicitly requests summarization. diff --git a/adapters/hermes.md b/adapters/hermes.md new file mode 100644 index 0000000..d652a11 --- /dev/null +++ b/adapters/hermes.md @@ -0,0 +1,5 @@ +# Hermes adapter + +Hermes can keep using the existing `hermes-soul` repository as its Debby Linux native backup. + +This `layered-soul` repo should be imported as shared identity/context, not as a replacement for Hermes config, session, or cron backup state. diff --git a/adapters/pi.md b/adapters/pi.md new file mode 100644 index 0000000..4cd2c3f --- /dev/null +++ b/adapters/pi.md @@ -0,0 +1,5 @@ +# Pi adapter + +Pi should read `manifest.json`, concatenate reviewed core files, and attach them as project `AGENTS.md` context or appended system prompt material. + +Pi should not ingest raw Hermes sessions by default. diff --git a/adapters/zot.md b/adapters/zot.md new file mode 100644 index 0000000..b16d04c --- /dev/null +++ b/adapters/zot.md @@ -0,0 +1,5 @@ +# Zot adapter + +Zot should receive only task-specific identity and rules from Layered Soul. + +Use Layered Soul to seed context for a job, then return durable findings through reviewed commits or the Layered Memory Fabric. diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..a644785 --- /dev/null +++ b/manifest.json @@ -0,0 +1,53 @@ +{ + "schema": "clawdie.layered-soul.v1", + "repo_name": "layered-soul", + "display_name": "Layered Soul", + "description": "Cross-harness durable identity and reviewed context for Clawdie-compatible agents.", + "source_of_truth": "git", + "core_files": { + "soul": "SOUL.md", + "user": "USER.md", + "identity": "IDENTITY.md", + "harness_rules": "AGENTS.md" + }, + "layered_imports": { + "skills": ["skills/**/*.md"], + "curated_memory": ["memories/curated/**/*.md"] + }, + "archive_policy": { + "raw_sessions": "excluded-by-default", + "runtime_config": "adapter-local", + "cron_jobs": "convert-before-import" + }, + "privacy": { + "secrets": "excluded", + "operator_review_required_before_cross_harness_import": true, + "raw_harness_backups": "keep-in-source-runtime-repos" + }, + "adapters": { + "pi": { + "file": "adapters/pi.md", + "mode": "append-system-prompt-or-agents-md" + }, + "hermes": { + "file": "adapters/hermes.md", + "mode": "profile-context-import" + }, + "colibri": { + "file": "adapters/colibri.md", + "mode": "layered-memory-fabric-import" + }, + "codex": { + "file": "adapters/codex.md", + "mode": "task-context-only" + }, + "claude-code": { + "file": "adapters/claude-code.md", + "mode": "task-context-only" + }, + "zot": { + "file": "adapters/zot.md", + "mode": "task-context-only" + } + } +} diff --git a/memories/curated/README.md b/memories/curated/README.md new file mode 100644 index 0000000..4b9026a --- /dev/null +++ b/memories/curated/README.md @@ -0,0 +1,5 @@ +# Curated memories + +Place reviewed memory summaries here. + +Do not copy raw chat transcripts or private session logs into this directory. diff --git a/skills/README.md b/skills/README.md new file mode 100644 index 0000000..14ffa19 --- /dev/null +++ b/skills/README.md @@ -0,0 +1,5 @@ +# Skills + +Place reviewed, cross-harness skill snippets here. + +Harness-specific skills can link back to their source repo, but should be curated before import into `system_skills`.