pub fn path_hash(path: &Path) -> Result<String>
Compute the SHA-256 hex digest of a canonical document path.