A loop-carried dependence occurs when a step in one iteration depends on a step from another iteration of the same loop. Iteration i cannot complete its aggregation until iteration i−1 has finished. section 10.2.1
Directory hashing makes the constraint concrete: each file hash can be computed independently, but the hashes must be added to sha256 in loop order. Reordering them produces a different directory hash. section 10.2.1
