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
docs(designs): correct git-backbone crux to GC, not axis-3 transport
The load-bearing motivation is reachability-driven GC: a
refs/formulas/<id> <-> sqlite formula-graph mirror so git's own GC
collects what no live formula roots. Axes 3 (transport) and 2 (trees)
are extensions, not the crux. Add a Status section recording the shipped
axes 1+4 substrate (git2/libgit2, bare repo at {dir}/cas.git) and the
JS/Rust seam blocking the formula-graph mirror. Sync designs/README.md.
@@ -597,7 +597,7 @@ capabilities available to agents.
597
597
| daemon-git-capability | Proposed | Revised git design over `EndoMount` / `EndoMountEntry`; `tree(ref)` and `readOnly()` both live on the `Git` cap |
598
598
| daemon-git-remotes | Proposed | MVP remote-git companion: fetch / pull / push composed from local `Git`, bounded HTTPS transport, endpoint policy, and credential caps |
599
599
| daemon-git-next-steps | Proposed | The version-controlled filesystem loop milestone over the canonical trio: north-star agent loop (provide workspace → read/list/edit → status/diff → commit → pull/push → inspect history via `filesystemAt(ref)`) and the content/versioning/network/historical-read/bulk-storage layer split. Open `- [ ]` work: worked bot-fork reference flow, `provideGitClone` + identity boundary (→ `daemon-git-clone.md`), `tree(ref)`/`filesystemAt(ref)` reconciliation. Agent-tools layer deferred to #416|
600
-
| daemon-git-backbone |Proposed | Back the existing Rust CAS (`rust/endo/src/cas.rs`) with git, all four axes: objects → git object DB (sha256-keyed), `TreeManifest` → git trees, bulk transport off CapTP onto pack/smart-protocol, retention → `refs/formulas/<id>` + `git gc`. In-process `gix` (recommended) in the `endor` supervisor; sha256 stays the content key behind a sha256→oid index. Migrations out of scope. Four axes; each probe-able separately |
600
+
| daemon-git-backbone |In Progress | Back the existing Rust CAS (`rust/endo/src/cas.rs`) with git, all four axes: objects → git object DB (sha256-keyed), `TreeManifest` → git trees, bulk transport off CapTP onto pack/smart-protocol, retention → `refs/formulas/<id>` + git GC. The crux is GC: a `refs/formulas/<id>` ↔ sqlite formula-graph mirror so git's own GC collects what no live formula roots. In-process `git2` (libgit2, vendored) in the `endor` supervisor; bare repo at `{dir}/cas.git`; sha256 stays the content key behind a sha256→oid index. Axes 1+4-substrate shipped on PR #369; the formula-graph mirror is blocked on a JS/Rust seam (formula graph lives in the JS daemon, not reachable from the Rust CAS). Migrations out of scope. Four axes; each probe-able separately |
601
601
| filesystem-watchers | Not Started |`EndoMount.followNameChanges` parity with `EndoDirectory`; Node `fs.watch` adapter on `FilePowers`|
602
602
| daemon-locator-terminology | Not Started | Clean locator API; unblocked |
603
603
| daemon-rename-to-manager | Not Started | Rename `daemon.js`/`Daemon`/`MignonicPowers` to `manager.js`/`Manager`/`WorkerPowers` to align JS with Rust `endor` nomenclature |
0 commit comments