THE QUICK ANSWER

We built open_scion revision 1d8dc0e on Apple Silicon macOS, passed the upstream quickstart, and verified two concurrent client changes on the same feature branch. This guide records the exact revision, environment, commands, and observed limits.

1. Match the tested environment

This walkthrough evaluates the independent feder-cr/open_scion project. It does not install Anthropic’s internal Scion. We checked out the full revision 1d8dc0edef9740975971441d9150fd882bdc3afe, built the original source without patches, and ran the experiments on 16 October 2026.

The host already had Apple command-line build tools, Python, pkg-config, and the libraries below. We put Go and the Python build tools in a temporary directory rather than replacing the system toolchain. These commands target Apple Silicon macOS; Linux and Intel macOS were not tested here.

ComponentObserved version
Operating systemmacOS 26.3, arm64; Darwin 25.3.0
Compiler and GitApple clang 17.0.0; Apple Git 2.50.1
Go used for the build1.26.8 darwin/arm64; the installed Go 1.22.0 was too old
Python build toolsPython 3.14.3; Meson 1.12.1; Ninja 1.13.2
pkg-config librarieslibpcre2-8 10.44; zlib 1.2.12; libcurl 8.7.1
Built server version0.1.0-5-g1d8dc0e

2. Prepare tools in a temporary directory

Use a fresh shell and keep these variables for the following steps. The Go download is the official darwin-arm64 archive. Compare its SHA256 to the official sidecar before extracting it; the tested archive hash is also preserved in the evidence summary.

SCION_LAB="$(mktemp -d /tmp/scion.XXXXXX)"
python3 -m venv "$SCION_LAB/tools"
"$SCION_LAB/tools/bin/pip" install meson==1.12.1 ninja==1.13.2
curl --http1.1 -fSL https://dl.google.com/go/go1.26.8.darwin-arm64.tar.gz \
  -o "$SCION_LAB/go.tar.gz"
curl --http1.1 -fsSL https://dl.google.com/go/go1.26.8.darwin-arm64.tar.gz.sha256 \
  -o "$SCION_LAB/go.sha256"
SCION_SHA="$(shasum -a 256 "$SCION_LAB/go.tar.gz" | cut -d ' ' -f 1)"
if [ "$SCION_SHA" != "$(cat "$SCION_LAB/go.sha256")" ]; then
  echo 'Go archive checksum mismatch'; exit 1
fi
tar -xzf "$SCION_LAB/go.tar.gz" -C "$SCION_LAB"
export PATH="$SCION_LAB/go/bin:$SCION_LAB/tools/bin:$PATH"
go version
meson --version
ninja --version
pkg-config --modversion libpcre2-8 zlib libcurl

3. Pin the source and build the complete project

The full make target builds the bundled Git variants as well as Gitaly, the Graft CLI, the cache, and other tools. A first build downloads and compiles substantial dependencies. Keep the full revision instead of assuming a later main branch behaves the same way.

Our initial GitLab dependency fetch was slow. Restarting the build with temporary HTTP/1.1 settings completed successfully; no global Git settings or tracked source files were changed. The same settings are included below. We also built the independent bundled-Git targets in parallel during diagnosis, then completed the full make build.

git clone https://github.com/feder-cr/open_scion.git "$SCION_LAB/repo"
cd "$SCION_LAB/repo"
git checkout --detach 1d8dc0edef9740975971441d9150fd882bdc3afe
git rev-parse HEAD
export GIT_CONFIG_COUNT=1
export GIT_CONFIG_KEY_0=http.version
export GIT_CONFIG_VALUE_0=HTTP/1.1
export GODEBUG=http2client=0
make build
./_build/bin/gitaly --version

4. Run the upstream quickstart with Bash

At this revision the script is not executable, so the README’s direct invocation fails with Permission denied. Calling it with Bash works without changing its contents or file permissions. Use a short, fresh temporary work directory for the Unix sockets.

The script rebuilds from cache, starts a standalone server and cache, creates disposable credentials and a demo repository, and exercises the planner and builder identities. These are authenticated CLI clients, not live language-model agents. The upstream demo runs their operations sequentially and shares its working directory.

SCION_DEMO="$(mktemp -d /tmp/os-demo.XXXXXX)"
bash examples/graft/quickstart.sh "$SCION_DEMO"

5. Check the observed results

Our complete build and upstream quickstart both exited with status 0. The following are observed outcomes from that run. The builder’s rejected write to main is an intended policy check, not a failed installation.

