Scion is a workload decision, not a Git obituary.
Anthropic says it built Scion and moved its monorepo from Git in five months. The stated pressure was unusual: most clients were online agents and jobs, the repository was very large, and CI performed tens of millions of checkouts each day. Scion lets some jobs request diffs or perform writes through an API. When files are needed, sparse and virtualized checkouts reduce what reaches disk.[1]
Those are Anthropic's claims about its internal system. The article does not publish Scion as a product or give outside teams a runnable package. Its useful lesson is the shape of the measurement. A source-control decision should follow client behavior, checkout frequency, file demand, network availability, and recovery needs.
Do not pay for a complete checkout when the job needs one diff. Do not remove the complete checkout when the job needs offline custody.
Git already has narrower materialization paths.
Git's partial-clone design allows a repository to work without every object stored locally. Missing objects can be fetched later from a promisor remote. The tradeoff is explicit. The client must stay online and the remote must remain available when a missing object is demanded.[2]
Sparse checkout addresses a different layer. It reduces the tracked files present in the working tree to selected directories or patterns. Git's current documentation still calls the command experimental and warns that other commands behave differently around sparse paths.[3] Partial clone controls which objects arrive. Sparse checkout controls which tracked paths appear. They can work together, but they do not prove that a build, indexer, test runner, or agent will stay inside the subset.
Human-scale pressure looks different.
VS Code 1.141 added storage cleanup for inactive agent-session worktrees. The editor can show their sizes, remove selected worktrees, and protect active, running, pinned, or needs-input sessions. Cleanup marks a session done and can recreate its worktree if the session is restored.[4]
That is not the same problem as Anthropic's checkout volume. It is the local version of the same accounting failure. A convenient isolated workspace became durable storage without a visible owner, age, or recovery rule. Before changing the repository protocol, make the existing worktree lifecycle measurable.
Instrument first. Migrate second.
Record checkout count, bytes transferred, bytes materialized, files opened, time to first useful command, demand-fetch stalls, server errors, and cleanup age. Split the report by workload. A human editor, an online review agent, a full build, and a diff-only CI job do not deserve one average.
Start with the cheapest reversible change. Clean abandoned worktrees. Test sparse checkout on one narrow task. Test partial clone on a workload that can tolerate remote fetches. Move a read-only diff job behind an API only after the server path has load limits, authentication, observability, and an export route. Replace the forge only when measured pressure survives those smaller repairs.