You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
"SELECT id, json_extract(data, '$.role') AS role, json_extract(data, '$.finish') AS finish, json_extract(data, '$.summary') AS summary FROM message WHERE session_id = ? ORDER BY id DESC LIMIT 6",
0 commit comments