db88e8bffc
@researcher streams its reasoning into /var/lib/bullpen/thinking/<ask-id>.txt as it generates (truncate at start, flush per delta, prune >1h). bullseye grows a cheap GET /api/thinking route (reads the hertz side-file via sic, like the room) and the page polls it fast (2s) while a run is thinking, idle (refresh_secs) otherwise, rendering the growing reasoning in a dimmed .think panel above the transcript. Reuses the existing poll loop — no new streaming stack. The soothing tick-tick-tick; the post-hoc block (#1) still lands the final reasoning in the reply, SSE live-stream (#3) stays backlogged. 320 green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EWpfhDgYNA21tETDP9ueBE