Per-file freshness record: content hash plus the stat identity it was
hashed at. On Unix the identity combines modification and change time,
so rewriting bytes while restoring mtime cannot hide an edit. Encoded
in FILE_HASH as hash|identity_nanos|len; old mtime-only rows decode
but miss once against the new identity and are refreshed.
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.