Skip to main content

encode_transcript_for_content_hash

Function encode_transcript_for_content_hash 

Source
pub fn encode_transcript_for_content_hash(
    transcript: &[ParticipantMessage],
    bot_name: &str,
    surface: &str,
) -> Vec<u8> 
Expand description

Canonical bytes the participation gate’s envelope binds to.

Covers the judged transcript plus the two prompt inputs that change the verdict: the bot’s own name and the surface wording. Each field is length-prefixed, so no boundary shift can move bytes between fields and leave the hash unchanged.

This is deliberately NOT the turn encoder: a turn binds AgentStart.messages. Two encodings mean a captured turn envelope cannot authorize an evaluation, or the reverse.