Per-file freshness record: content hash plus the stat identity
(mtime, len) it was hashed at. A scan whose stat matches reuses the
hash without reading the file (the make trick). Encoded in
FILE_HASH as hash|mtime_nanos|len; a bare hash (no stamp) never
matches a stat, forcing a re-hash.
What an update invalidated: definition names whose binding targets may
have changed, and files that held resolution edges into the touched
files (their import/module bindings were torn down and must re-resolve
even when no name they use changed — e.g. package imports bound to a
file node).
Create (or open) any redb database under sinter’s contention policy —
the one named owner of open-retry behavior for auxiliary databases
(workspace link store) that are not the repository Store.
Depth-1 dependents and the distinct files they live in — the “who
actually calls this” number, distinct from the transitive total that
otherwise reads as a caller count.