Problem
A transcript whose tool_use block lacks id crashes parse_session with KeyError instead of skipping the block.
Where
agentrace/parse.py (direct block["id"] access, uncaught up the chain).
Acceptance
Add a failing test first feeding a transcript with an id-less tool_use block and asserting parse_session returns. Then fix.
Problem
A transcript whose
tool_useblock lacksidcrashesparse_sessionwithKeyErrorinstead of skipping the block.Where
agentrace/parse.py(directblock["id"]access, uncaught up the chain).Acceptance
Add a failing test first feeding a transcript with an id-less
tool_useblock and assertingparse_sessionreturns. Then fix.