pub fn verify<G>(git: &G, out: &mut PipelineOutput) -> Result<(), EngineError>Expand description
Invariants 3 and 4 over a pipeline’s output. This writes.
Building a tree from the hunks is the only non-tautological way to prove
every hunk was carried, and write-tree needs the blobs in the odb. They
land unreferenced and git gc collects them.
Run it when the caller reconstructs a tree — dfr check, whose whole job
this is, and the shadow-branch builder, whose commits are trees built from
exactly these hunks. A reviewer that only reads a diff is protected by
invariants 1b, 1 and 2, which have already run.
The result lands in out.report.tree and in the document’s audit block,
with "verify" appended to generator.stages. Absence of that stage is how
a consumer tells “did not run” from “ran and passed”.