Specifications
The English specifications define Graft’s observable contracts. Use them when implementing a compatible adapter, reviewing a behavior change, or deciding which layer owns a rule. Use the task guides for normal product integration.
| Contract | Specification |
|---|---|
| Repository paths, objects, refs, index, and commits | Graft Repository 1.0 |
| SQLite storage snapshots and restore semantics | Graft Storage Snapshots 1.0 |
| Worktree capture and materialization | Graft Worktree Materialization 1.0 |
| Path and SQLite logical diff behavior | Graft Diff 1.0 |
| Three-way merge and conflict behavior | Graft Merge 1.0 |
| Runtime and host adapter boundaries | Graft Runtime Adapters 1.0 |
| Remote publication and synchronization | Graft Remote Sync 1.0 |
| Portable fixed-page SQLite deltas | Graft SQLite Page Delta 1.0 |
Start with the specification index for ownership, conformance labels, and the canonical layer order.
Contract versus implementation
Section titled “Contract versus implementation”Repository identity, snapshot content, diff and merge results, adapter safety, and remote publication order are observable contracts. Cache file names, Rust module boundaries, temporary paths, and storage-engine key encodings are implementation details unless a specification says otherwise.
Behavior changes should update the owning specification and executable conformance evidence together.