test(e2e): query opencode session DB during turn 4 hang to see message info.finish
Previous PROBE dumped wire messages, but the finish field lives on msg.info, not in the wire payload. To diagnose why opencode's break condition stays false, we need to see what's actually persisted in opencode's session DB. This dump opens opencode's messages.db read-only, queries the latest 6 messages by ID, and logs role/id-prefix/finish/summary. The newest assistant's finish field should be 'end_turn' (mock returns that with stop_reason: end_turn). If it shows as null or 'tool-calls' or the newest assistant is a still-streaming one, that tells us exactly why OpenCode's loop doesn't break. Diagnostic only; production code unchanged. Test passes locally in 4s.
I
Ismet Ufuk Altinok committed
7d8137bc4af9fe663dc21443aaf47618dcda9dec
Parent: f62d544