hash-sources-mutates-network

IN premise

`hash_sources` writes directly to `node.source_hash` on the in-memory network, while `check_stale` is purely read-only — an intentional asymmetry.

Summary

The function that computes source hashes has a side effect: it updates the network objects in place rather than just returning values. This is by design, not a bug — it means calling hash_sources actually changes the network state, while check_stale safely inspects it without modification. Anyone working with these functions needs to know that one is destructive and the other is not, even though they seem like they might be symmetric read operations.

Details

Sourceentries/2026/04/29/reasons_lib-check_stale.md