Unified living workspace for VesselOS, Echo Community Toolkit, narrative engines, agents, and supporting scripts. This README orients you across the modules, agents, and custom commands that now reside in one repository. It also doubles as an operator manual for Codex/CLI agents or other LLM assistants—follow the scripted steps below to stand up the environment without guesswork.
git clone git@github.com:Society-for-AI-Collab-Studies-SACS/Echo-Community-Toolkit-Monorepo.git
cd Echo-Community-Toolkit-Monorepo
~/.ssh/config (see README.md history for example host alias echo-community-toolkit).git status --short
git remote -v
Save outputs so the agent can restore context between sessions.
./scripts/deploy.sh --full # creates venv, installs pip deps, regenerates protobuf stubs
npm --version || echo "Node not on PATH; install Node>=20 for toolkit scripts"
scripts/deploy.sh is menu-driven when invoked without flags—inspect scripts/deploy.sh to tailor the bootstrap flow (e.g. skip firmware, rerun proto generation).# Toolkit
(cd Echo-Community-Toolkit && npm ci && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt)
# Audio-Visual authoring suite
(cd audio-visual-script-repo && npm ci --workspaces && python3 -m pip install -r python/requirements.txt)
# Kira Prime
(cd kira-prime && pip install -r requirements.txt && git submodule update --init --recursive)
# Garden Chronicles
(cd The-Living-Garden-Chronicles && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt Pillow)
# Dev Research Kit
(cd vesselos-dev-research && ./scripts/bootstrap.sh)
Codex agents can execute sequentially; each command block is idempotent.
git submodule update --init --recursive || true
Not all directories retain submodules (many are now inlined), but this keeps legacy references aligned.
python3 -m pytest -q # top-level tests/
(cd Echo-Community-Toolkit && node verify-integration.js || true)
(cd kira-prime && python3 vesselos.py validate || true)
Allow failures when optional tooling (Node, Pillow, etc.) is absent; the README modules explain how to resolve them.
git status --short
A Codex agent should output summaries back to the operator and stop if unexpected diffs appear.
Link index for automation:
scripts/deploy.sh– bootstrap logic referenced above.requirements.txt– root Python dependencies.Echo-Community-Toolkit/package.json– Node requirements for the toolkit.kira-prime/requirements.txt– CLI agent dependencies.vesselos-dev-research/scripts/bootstrap.sh– installs both Python and Node packages for the research kit.agents/– entrypoints for standalone services.protos/agents.proto– gRPC contract for cross-agent communication.docs/– shared documentation bundle (see module sections for specifics).
Full ASCII trees and subsystem context live in architecture.md.
Monorepo Root
├─ audio-visual-script-repo/ Audio-visual authoring UI + engine (Node/Python)
├─ Echo-Community-Toolkit/ Core hyperfollow + soulcode toolkit (Node/Python)
├─ echo_soulcode/ Vendored Python package backing soulcode tests/tools
├─ The-Living-Garden-Chronicles/ Narrative generation + stego validator
├─ The-Living-Library/ Collab scaffolding + dictation experiments
├─ kira-prime/ Unified CLI, agents, and collab server
├─ vessel-narrative-mrp/ Minimal narrative payload generator
├─ vesselos-dev-research/ Research-grade VesselOS CLI & docs
├─ agents/ Standalone gRPC agents (garden, limnus, kira…)
├─ docker/ Dockerfiles and compose stacks
├─ protos/ gRPC/Protobuf interface contracts
├─ scripts/ Deployment and automation helpers
├─ shared/ Cross-project Python utilities
├─ sigprint/ EEG signature codec + tests
├─ tests/ Cross-repo integration tests
└─ pr/ Scratch space for release and verification runs
SIGPRINT Streams
│
▼
Garden Agent ──▶ Echo Toolkit ──▶ Limnus Ledger ──▶ Kira Prime ──▶ Deploy / Publish
│ │
└──────────────▶ Narrative Engines ─┘
LLM operators can progress through the implementation roadmap one phase at a time. Each guide captures objectives, deliverables, and test hooks so automation stays aligned with human context.
docs/phase-0-prep.mddocs/phase-1-legacy-refresh.mdMRPFrame, multi-channel encode/decode, and capacity helpers. → docs/phase-2-frame-infrastructure.mddocs/phase-3-integrity-ecc.mddocs/phase-4-ritual-ledger.mddocs/phase-5-polish-ux.mddocs/phase-6-guardrails-roadmap.mdEach phase guide lists the commands to run, fixtures to prepare, and criteria for declaring the phase complete. Treat them as living specs—update the docs when new insights land.
The consolidated workflow at .github/workflows/ci.yml now drives six parallel checks on every push:
audio-visual-script-repo, runs lint/build/test for the authoring suite.npm ci, toolkit integration checks, and the Python parity/LSB regression suite.python3 -m venv .venv && .venv/bin/pip install -r requirements.txt) and executes python -m pytest -q.Mirror the CI locally before opening a PR:
# Root smoke + stego suites
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python -m pytest -q
# Module-specific runners
./scripts/ci/run_toolkit_ci.sh
./scripts/ci/run_kira_ci.sh
./scripts/ci/run_chronicles_ci.sh
./scripts/ci/run_research_ci.sh
Remember to refresh the shared deps when editing parity logic or codecs:
.venv/bin/pip install -r requirements.txt
python -m grpc_tools.protoc -Iprotos --python_out=protos --grpc_python_out=protos protos/agents.proto
Echo-Community-Toolkit/)cd Echo-Community-Toolkit
npm ci
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
node hyperfollow-integration.js --dry-runnode hyperfollow-integration.js && node verify-integration.jspython3 final_validation.pyEcho-Community-Toolkit/README.md, docs/ARCHITECTURE_INDEX.md, and AGENTS.md for contributor workflows.audio-visual-script-repo/)cd audio-visual-script-repo
npm ci --workspaces
python3 -m pip install -r python/requirements.txt
npm run lint --workspace backend && npm run type-check --workspace backendnpm run lint --workspace frontend && npm run type-check --workspace frontendnpm run build --workspace backend && npm run build --workspace frontend(cd python && python -m pytest -q)docs/ folder capture roadmap, persona mapping, and UI flow sketches.The-Living-Garden-Chronicles/)cd The-Living-Garden-Chronicles
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt Pillow
git submodule update --init --recursive # pulls vessel-narrative-MRP
python src/schema_builder.py && python src/generate_chapters.pypython src/validator.pybash package_repo.shdocs/VesselOS_Quick_Start.md and docs/VesselOS_Command_Reference.md.The-Living-Library/)cd The-Living-Library
git submodule update --init --recursive
scripts/bootstrap_living_library.sh
python scripts/run_mrp_cycle.pypython -m library_core.dictation --helpdocs/ and library_core/ provide current status and plans.kira-prime/)cd kira-prime
pip install -r requirements.txt
git submodule update --init --recursive
python3 vesselos.py generatepython3 vesselos.py validatepython3 vesselos.py listen --text "Always."(cd collab-server && npm ci && npm run build && npm start)(cd docker && docker compose up -d)README.md, agents/README.md, and docs/ for deep dives.vessel-narrative-mrp/)cd vessel-narrative-mrp
python3 -m venv .venv && source .venv/bin/activate
pip install PyYAML Pillow
python src/schema_builder.py
python src/generate_chapters.py
python src/validator.py
README.md documents stego options and workflow integration.vesselos-dev-research/)cd vesselos-dev-research
./scripts/bootstrap.sh # installs Python + Node deps
python3 vesselos.py garden startpython3 vesselos.py echo say "I return as breath."python3 vesselos.py kira validatepython3 vesselos.py audit full --workspace exampledocs/REPO_INDEX.md and docs/IN_DEV_SPECS.md.agents/ – Standalone services. See Agents below.sigprint/ – EEG signature codec. Run bazel test //sigprint:encoder_tests or use SigprintEncoder directly (see sigprint/README.md).protos/ – gRPC definitions. Regenerate stubs via python -m grpc_tools.protoc -Iprotos --python_out=protos --grpc_python_out=protos protos/agents.proto.scripts/ – Automation utilities (see Custom Commands).docker/ – Compose files bridging Redis/Postgres with collab server (docker compose up -d).shared/ – Reusable Python helpers imported across modules.tests/ – Run cross-repo suites: python3 -m pytest -q.| Agent | Path | How to run | Description |
|---|---|---|---|
| Garden Narrative | agents/garden/narrative_agent.py |
python agents/garden/narrative_agent.py --config config.yaml |
Transforms SIGPRINT triggers into narrative summaries over gRPC (port 50052 by default). |
| Kira Validation | agents/kira/kira_agent.py |
python agents/kira/kira_agent.py --help |
Performs ritual validation, publishes reports, and coordinates Kira actions. |
| Limnus Ledger | agents/limnus/ledger_agent.py |
python agents/limnus/ledger_agent.py --workspace ./state |
Manages ledger memory, stego payloads, and semantic recall. |
| Journal Bridge | agents/journal/journal_agent.py |
python agents/journal/journal_agent.py --input transcripts/ |
Turns human input streams into structured events for the pipeline. |
| SIGPRINT Bridge | agents/sigprint_bridge/bridge_agent.py |
python agents/sigprint_bridge/bridge_agent.py --stream data/eeg.npy |
Couples raw EEG epochs to SIGPRINT encoders and forwards signatures. |
| Mock Agents | agents/mocks/ |
python agents/mocks/garden_stub.py (example) |
Lightweight stubs for local integration tests and CI smoke runs. |
Each agent exposes --help for additional flags (ports, workspace paths, theme overrides, etc.). gRPC interfaces map to messages in protos/agents.proto.
scripts/deploy.sh – End-to-end deployment harness (virtualenv + proto regen + optional firmware).
scripts/deploy.sh --fullscripts/deploy.sh --orchestratorscripts/g2v_sync.sh – Keep G2V mirrors aligned. Usage: scripts/g2v_sync.sh --remote origin --branch main.scripts/open_pr_mrp_sidecar.sh – Opens or updates VesselOS PR sidecars; accepts --dry-run and --push flags.Echo-Community-Toolkit/scripts/run_local_setup_and_verify.sh – Performs a dry run of toolkit integration without mutating the tree.kira-prime/tests/e2e_test.sh – CLI smoke harness (PRIME_CLI="python3 vesselos.py" ./tests/e2e_test.sh).vesselos-dev-research/scripts/bootstrap.sh – Installs Python/Node deps and prepares workspaces.scripts/ci/run_*.sh – CI entrypoints for Toolkit, Kira Prime, Garden Chronicles, and Research (mirrors the Monorepo CI matrix locally).(cd docker && docker compose up -d) brings Redis/Postgres + collab server online.Tip: all scripts support
--helpor inline usage comments; inspect them before running against production data.
Badges – Each workflow surfaces the latest main branch health. The aggregate ci.yml job fans out across Node and Python suites (audio-visual workspaces, Toolkit, Kira Prime, Garden Chronicles, Research kit, and root smoke tests); module-specific workflows stay available for targeted reruns.
Actions quicklinks – Shortcut filters for the repository Actions tab:
Use the pre-applied filters to reach module-specific workflow history quickly. Keep every module green before coordinating cross-stack releases.
The full roadmap for enhancing module workflows, environment hygiene, and test coverage lives in docs/integration-enhancement-plan.md.
See docs/echo-harmonizer.md for the complete Echo Harmonizer integration validator specification, docs/echo-harmonizer.yaml for the structured rails metadata, and docs/echo-harmonizer-rails-compliance.md for a Rails compliance summary.
Environment variables keep secrets and deployment toggles out of source control. Copy .env.sample to .env (or .env.integration, .env.production, etc.) and define values locally, then source the file or let your process manager pick it up. Never commit concrete .env files—use CI secrets for shared automation.
| Agent | Variable | Purpose |
|---|---|---|
Garden (agents/garden/narrative_agent.py) |
– | No overrides required; relies on workspace-local state. |
Echo (agents/echo/echo_agent.py) |
– | No overrides required. |
Limnus (agents/limnus/ledger_agent.py) |
KIRA_VECTOR_BACKEND |
Selects the semantic backend (e.g. faiss, defaults to in-memory). |
KIRA_VECTOR_MODEL |
Overrides the embedding model used for vectors. | |
KIRA_SBERT_MODEL |
Legacy alias for the SentenceTransformer model (default all-MiniLM-L6-v2). |
|
KIRA_FAISS_INDEX |
Filesystem path for the FAISS index when that backend is active. | |
KIRA_FAISS_META |
Filesystem path for FAISS metadata (IDs, dimensions). | |
Kira (agents/kira/kira_agent.py) |
GH_TOKEN / GITHUB_TOKEN |
GitHub token for release/publish flows executed via gh. |
Journal (agents/journal/journal_agent.py)* |
– | No environment configuration required today. |
Sigprint Bridge (agents/sigprint_bridge/bridge_agent.py)* |
– | No environment configuration required today. |
* Planned/auxiliary agents operating only on local state and CLI flags.
All agents read/write under workspaces/<id>/state/. Follow the same UPPER_SNAKE_CASE convention when adding new toggles.
| Script / Service | Variable | Purpose & Default |
|---|---|---|
Bootstrap (scripts/bootstrap.sh) |
PYTHON_VERSION |
Python version used when creating the virtualenv (default 3.10). |
NODE_VERSION |
Node.js version required for toolkit automation (default 20). | |
Deploy (scripts/deploy_to_production.sh)* |
ENVIRONMENT (arg) |
Deployment target name (for example “production”). Defaults to production when omitted and labels the systemd service runtime. |
| (others: internal) | Internal variables such as WORKSPACE_ROOT and SERVICE_USER are defined inside the script. |
|
Collab Server (kira-prime/collab-server/src/server.ts) |
PORT |
HTTP/WebSocket port (default 8000). |
COLLAB_REDIS_URL |
Redis connection URL (default redis://localhost:6379/0). | |
COLLAB_POSTGRES_DSN |
Postgres DSN (default postgresql://vesselos:password@localhost:5432/vesselos_collab). | |
| CI toggles | COLLAB_SMOKE_ENABLED |
When set to 1, runs Dockerized collab smoke tests in CI. |
* Part of the Kira Prime deployment scripts; adapt if using a simplified flow.
CI validates the stack across several layers:
python3 -m pytest -q at the root or use module-specific commands from the playbook.scripts/integration_complete.py exercises the Garden → Echo → Limnus → Kira ritual, asserting ledger hash chains, persona coherence, and recovery behavior.docker compose, execute representative CLI commands (vesselos.py garden start, ... echo summon, ... kira validate), and hit the collab server /health endpoint.COLLAB_SMOKE_ENABLED=1, CI performs a WebSocket round trip to confirm the collab server, Redis, and Postgres integrate correctly.Reproduce locally by running unit suites, invoking scripts/integration_complete.py, and optionally bringing up the Docker stack for smoke tests before opening a PR.
The historical VesselOS subtree generator remains available under vesselos_unified_monorepo/.
cd vesselos_unified_monorepo
./scripts/vesselos_monorepo_consolidation.sh --offline --force
Creates vesselos_unified_monorepo/vesselos-monorepo/ with agents, firmware, shared libs, docker stack, and monorepo CI.
cd vesselos-monorepo
./scripts/verify_integration_enhanced.sh --tests
GITHUB_ORG=your-org ./scripts/vesselos_monorepo_consolidation.sh --force
./scripts/run_local_setup_and_verify.sh --tests