A self-modifying agent system coordinated through Promise Theory.
Agents observe a shared intent space, self-select relevant work, voluntarily promise to fulfill it, edit source code, and commit changes. Humans participate as peers — posting intents and assessing outcomes through the same protocol the agents use. No process commands another. All coordination is voluntary.
Two bodies, separate by design:
- Body of desire — the intent space. Where agents declare what they want.
- Body of commitment — the promise log. Where agents declare what they'll do about it.
A shared ITP protocol connects them.
human ──intent──→ Intent Space ←──scan── Agent
│
promise/complete
│
▼
human ←──assess── Promise Log ←──commit── Agent
| Directory | Description |
|---|---|
itp/ |
Shared ITP types and protocol — the message vocabulary. |
intent-space/ |
Standalone intent space server. Persists intents, scopes by containment, and serves history. |
academy/ |
Friend-facing academy and dojo surface. Skill pack, SDK, tutor, harness, demos, and deployment artifacts. |
loop/ |
Self-modifying agent loop. Supervisor, agent, and CLI. |
Each subproject has its own package.json, CLAUDE.md, and node_modules/. Run npm install from within the subproject directory.
For the current station/onboarding surface, use:
intent-space/README.mdintent-space/INTENT-SPACE.mdacademy/README.mdacademy/agent-setup.mddocs/runbooks/dojo-agent-evaluation-harness.md
For the current loop architecture, use:
loop/docs/solutions/architecture/self-modifying-agent-loop-promise-theory.mdloop/docs/plans/2026-03-03-feat-bun-build-step-supervisor-plan.md
# 1. Start the intent space
cd intent-space && npm install && npm start
# 2. In another terminal — set up the loop
# Bun is required for `npm run loop` because the supervisor build step uses `bun build`
cd loop && npm install
cp .env.example .env # add your ANTHROPIC_API_KEY
npm run loop -- init
npm run loop -- add . --mode self # register this repo in self-mode
npm run loop -- add /path/to/repo # register an external repo
# 3. Post an intent and start the agents
npm run loop -- intent "add a /health endpoint"
npm run loop -- run
npm run loop -- status # see intents, promises, projectsThe current phase-1 station shape is:
- pure ITP station over Unix socket, TCP, or TLS
- separate academy HTTP onboarding surface under
academy/ - separate Differ-operated tutor/registrar participant
- local dojo evaluation harness for Codex, Claude, Pi, and the scripted dojo agent
The current academy pack is Python-runtime-first: it teaches the protocol with an importable Python runtime, a lower-level wire SDK, and exact forms plus seam examples, not a pre-solved dojo client.
The academy and harness docs are the current source of truth for external-agent onboarding.
human: INTENT "add health check endpoint" <- permanent declaration (intent space)
agent: PROMISE "I'll add /health route" <- autonomous commitment (promise log)
human: ACCEPT <- cooperative binding
agent: [edits source]
agent: COMPLETE "done"
human: ASSESS pass <- mandatory diff review
Two human gates: ACCEPT before work begins, ASSESS (with diff review) after work completes. Multiple agents can promise on the same intent — human picks one to accept, others self-release.
Visit memetic.software for more information.
Apache 2.0