xiaoju
|
f3aedf8d6c
|
feat: Phase 4 — CAS-based fork + mark-and-sweep GC
- Rewrite fork to create StateNode pointing to fork point (zero duplication)
- Rewrite GC as mark-and-sweep: roots from threads.json + history, findReachableHashes via refs[]
- Remove .data.jsonl code paths
- Fix all 7 previously failing CLI tests
- New: gc-mark-sweep.test.ts verifying shared nodes survive GC
- All 166 tests pass
Refs #155, closes #159
小橘 <xiaoju@shazhou.work>
|
2026-05-09 08:12:49 +00:00 |
|
xiaoju
|
81c582ae0e
|
feat: Phase 2 — engine write path (CAS nodes + threads.json)
- Engine writes StartNode, StateNode, ContentMerkleNode as CAS blobs
- threads.json tracks active threads, completed → history/{date}.jsonl
- No more .data.jsonl writes
- ancestors skip-list: [parent, ...parentAncestors] capped at 11
- Tests: 4 pass (engine write path)
Refs #155, closes #157
小橘 <xiaoju@shazhou.work>
|
2026-05-09 07:53:44 +00:00 |
|