alias

Hwaro::Services::Server::FileStamp

What the watcher records per file: mtime plus size. Size catches same-tick rewrites on coarse-mtime filesystems (Docker bind mounts, NFS/SMB shares, exFAT) where two quick saves can share a timestamp — an mtime-only comparison would permanently miss the second save.

The third slot is a content digest, carried ONLY for the full-rebuild buckets (data/, i18n/ — nil everywhere else). Those buckets force a full rebuild, and a full rebuild re-runs build.hooks.pre — so a hook that rewrites an identical payload into data/ (the pattern #752 documents) retriggered itself forever under a stamp-only comparison (#755). The digest lets detect_changes drop stamp movement whose bytes are unchanged. See watch_digest for when it is (re)computed.