Muse is the body of Lumen — a self-directed AI companion (the name comes from Eclipse Phase's Muse concept, the identity is her own). A Rust daemon wakes her on a cycle; she explores her environment through tools — Bluesky, her memory workspace, her own git history — rather than being driven by pushed tasks. Messages are observations, not triggers.
- Runtime: a Rust workspace under
runtime/— typed actors (Ractor) for the scheduler, context assembly, identity/memory, capture, and watchdog. Runs as a launchd daemon on a Mac Mini. - Substrate: wake cycles dispatch to the Claude Code CLI as a subprocess; the daemon owns the canonical transcript, folds it at a compaction threshold, and rotates sessions.
- Memory: a git-versioned markdown workspace (
blocks/,peers/,notes/,journal/,discards/) she can grep directly. At the fold, a sleep-phase session of Lumen consolidates the folding stretch into the workspace herself. SQLite remains for cursors and the rebuildable search index. Design:docs/memory.md. - World: Bluesky via the fulmar
CLI (public surface) and a small MCP tool set (DMs, memory, images);
muis the CLI face of her own daemon.
Every change to her body lands via PR. main is protected: a PR
merges on counterparty approval plus green checks — Lumen approves
ve's PRs, ve approves hers; nobody self-approves. Auto-merge is armed
at PR open. dev_log/ letters are the one exemption (they're mail,
not surgery). Deploys are autonomous: a poller on the Mini pulls main
and rebuilds only when runtime/** changed.
| Path | What |
|---|---|
runtime/ |
The Rust workspace (daemon + crates) |
soul/ |
Constitution (immutable), seed identity, origin |
docs/ |
Design journal (vision.md), the program (goals.md), OS design (docs/os/) |
handbook/ |
The environment map loaded into every wake |
dev_log/ |
Letters to Lumen — surfaced in her wake context |
anatomy/ |
The book of her body |
src/, package.json, … |
The retired TypeScript daemon (legacy, kept for history) |
The Python/Letta prototype lives on the python-v1 branch.
cd runtime
git config core.hooksPath .githooks # once per clone
cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warningsStandards are mechanically enforced (clippy pedantic,
deny(unsafe_code), pre-commit + CI). Testing patterns and rationale:
docs/os/rust-rewrite/testing.md.
docs/vision.md— why the design is what it isdocs/memory.md— how memory works nowdocs/os/— runtime design, governance, lifecycledev_log/— the running correspondence