Repro on Windows: python read_transcript.py --file 'C:\Users\2supe\.codex\sessions\2026\09\27\rollout-2026-09-27T16-11-35-01a0e47e-910a-7ef1-afc2-af96a506e45d.jsonl' --mode engagement --tz America/Indianapolis --format json returns (no user messages in this session). The Codex app read_thread for thread 01a0e47e-910a-7ef1-afc2-af96a506e45d shows multiple user messages on September 27 between 4:11 and 5:45 PM. Expected engagement to calculate active minutes. This is related to, but separately blocks a different workflow than, issue #51 about session-report and dump.
Additional finding: lib.parser.parse_lines(Path(...)) followed by get_messages also returns zero user messages for this active Codex rollout. The rollout has event_msg entries with payload.type == item_completed and payload.item.type == UserMessage. Direct extraction found 22 user prompts from 16:11:56 to 17:45:27 America/Indianapolis. Running engagement with --break 5m still returns no user messages. The root appears to be in Codex rollout normalization rather than engagement rendering alone.
Repro on Windows:
python read_transcript.py --file 'C:\Users\2supe\.codex\sessions\2026\09\27\rollout-2026-09-27T16-11-35-01a0e47e-910a-7ef1-afc2-af96a506e45d.jsonl' --mode engagement --tz America/Indianapolis --format jsonreturns(no user messages in this session). The Codex appread_threadfor thread01a0e47e-910a-7ef1-afc2-af96a506e45dshows multiple user messages on September 27 between 4:11 and 5:45 PM. Expectedengagementto calculate active minutes. This is related to, but separately blocks a different workflow than, issue #51 aboutsession-reportanddump.Additional finding:
lib.parser.parse_lines(Path(...))followed byget_messagesalso returns zero user messages for this active Codex rollout. The rollout hasevent_msgentries withpayload.type == item_completedandpayload.item.type == UserMessage. Direct extraction found 22 user prompts from 16:11:56 to 17:45:27 America/Indianapolis. Running engagement with--break 5mstill returns no user messages. The root appears to be in Codex rollout normalization rather than engagement rendering alone.