Expand description
Minimal Merkle-DAG for Q42 volume history (Phase 1 — §4.5 Option B).
DagNode (88 bytes, #[repr(C)]) is the atomic commit unit.
Branches are stored as BRANCHES_CONTEXT quins keyed on q_hash(branch_name).
Contestability forks create a new node with the FORK_DISPUTED flag.
The fast-export stream produced by generate_fast_export_stream now iterates
real DagNodes rather than returning a hardcoded stub.
Structs§
- DagNode
- 88-byte Merkle-DAG commit node.
- DagStore
- In-memory DAG node store. Persisted to
dag_root_offset/dag_root_lengthin the Q42 v3 volume header.
Constants§
- BRANCHES_
CONTEXT - Named-graph context for branch pointer quins.
- FORK_
DISPUTED - Node flag: this node was created via a contestability fork.
- GENESIS
- Node flag: genesis node (no parent).
- MERGE_
SECONDARY - Node flag: secondary-parent back-link in a merge commit.
Functions§
- generate_
fast_ export_ stream - Generate a
git fast-exportcompatible text stream from the DAG store. - generate_
fast_ export_ stream_ for_ project - Convenience wrapper: generate fast-export from a bare project ID string. Creates an empty store and produces the legacy stream (backward-compatible shim).
- quins_
merkle - Compute the SHA-256 Merkle root over a sorted slice of NQuins.