Ephemerality: scaling multi-agent development beyond imagination
Ephemeral Workspaces. Durable Shared History.
LayerFS is the substrate under your agents. Each one mounts a complete, writable Workspace over shared committed history, does its work, commits what it changed, and goes away.
Ephemeral Computing
Compute exists only while a command runs.
Compute: Agents spend ~80% thinking, ~10% in Bash.
FS: Each file tool call is one atomic Store op.
Sandbox: Each Bash tool call mounts an ephemeral workspace, then commits.
Decentralized Agents
Agents on different computers share one serverless Store.
Shared storage: Every agent commits to one Store, with no DB server.
Distributed computing: Each agent runs on its own computer.
Multiagent Coordination
One project, many branches. One branch, many agents.
Commits: Every tool call is a commit on its branch.
Conflict: A same-file clash is refused with Conflict.
Blame: Each line names the step that wrote it.
Recursive Filesystem
Fork recursively any commit, at any depth.
Zero cost: A fork is metadata and copies no files.
Recursive: A filesystem for RSI agents and recursive exploration for RL training.
Ultra Storage Optimization
Dedup: Each content chunk is stored once.
Compression: The stored chunks shrink further.
Ratio: 10 copies → 1.05 dedup → 0.31 compression wtf???
Instant Bootstrap
Dependencies come with every mount. No wasting time for re-installation.
Git / other AgentFS: Drops ignored files; reinstalls.
LayerFS: Ignored files stay in every commit.
Comparison: ~5 min to install vs 0.05 s to mount.
Auto Checkpoints 07 → Every step an agent takes is a checkpoint to return to. Every call: Each file call is a commit; each Bash call commits when it ends. No noise: A call that changes nothing commits nothing. Rewind: Fork from any checkpoint and read any file as it was.
Append-only Objects 08 → Saved objects are never rewritten. The Store only grows. Content-addressed: An object is named by the hash of its bytes. Sealed: A written pack is never updated or deleted. Safe to share: Branches share objects; readers never wait for the writer.
Conflict Rules (.lww) 09 → Name the files that should never conflict. The newest edit wins. /.lww: Gitignore-style rules at the root of the tree. Newer wins: A matched file changed on both sides takes the newer edit. For: Lockfiles, build output and caches.
Big File, Small Edit 10 → An edit costs the size of the edit, not the size of the file. Overlay: A write keeps only the bytes it wrote. Commit: Only the edited extents and their tree path are rebuilt. Storage: The rest of the file is shared with its old version.