pub fn request_hash(kind: &str, payload: &Value) -> String
Hash a host request for divergence detection (16 digest bytes → 32 hex chars).