fn read_set(messages: &[Message], memory_roots: &[PathBuf]) -> Vec<String>
Every path the session read, in transcript order, deduped and capped.