Skip to main content

Module transcript

Module transcript 

Source
Expand description

What one run actually saw, written beside its room when it freezes.

One ChatMessage per line, in the serde form the wire uses, so a line number search reports is a message index read continues from. The frozen prefix is not here: it is the half of every request that never changes, and the ledger’s prompt_assembled already holds its hash.

This is not the ledger, and it must not point at it. The ledger lives under the reserved subtree read refuses, and it is one chain for the whole city — handing it to one resident hands over a confidential building’s events as well. A transcript is one run’s, written in that run’s room, and who may read it is the read bound’s answer for that room: read and search ask it of a transcript’s path as of any other, so a confidential building’s transcripts stay inside it (crates/city/Spec.lean §8-2).

Three steps in a fixed order: scanned for credentials, pinned into the CAS, then materialised. Scanned before pinned, because a key that reached the content store cannot be taken back out.

Structs§

Transcript
The messages one run’s model saw, one JSON line each, already scanned. Private fields: a transcript that skipped the scan cannot be assembled a line at a time.
TranscriptRecord
Where a transcript landed, and the way back to its bytes.