~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

7
36 lines · 1.3 KB Raw History
# 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.