History, blame, and file-history reads also completed. The script stops its server and cache on exit and retains the work directory. Use a new directory for a repeat run. Cache hit counts and generated commit IDs can differ between runs; they are observations, not performance targets.

CheckObserved result
planner writes mainCommit landed successfully
builder writes feature/demoCommit landed successfully
builder writes protected mainRejected; script printed denied as expected
Read main:README.md through Grafthello graft
Repeated clones through the cacheobject_hits = 1; object_misses = 2
Upstream source status after testingClean; no tracked source modifications

6. Reproduce a genuine concurrent land

We added a separate, downloadable experiment after the upstream demo. It restarts the demo server, clones feature/demo into two independent workspaces, and uses a shared release signal to start two client processes together. The planner writes planner.txt and the builder writes builder.txt. Both identities are allowed on that feature branch under the original policy.

Download and inspect our script, linked in Sources & verification, before running it against the fresh quickstart directory. The script checks both child exit statuses and reads both files back through Graft. It stops its server on exit and rejects a directory already used for this extra experiment.

In our run both commits landed in one attempt, the CLI reported batch 1/2 and batch 2/2, and the server recorded a land_batch containing both actors. That is evidence of this two-client execution. Scheduling may yield separate lands on a later run; the required check is that both final files are correct.

curl -fSL https://anthropicscion.com/assets/open-scion-concurrent-land.sh \
  -o "$SCION_LAB/open-scion-concurrent-land.sh"
# Read the downloaded script before executing it.
bash "$SCION_LAB/open-scion-concurrent-land.sh" "$SCION_DEMO"

# Observed read-back output:
# planner.txt: from planner
# builder.txt: from builder
# Concurrent land read-back checks passed.

Problems we encountered

Go 1.22.0 failed the repository’s Go 1.26 requirement. Selecting the temporary Go 1.26.8 toolchain resolved it. Invoke the quickstart with Bash to avoid the missing executable bit at this revision.

The macOS BSD sed printed an extra characters at the end of q command warning while the Makefile extracted bundled-Git version labels. Those labels appeared as .g followed by a revision. We left the source unmodified: the full build, server startup, quickstart, and concurrent experiment still passed. This observation does not establish that every version-dependent operation is unaffected.

An HTTP/2 framing error affected our initial Go download metadata request, and a GitLab fetch was slow. Official archive downloads and the build succeeded with the HTTP/1.1 settings shown above. Treat these as observed environment workarounds, not universally required project settings.

What this test establishes

This is one local functional test on one machine, using the default Git-backed configuration. It confirms the commands and read-back checks described here. It does not measure throughput or latency, run the full upstream test suite, or exercise multiple server nodes, database-authoritative storage, AI conflict resolution, or production recovery.

No model API key was needed. The concurrent changes touched different files, so this experiment does not test conflicting edits. Anthropic’s internal Scion performance figures cannot be inferred from these results. Keep your existing workflow as a baseline when planning a broader evaluation.

Common questions

Can this tutorial install the official Anthropic Scion?

No. It builds the independent open_scion repository at a pinned revision. Anthropic’s internal source and services are not included.

Why use Bash instead of running quickstart.sh directly?

The tested revision does not mark the script executable. bash examples/graft/quickstart.sh runs its unmodified contents successfully.

Does the upstream quickstart prove concurrent agent operation?

It runs the two client identities sequentially. Our separate experiment uses two workspaces and concurrent client processes, then verifies both resulting files.

Is this a benchmark or a production-readiness test?

No. It is a single-machine functional walkthrough. Performance, multi-node operation, conflicting edits, and production recovery require separate tests.

Sources & verification

Executed on 16 October 2026 against unmodified upstream revision 1d8dc0edef9740975971441d9150fd882bdc3afe. The evidence summary and our additional concurrent-land script are linked below. Upstream capabilities outside this experiment remain documentation claims.

  1. Our executed test: environment, outcomes, and evidence excerpt
  2. Our tested concurrent-land reproduction script
  3. open_scion: README at the tested revision
  4. Upstream quickstart script at the tested revision
  5. Upstream Makefile at the tested revision
  6. Upstream limitations at the tested revision
  7. Official Go archive and checksum

Written with AI assistance and checked against linked primary sources. This site has not benchmarked Anthropic Scion. Read our editorial policy.

KEEP EXPLORING

open_scion vs Anthropic Scion Optimize Git for AI agents, one bottleneck at a time Estimate your CI checkout cost