@RoundtableSpace: Someone open-sourced Anthropic's Scion. Anthropic said its Git replacement, Scion, would stay internal. Now there's ope…
Summary
An unofficial open-source implementation called gitai brings Anthropic's internal Scion version-control design to the public, offering agent-friendly features like partial clones, server-side history, and an optional AI conflict resolver on top of normal Git repos. While unaffiliated with Anthropic and still v0.1, it lets the community run and improve the design under an MIT license.
View Cached Full Text
Cached at: 10/17/26, 04:50 AM
Someone open-sourced Anthropic’s Scion.
Anthropic said its Git replacement, Scion, would stay internal. Now there’s open_scion: an unofficial, open-source version built from the design Anthropic published.
what it does:
- partial clones → agents fetch only the files and history they need
- server-side → blame, history and code search, cached
- landing → compare-and-swap merges, batched, with an optional AI conflict resolver
- the catch → it’s v0.1, not affiliated with Anthropic, and interfaces will change before 1.0
built for agents:
→ per-agent tokens and branch policies → auto-bisects and reverts changes that break tests → runs on normal Git repos, forked from GitLab’s Gitaly
Publish the design, and the internet ships the code.
feder-cr/git-ai
Source: https://github.com/feder-cr/git-ai
Git designed for AI agents.
Anthropic built Scion, a faster version control system for coding agents, and described it in Redesigning source control: a server-centric system built for hundreds of agents that read, write and land code at the same time. Scion is internal to Anthropic and is not available to the public.
So I built gitai: an open-source version of that design that anyone can run, and that the community can improve and maintain together.
MIT licensed. Vendor neutral: the server never calls a language model, and every AI feature works with any provider, or none.
gitai is an independent implementation of the publicly described design. It is not affiliated with or endorsed by Anthropic.
Why
Classic Git hosting was built for humans who clone a repository, work for hours and push once. Coding agents work differently: thousands of short-lived tasks, each touching a few files, each wanting to land in seconds, all on the same branches. Full clones, merge queues and client-side history walks become the bottleneck.
Scion’s answer is to move the work to the server: clients stay online and fetch only what they need, history questions are answered (and cached) by the server, changes land through a compare-and-swap instead of a queue, every update is an entry in a changeset log, and the repository state lives in a consistent database plus object storage so servers scale out. gitai implements these ideas, with normal Git repositories underneath.
The Scion ideas, implemented
| Scion idea | In gitai |
|---|---|
| Always-online clients that fetch exactly what they need | ObjectService serves single objects and sparse trees; graft clone and graft sparse materialize only the paths you ask for. |
| Source control as an API: history runs on the server | Blame, path history, ancestry and code search run server-side and are memoized as derived data, computed once per commit. |
| Landing without a merge queue | UserLand rebases a change onto the current tip and lands it with a compare-and-swap; concurrent lands on one branch are batched into a single reference update. |
| Automatic conflict resolution | A conflicting land is resolved by a resolver you choose (any LLM provider, a deterministic tool, or none) through a versioned, vendor-neutral protocol. |
| Changeset log | Every accepted reference update is recorded with its operation and actor in a dense, ordered log that clients list or watch live. |
| Storage core: a database and object storage, stateless servers | Each change is a changeset in a write-ahead log in SQLite or PostgreSQL, with a compare-and-swap per reference; packs live in object storage (file, S3, GCS, Azure). Server nodes are caches that any node can rebuild, so you add nodes to scale. |
| Test after landing, revert the culprit | graft-verify tests the tip, bisects a failure and reverts the change that broke it. |
| Monitoring agents (“superfans”) | Agents follow the changeset stream and report what matters to each component, also through Slack. |
| Agent-friendly review | Reviews with semantic approval rules: a comment-only change can need fewer approvals than a logic change. |
| Agents as first-class users | Per-agent tokens, an RPC allowlist and branch policies decide what each agent may do. |
| Strict cache tiers | graft-cache caches immutable objects in daemon and regional tiers, verifying every object. |
Architecture
agents, CI jobs, sparse workspaces graft CLI / Go SDK
|
v gRPC
+-------------------------------------------------+
| graft-cache (optional daemon and cache tiers) |
+------------------------+------------------------+
v
+---------------------------------------------------------------+
| gitai server (any number of nodes) |
| land - objects - changesets - derived data - search - review |
| write path: changeset + compare-and-swap per reference |
+-----------+--------------------------------+------------------+
| |
v v
+-----------------------+ +-----------------------------+
| SQLite / PostgreSQL | | object storage |
| changeset WAL, refs, | | content-addressed packs |
| changelog, reviews | | (file, S3, GCS, Azure) |
+-----------------------+ +-----------------------------+
\ /
local Git repositories = caches any node can rebuild
Details: ARCHITECTURE.md and STORAGE.md.
Quick start
Requirements: Linux or macOS, Go 1.26, a C toolchain, Meson and Ninja (the build compiles a bundled Git).
git clone https://github.com/feder-cr/git-ai.git
cd git-ai
make build # server, CLI and tools into _build/bin
examples/graft/quickstart.sh # a server, a cache daemon, two agents and a land, in a temporary directory
./_build/bin/graft # the CLI and its commands
To run your own server, adapt examples/graft/config.toml
and start it with _build/bin/gitaly serve config.toml. To put the repository
state in a database and object storage, add a [graft.storage] section: start in
shadow mode, import your repositories, then switch to authoritative
(STORAGE.md).
Inside the code the extensions are called Graft: the [graft]
configuration section, the graft CLI, internal/graft and doc/graft.
Documentation
- Quickstart and configuration reference
- Architecture and the storage core
- Landing and batching, conflict resolution, derived data
- Review, search, verification, superfans and Slack chat
- Agent security, benchmarks, fuzzing
- Limitations and roadmap
- Design documents of each phase: PLAN.md to PLAN6.md
Status
Version 0.1.0, the first public release. Everything above is implemented and covered by unit, end-to-end, multi-node, crash and fuzz tests. Interfaces may still change before 1.0. Known gaps (for example garbage collection of packs in the storage core) are listed in LIMITATIONS.md.
Community
gitai is meant to be maintained by its community. Open an issue to report a
bug or propose an idea, start a discussion before a large design change, and send
pull requests: tests and a short description of the reasoning make them easy to
review. The design documents in doc/graft/PLAN*.md explain why things are the
way they are.
Credits and license
gitai is MIT licensed, see LICENSE.
It started as a fork of Gitaly, GitLab’s
Git RPC server (MIT, Copyright GitLab Inc.), which provides the Git plumbing
underneath; every upstream Gitaly RPC keeps working. The non-MIT ee/ directory
of upstream Gitaly is not part of this repository. Gitaly’s own README is kept in
doc/UPSTREAM-GITALY.md, and third-party notices are in
NOTICE.
Similar Articles
Redesigning source control at Anthropic
Anthropic shares how they built Scion, an in-house version control system, to replace git in their monorepo after AI-driven coding caused merge rates to grow from 2,500 to over 30,000 changes per day, also shipping code review (Antique), code search, and IAM in five months.
@kentcdodds: Anthropic built its own git and github replacement called scion and antique. Built for agents.
Anthropic 推出了自研的版本控制系统 Scion 及配套代码评审平台 Antique,用以取代其 monorepo 中的 git,以应对 Claude 代码生成带来的超人类规模合并压力(日均合并量从 2,500 增至 30,000+)。
Redesigning source control at Anthropic
Anthropic 分享了其自研源代码管理系统 Scion 的设计动机:内部代码合并量从每天约 2,500 次暴涨至 30,000 次,Git 无法满足 100GB 历史与每天 2500 万次 CI 检出的需求。新系统由 7 人团队在五个月内完成迁移,并配套了名为 Antique 的新代码评审系统。
More on Anthropic's Scion ripping off Mononoke
A follow-up blog post alleges that Anthropic's Scion source control system intentionally copied Meta's Mononoke, with the similarities extending beyond derived data to the entire Bonsai-style changeset data model and terminology.
@GergelyOrosz: While an interesting read and ambitious project, like anything else Anthropic creates (model, harness, tools) this tool…
Gergely Orosz 反应 Anthropic 工程博客关于自研源代码管理系统的文章,指出该项目和 Anthropic 其他产品一样是闭源的,只有 Bun 和 MCP 是开放的。原推文提到 Anthropic 每日代码合并量从 2,500 涨至 30,000+,迫使其为 agent 规模重建开发基础设施。