pub fn probe_tool_input_fresh(path: &Path, content_hash_hex: &str) -> boolExpand description
The A8-style disk probe behind tool_input_escalation_action: does the
file at path currently on disk still hash to content_hash_hex? Unlike
probe_read_freshness (which lossy-UTF8-decodes before hashing, to
mirror read_file’s own transform), this hashes the RAW bytes directly —
write_file writes content.as_bytes() with no transform, so the exact
bytes on disk are the fairer comparison. Unreadable/deleted files are
never fresh (fails closed, the same direction A8 fails in). A free
function (no Reduction/ReductionLog coupling) so it composes with
whatever wave-5 escalate() orchestration eventually calls it.