You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+42-6Lines changed: 42 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ Traditional copies of an agent workspace duplicate unchanged bytes and directory
38
38
39
39
## Core model
40
40
41
-
A single local SQLite **Store** contains durable history and canonical objects. A **Workspace** is an ephemeral projection of one branch that can be executed, committed, discarded, and ended explicitly.
41
+
A single local SQLite **Store** contains durable history and canonical objects. A **LayerStack** is an ordered history of immutable **Layers**, with the newest Layer at the top and the genesis Layer at the bottom. Each Layer can fork multiple **Branches**; each Branch can create multiple ephemeral **Workspaces**. A Workspace can be committed back to its Branch, and the Branch head can then be added as a new Layer on the LayerStack.
42
42
43
43
| Concept | Lifetime | Role |
44
44
| --- | --- | --- |
@@ -49,15 +49,51 @@ A single local SQLite **Store** contains durable history and canonical objects.
49
49
|**Workspace**| Ephemeral | A private copy-on-write working environment projected onto a host directory or through container FUSE. |
50
50
|**Client**| Process-bound | Binds one Store, one monitor, and one workspace manager. |
51
51
52
-
The normal lifecycle is:
52
+
The mental model is:
53
53
54
54
```text
55
-
LayerStack → Branch → Workspace → Execute → Commit or discard → End
└── fork ──▶ Branch B ──┬── create ──▶ Workspace B1
89
+
└── create ──▶ Workspace B2
90
+
│
91
+
└── commit ──▶ Commit B2
92
+
│
93
+
└── Add ──▶ L1
58
94
```
59
95
60
-
Each `workspace exec` starts a fresh process. `commit` publishes the current state to the branch; `end` removes the ephemeral projection and never commits implicitly.
96
+
A LayerStack is the durable sequence; Branches are lines of work rooted at a Layer; Workspaces are disposable executions created from a Branch. `commit` publishes a Workspace’s changes to its Branch, while `Add` promotes the Branch head into a new immutable Layer. Each `workspace exec` starts a fresh process, and `end` removes the ephemeral projection without committing implicitly.
0 commit comments