A transcript is not a development history.
Most coding-agent interfaces preserve a stream: prompt, answer, tool call, patch, repeat. Useful, but flat. The moment code moves, “that function above” becomes archaeology. A commit records one accepted state; a chat records a conversation; neither automatically keeps the reason attached to the exact code as that code changes.
Zed’s new essay reaches backward to Ted Nelson’s Project Xanadu, then forward to DeltaDB. The stated model is fragment-based: spans have stable identities, anchors resolve as surrounding code changes, and conversation plus worktree live in one shared history. That is a vendor design claim, not a neutral standard. It is also the right problem.
The valuable memory is not everything the agent said. It is the shortest path from a live span to the evidence that made it trustworthy.
Git keeps the skeleton. The garage needs connective tissue.
Git is not obsolete here. Delta’s own interoperability story depends on it: Zed says every thread is also a git branch, files remain ordinary files, and repositories can keep mirroring to GitHub. Good. Any “future of code” that demands abandoning the existing toolchain arrives with its own flatbed tow truck.
But a branch cannot answer every review question cheaply. Which prompt introduced this condition? Which test failed before it passed? Was the agent in a local worktree or a cloud runner? Who corrected the assumption? What permissions were live when the command produced its result? Those links are usually scattered across chat, terminal scrollback, CI, review comments, and human memory.
Stable identity changes how review feels.
A line number is a coordinate in one snapshot. Insert twelve lines above it and the coordinate moves. A stable span is closer to a chassis number: the part can travel through revisions while review and provenance keep pointing to the part itself. Zed says Delta comments can attach to code or conversation and remain connected as both evolve.
That could make review more direct. Instead of reconstructing intent from the final diff, a reviewer can walk from the changed span to the conversation and back. The danger is obvious too: a perfect historical graph can become a junkyard of low-value traces. Durable context needs selection, boundaries, and receipts, not merely infinite retention.
Memory without containment is a power tool with no guard.
Zed’s separate sandboxing write-up supplies the missing brake pedal. It says agent terminal and fetch tools are sandboxed by default, with operating-system enforcement, default restrictions on network requests and writes outside project directories, and explicit privilege escalation. Whatever durable agent workspace wins, it must keep execution authority visible alongside history.
A preserved conversation can explain why code exists. It cannot prove the command ran in the intended directory, without credentials, or against the expected revision. Provenance and containment solve different failures. The cockpit needs both gauges.
What to steal now.
- Link decisions to symbols or spans. Do not bury a corrective review comment in a channel nobody will search next month.
- Record the execution boundary. Revision, working directory, runner, network posture, and granted privileges belong beside the result.
- Keep the plain-repo exit. New context systems should enrich Git, not hold the source tree hostage.
- Promote useful traces, prune exhaust. Preserve tests, constraints, corrections, and accepted rationale; compress repetitive model chatter.
- Test anchor drift. Add code above and around an annotated span. If the reference silently jumps to the wrong statement, the “memory” is decorative.
The agent era may finally justify richer hypertext for code. But the win is not an immortal chat log. It is a reviewable relationship between moving code and the few pieces of context that still deserve to move with it.