How it works
The kernel is an immutable world graph. State changes only through transitions: pure AILANG functions, checked before they run. Every effect passes through a capability-checked broker, and MCP and A2A are the native boundary.
- 1
Propose
An agent proposes a change as an AILANG program. It never writes to the world directly.
- 2
Verify
Types and Z3 contracts are checked before anything runs. Unverified proposals stop here.
- 3
Commit
Verified, authorized, budgeted proposals commit to an append-only, content-addressed log.
- 4
Replay
A pure transition plus its recorded effect results rebuilds any past state bit-for-bit.
What World gives you
World manages goals, typed state, capabilities, effects, evidence, budgets, contracts, provenance and AI proposals. It runs on one machine, over SQLite, with no cloud in the core.
Provenance you can walk
Every commit leaves evidence and a trace. Ask the world why something happened and walk the log to the answer, instead of grepping for it.
Explicit authority
No ambient authority. Every effect goes through the broker with a capability and a budget check, and every allowed, denied or failed effect is recorded.
Deterministic replay
Determinism comes from the language, not from reconstructed logs. Recorded effect results are replay input, and replay never dispatches a live handler.
Agents as residents
Eight AILANG coding tools (read, write, edit, check, run, two searches and the CLI) are served over MCP and A2A. Each call runs one brokered effect and commits one log entry.
MCP native, session scoped
An agent connects to the daemon's /mcp/ endpoint with a minted session. It sees only the tools whose effects that session holds a grant for.
The call result carries the tool's output plus the world block: the effect records it produced and the plan that ran. Resolve any record by its content address.
# List the tools this session may call (MCP over the local daemon)
curl -s -H "Authorization: Bearer $(cat /tmp/se-session)" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
http://127.0.0.1:7644/mcp/
# Call one: a brokered effect, one committed log entry
curl -s -H "Authorization: Bearer $(cat /tmp/se-session)" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"ailang-read","arguments":{"path":"hello.ail"}}}' \
http://127.0.0.1:7644/mcp/