pub fn semantic_commitment_hash(prompt: &str, salt: &[u8]) -> String
Computes the semantic commitment hash for a shadow intent. Currently uses the structural permutation for ZK consistency.