chadtmiller.com/knotless
git that lives in your Atmosphere account
Prior art
pds.js @pdsjs/git
@pdsjs/git stored a repository as one record holding every ref, plus a
chain of git bundles. Any two pushes to the repository contended on that
one record. knotless splits refs into records with a compare-and-swap each,
and replaces bundles with self-contained packs that arrive inline with the
listing.
Tangled
Tangled keeps git on separate servers ("knots") and the social records in
the PDS. knotless keeps git in the PDS as well. Its server, knotless-serve, is
optional: a cache that anyone can run and nobody has to trust, and a
gateway that only the owners who delegate to it trust.
Anthropic's Scion
Scion ("Redesigning source control at Anthropic", October 2026) replaced git inside Anthropic once agents pushed merges past 30,000 a day. These of its lessons carry over:
- Clients are online, so fetch by immutable hash through tiers of caches
(
knotless-serve, the object API). - Shared mutable state should be a compare-and-swap on one row (one record per ref).
- Refs are the scaling problem, so agents should work on their own branches.
- A working copy is optional (
knotless commit).
Cursor Origin
Cursor Origin keeps git's wire protocol and builds the agent-facing forge
around it. knotless-serve makes the same bet for reads: plain git
clients, with no special client required.