fn decode(
bytes: &[u8],
project: &str,
branch: &str,
) -> Result<Vec<ReviewThread>>Expand description
Decode a stored blob into threads, mapping a decode failure to an
error tagged with the owning (project, branch) so a corrupt row is
diagnosable rather than a bare serde message. Lifts membership off any
row still carrying it on the thread (see lift_thread_membership).