pub fn compose( approach: &Approach, constraints: &[Item], questions: &[Item], session: &str, hash: impl Fn(&[u8]) -> String, ) -> Result<Brief, String>
The brief the person’s choice makes, deterministically: the approach verbatim, then the kept constraints and open questions. hash is the hex SHA-256 the runtime supplies; the digest covers the body only, so the header can name it.
hash
The brief is larger than BRIEF_MAX.
BRIEF_MAX