diff --git a/README.md b/README.md
index 3cf40ec..f0fbdb4 100644
--- a/README.md
+++ b/README.md
@@ -11,27 +11,13 @@
## How it works
```mermaid
-flowchart TB
- subgraph host["Your Machine"]
- secrets["Secrets and Keys"]
- folders["Workspace Folders"]
- end
+flowchart LR
+ host["Your Machine
Secrets and workspace folders"]
+ container["Bounded Container
Claude Code, Codex, Gemini"]
+ repo["Git Repository
Rules, state docs, scripts"]
- subgraph container["Bounded Container — Agents Work Here"]
- claude["Claude Code"]
- codex["Codex CLI"]
- gemini["Gemini CLI"]
- end
-
- subgraph repo["Git Repository — The Persistent Memory"]
- rules["Rules"]
- state["State Docs"]
- tools["Scripts"]
- end
-
- folders -->|mounts into| container
- container <-->|reads before acting / writes when done| repo
- secrets -.->|stays on host — never enters container| host
+ host -->|mounts into| container
+ container -->|reads and writes| repo
```
The container is bounded and disposable. The repository is permanent. Agents read the repo before every session — not the chat history — so context survives restarts, rebuilds, and parallel sessions.