0003. The commitment layer owns hash derivation as metadata-agnostic primitives

Status

Accepted, 2026-07-25.

Context

The engine decomposition named a component for hash derivation only descriptively (“the hashing/commitment layer”), and the design record was of two minds about its boundary: the engine breakdown assigns node hash, edge hash and the flat-sealed design root to that component, while the proof-generation pipeline computes the design root as a step of generation, folding in snapshot metadata there. The first requirement slice (SEG-SREQ-002/003/005) needed a settled subject.

Decision

The component is named the commitment layer. It owns node-hash derivation (from a node’s content hashes), the two-sided edge hash, and the flat-sealed design-root computation — all as metadata-agnostic primitives. The proof generator calls the root primitive and supplies the snapshot metadata at proof time. Approved component vocabulary alongside it: the content extractor, the graph builder, the requirements reader.

Consequences

  • SEG-SREQ-002, -003, and -005 use “the commitment layer” as subject; SEG-SREQ-003 treats the metadata term as a caller-supplied opaque input, deferring its semantics to the proof slice.

  • The proof generator holds no hashing logic of its own.

  • The engine’s module decomposition must reflect this boundary (design round, iteration 0).