fn object_fingerprint(
descriptor: &ObjectDescriptor,
file_hashes: &BTreeMap<PathBuf, String>,
variables: &BTreeMap<String, String>,
) -> Result<String, ProjectError>Expand description
Compute a SHA-256 fingerprint for an object’s current compile inputs.
The fingerprint is a hex-encoded hash of:
- the object’s logical key (
db_name,schema_name,object_name) - every compile-time variable binding (name and value)
- every file variant’s path, profile tag, and content hash
Two invocations produce the same fingerprint if and only if the object’s identity, variables, file paths, and file contents are all identical. This is the cache key: a matching fingerprint means the cached artifact is safe to reuse without recompilation.