WAKE.md for AI agents: compile project state so agents stop starting cold
Project description
Morpheus
Stop starting AI agents from scratch.
Morpheus generates
WAKE.md- a compiled project state file that lets any agent continue where you left off.
README.md tells humans what this is.
AGENTS.md tells agents how to work.
WAKE.md tells agents where we are.
Status: v0.1.0 alpha. The compiler, receipts, CLI, API, UI launchpad, MCP endpoint, A2A-style discovery, and cache-backed integrations are usable. LoRA/training is experimental and not the core launch path.
Why
Every AI agent starts cold.
You paste context. You repeat decisions. The agent suggests old ideas. It misses what changed yesterday.
Morpheus compiles your current project state into WAKE.md, backed by sources,
evidence, and signed receipts.
sources -> compile -> WAKE.md -> signed receipt -> agent handoff -> verify
The Primitive
Morpheus is the Agent State Compiler.
It generates WAKE.md - a project state file that tells agents where the
project is now, backed by sources, evidence, and signed receipts.
This repository intentionally commits
WAKE.md as a public
example.
Private projects can keep WAKE.md inside .morpheus/.
Quick Start
Install:
uvx --from morpheus-wake morpheus wake .
With pipx:
pipx run --spec morpheus-wake morpheus wake .
For private workspaces:
uvx --from morpheus-wake morpheus wake . --private
That keeps the compiled state at .morpheus/WAKE.md.
Development install:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
morpheus wake .
Before / After
Without Morpheus:
User: What changed yesterday?
Agent: I do not have enough context.
With Morpheus:
User: Read WAKE.md. What changed yesterday?
Agent: Morpheus moved from "memory compiler" to "Agent State Compiler".
Outdated: LoRA as the core product path.
Current: WAKE.md with provenance receipts.
Next action: start review-gated semantic compile mode and richer stale-claim detection.
Why Not Just Use Memory?
Memory tells an agent what happened. State tells an agent what is true now.
RAG retrieves old fragments. Morpheus compiles the current project state.
README.md is for humans.
AGENTS.md is for agent instructions.
WAKE.md is for agent continuity.
Core Features
- WAKE.md compiler: scans watched paths and extracts marked decisions, tasks, notes, fixes, and evidence.
- Verifiable provenance: writes
state.json,evidence.jsonl, and signed ed25519 receipts with SHA-256 hashes. - Agent handoff: produces copyable instructions, diagnostics, and manifest URLs for another coding agent.
- Stale claim scan:
morpheus stale .flags launch-positioning claims that conflict with the current WAKE.md framing. - Local UI launchpad: browser UI for setup, context sources, diagnostics, integrations, model smoke tests, and handoff bundles.
- Agent interop: native
/agent/connect, A2A-compatible Agent Card, and a minimal MCP Streamable HTTP endpoint. - Context sources: compile one project, a monorepo, a workspace, or a notes vault by configuring watched paths.
- Integration cache readers: GitHub, Gmail, Calendar, Slack, and Linear can contribute evidence from local caches or token-backed adapters.
Deterministic Now, Semantic Next
v0.1 is deterministic by design. It extracts explicit markers:
TODO: DECISION: FIXME: NOTE: HACK: XXX:
That makes receipts reproducible and easy to verify.
The next compiler mode is --semantic: LLM-assisted state extraction from
README, SPEC, AGENTS, changelogs, issues, and notes. Semantic claims should be
review-gated and labeled as source_backed, inferred, or needs_review
before they become active project state.
Obsidian And Personal Notes
An Obsidian vault can be used as a Morpheus context source because it is a folder of Markdown files. The recommended path is local compilation first: source links, evidence, receipts, and review. Do not train directly on a raw private vault.
cd ~/Obsidian
morpheus wake . --private
For a workspace with several projects or vaults, set the parent folder as the
project root and configure .morpheus/morpheus.toml:
watch_dirs = ["project-a", "project-b", "vault"]
Agent Self-Connect
Agents can discover Morpheus without reading the README:
morpheus prepare-agent
morpheus agent-connect --json
morpheus diagnostics --json
morpheus handoff
With the HTTP API running:
curl -s "http://127.0.0.1:8000/agent/connect?project_root=$PWD"
curl -s "http://127.0.0.1:8000/agent/handoff.md?project_root=$PWD"
curl -s http://127.0.0.1:8000/.well-known/morpheus.json
curl -s http://127.0.0.1:8000/.well-known/agent-card.json
curl -s -X POST http://127.0.0.1:8000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
A new agent should:
- Read
WAKE.md. - Fetch
/agent/connector runmorpheus agent-connect --json. - Follow the returned
next_action. - Run
morpheus compileandmorpheus verify --allafter meaningful changes.
UI Start
morpheus serve --ui --host 127.0.0.1 --port 8000 --ui-port 5173
Open:
http://127.0.0.1:5173/ui/index.html
The Start screen lets you set a project root, configure watched paths, run diagnostics, prepare an agent, inspect integrations, probe MCP tools, and copy a complete handoff bundle.
Architecture
morpheus/
core/ compiler, models, receipts, verification, safe IO
integrations/ filesystem and cache-backed external sources
api/ FastAPI, agent connect, diagnostics, MCP, A2A card
training/ experimental consolidation and LoRA helpers
ui/ static browser UI and Tauri shell
tests/ pytest suite for compiler, API, CLI, integrations, training
docs/ launch notes, testing notes, and product framing
Compile flow:
morpheus compile
-> scans configured watch_dirs
-> extracts explicit evidence markers
-> writes state.json and evidence.jsonl
-> generates WAKE.md
-> signs a receipt with ed25519
-> links the receipt to the previous receipt hash
CLI Reference
| Command | Description |
|---|---|
morpheus wake . |
Init if needed, compile, verify, and write root WAKE.md |
morpheus wake . --private |
Compile and verify, keeping WAKE.md in .morpheus/ |
morpheus stale . |
Find stale launch-positioning claims |
morpheus init |
Initialize .morpheus/ with config and keys |
morpheus compile |
Compile sources into WAKE.md and a signed receipt |
morpheus verify --all |
Verify receipt chain, signatures, and latest artifacts |
morpheus status |
Show source, claim, and evidence counts |
morpheus wake |
Print the private .morpheus/WAKE.md |
morpheus prepare-agent |
Initialize, compile, bootstrap AGENTS.md, verify, and produce handoff |
morpheus handoff |
Print a copyable markdown handoff |
morpheus agent-connect --json |
Print the machine-readable agent manifest |
morpheus diagnostics --json |
Print readiness checks and next action |
morpheus model-smoke |
Smoke-test a local Ollama model |
morpheus serve --ui |
Run FastAPI backend and browser UI |
Development
make install-dev
make verify
make build
For the full public-repo quality gate, see docs/TESTING.md.
Security Notes
Morpheus is local-first. Keep .morpheus/, generated receipts, integration
caches, model outputs, and token files out of git. Bind to 127.0.0.1 unless
you are on a trusted LAN or behind an authenticated proxy.
See SECURITY.md.
Experimental Training
Local adapter training lives under morpheus/training/. It is optional,
explicit, and downstream of reviewed state. The default path is compile,
retrieve, cite evidence, and verify receipts.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file morpheus_wake-0.1.1.tar.gz.
File metadata
- Download URL: morpheus_wake-0.1.1.tar.gz
- Upload date:
- Size: 186.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
641ab5d5ca28265c99de43d810fff7452948774f3eef963988f7b752aef168f6
|
|
| MD5 |
5484a8b83d1a0c7600f5f5dbf2b0247b
|
|
| BLAKE2b-256 |
833506f22e12c91070d9e05e8fd4cedea4ca543a3ba0c9ec2a7353b1eebd1727
|
Provenance
The following attestation bundles were made for morpheus_wake-0.1.1.tar.gz:
Publisher:
release.yml on botAGI/morpheus-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
morpheus_wake-0.1.1.tar.gz -
Subject digest:
641ab5d5ca28265c99de43d810fff7452948774f3eef963988f7b752aef168f6 - Sigstore transparency entry: 1566372405
- Sigstore integration time:
-
Permalink:
botAGI/morpheus-ai@24773992378fb788a7bd6be220905d3cb44852e8 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/botAGI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@24773992378fb788a7bd6be220905d3cb44852e8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file morpheus_wake-0.1.1-py3-none-any.whl.
File metadata
- Download URL: morpheus_wake-0.1.1-py3-none-any.whl
- Upload date:
- Size: 75.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59d7c7881469dfeb4c992fe6a8d427da6e3238247b4ac51c954e963cbd6f6742
|
|
| MD5 |
4f7a0ada9a440e47fc1421ddc770b1d1
|
|
| BLAKE2b-256 |
e1bd91bc08b3da251137b915d8dc471fd3665c2d352b5b5b000ddc18cf27b58e
|
Provenance
The following attestation bundles were made for morpheus_wake-0.1.1-py3-none-any.whl:
Publisher:
release.yml on botAGI/morpheus-ai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
morpheus_wake-0.1.1-py3-none-any.whl -
Subject digest:
59d7c7881469dfeb4c992fe6a8d427da6e3238247b4ac51c954e963cbd6f6742 - Sigstore transparency entry: 1566372425
- Sigstore integration time:
-
Permalink:
botAGI/morpheus-ai@24773992378fb788a7bd6be220905d3cb44852e8 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/botAGI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@24773992378fb788a7bd6be220905d3cb44852e8 -
Trigger Event:
push
-
Statement type: