clayers-repo 0.1.2

Content-addressed Merkle DAG repository for XML documents
Documentation

A git-like, offline-first version control system for structural XML.

Operates on content-addressed Merkle DAGs of XML Infoset nodes rather than text files. XML documents are decomposed into their constituent nodes, each content-addressed by its Exclusive C14N hash, and stored in a Merkle DAG.

Architecture

  • Object model (object): XML Infoset nodes + versioning objects, all content-addressed via SHA-256(ExclusiveC14N).
  • Storage (store): Async traits for object store and ref store, with in-memory and optional SQLite backends.
  • Import/Export (import, export): Bidirectional conversion between XML strings and the Merkle DAG.
  • Diff (diff): Structural tree diff exploiting Merkle hashes.
  • Conflict (conflict): Divergence elements for concurrent edits.
  • Repository (repo): Porcelain API composing all components.