pub fn canonical_pir_hash(pir: &PirGraph, roots: &[PirNodeId]) -> Result<u64>Expand description
Compute a process-independent canonical hash of the PIR structure.
This hash depends only on the semantic structure of the PIR graph (node types,
leaf/choice IDs, children’s structural hashes), NOT on PirNodeId numeric
values. Two processes that build the same XLOG program will produce the same
canonical hash even if HashMap-based interning assigns different node IDs.
Used as the cnf_hash component of the disk cache key to enable cross-process
cache hits.