JSONL is easy to underestimate. One object per line sounds like a format you can parse with a short loop. A live coding-agent transcript adds the cases that make that loop unsafe: a partial final append, an unusually large record, duplicate events, provider-specific envelopes, and old completion markers that later activity has invalidated. Here is the defensive design we use before inferring session state. Bound I/O before JSON parsing Do not read an unbounded transcript into ...