Core documentation

5. Content-addressed changesets from day one

Specification metadata
adr: 5
title: Content-addressed changesets from day one
status: accepted
date: 2026-06-16

§Context

A changeset could be encoded inline (full before/after bytes), as a unified-diff patch, or as content-addressed blob references the host serves on demand. Inline is simplest but heavy and leaks the whole tree to every server. We considered shipping inline for v0 and content-addressing later.

§Decision

Content-addressed from day one. A changeset is a path → blob-hash overlay on a content-addressed baseline. Servers pull bytes lazily via workspace/listTree + workspace/readBlob.

§Consequences