ADR-011: No zetl-Managed Snapshots
Context
Diff Command needs a baseline to diff against. Should zetl maintain its own snapshot history, or delegate to Git?
Decision
zetl uses Git as the sole history backend. It does not maintain snapshot storage.
Rationale
- Most vaults are already in Git repositories
- Snapshot management adds significant storage and complexity
- Git provides rich baseline selection: refs, tags, dates, HEAD~N
- The Merkle Tree provides content-addressed change detection within a single point in time; Git provides the temporal axis
Trade-offs
zetl diffrequires Git — it’s the only zetl command with this dependency- Vaults not in Git cannot use diff
- Git must be installed and accessible on PATH
Mitigation
When Git is unavailable, zetl diff produces a clear error message explaining the requirement. All other commands continue to work. See SPEC-007 Graph Diff for the full specification.
See also: Diff Command, ADR-012 Changed Files Reconstruction, decisions/Local-first Design