Repository navigation
feat(investigations): Draw the status block as a thinking block with the agent's reasoning - #128436
Merged
billyvg merged 8 commits intoOct 28, 2026
Merged
Conversation
Contributor
Story previewsPreview the stories changed in this PR on the Vercel deployment:
Preview deployment: https://sentry-1u8e3e3vb.sentry.dev |
billyvg
marked this pull request as ready for review
October 23, 2026 18:20
…g block The running status block listed tool calls as a bare toggle that read as a list of calls, unlike the thinking block the Seer agent shows. Reuse the shared ThinkingBlock so it looks and behaves the same: the latest call is the live title, every call for the phase is listed in run order, and the run's active time ticks on the right. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
billyvg
force-pushed
the
billyvg/feat/investigations-status-thinking-block
branch
from
October 26, 2026 23:53
667d0ba to
64c084a
Compare
billyvg
force-pushed
the
billyvg/feat/investigations-status-thinking-reasoning
branch
from
October 26, 2026 23:53
feafe7e to
de403cd
Compare
… block The status block's own Seer icon already spins while the run works, so the thinking block's spinning Seer beside it showed one loading state twice. Add a showIcon prop to ThinkingBlock and turn it off in the status block; the disclosure's chevron leads the title instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Seer now sends the reasoning behind each step as "thought" entries in a phase's tool activity. Draw them in the status block's thinking block as prose between the calls, in run order, using the same styling as the Seer agent's thinking block. Reasoning never becomes the block's title, which stays the latest call, as in the agent's. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Seer now sends the reasoning as a thoughts list beside each phase's tool activity, each thought naming the call it came before, instead of as a new tool activity kind. Put each phase's thoughts back between its calls before the lists are joined, and keep a thought sorted with the call it led to when running calls are moved last, so the two are never parted. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reasoning no call has followed yet sorted with the running calls, so with hypotheses in parallel one hypothesis's reasoning could land just before another's running call and read as what led to it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
billyvg
force-pushed
the
billyvg/feat/investigations-status-thinking-reasoning
branch
from
October 27, 2026 00:10
de403cd to
70c286a
Compare
billyvg
added a commit
that referenced
this pull request
Oct 27, 2026
…ty (#128435) ### Why? While an investigation runs, its status block shows the tool calls behind the current phase but not the agent's reasoning between them, which the Seer agent shows in its own thinking block. Seer is starting to send that reasoning. ### How? Each phase accepts an optional `thoughts` list beside its tool activity (`currentBlockThoughts` for the report). A thought holds the reasoning text, capped at 1,500 characters, and the ID of the call it came before, so the status block can put it back between the calls. ### Decisions - The reasoning gets its own list rather than a new tool activity kind, which keeps this backwards compatible in both directions. The new fields are optional, and Sentry already passes unknown fields through, so Seer can start sending them before or after this deploys. No feature flag or deploy order is needed. - The frontend that renders the reasoning: - #128436 <sub>Generated with Claude Code</sub> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…igations-status-thinking-block # Conflicts: # static/app/views/investigations/detail/runTimer.tsx # static/app/views/investigations/statusBlock/getSeerStatusBlock.tsx
… billyvg/feat/investigations-status-thinking-reasoning
billyvg
changed the base branch from
billyvg/feat/investigations-status-thinking-block
to
master
October 27, 2026 22:20
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2996dce. Configure here.
arslnb
approved these changes
Oct 27, 2026
The status block read the run's active time from the run timer, and the run timer read whether only the next step is pending from the status block, so each imported the other. Both now read it from runState, which depends only on the projection's types, so the cycle is gone and the status block no longer depends on a detail-page module. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
billyvg
deleted the
billyvg/feat/investigations-status-thinking-reasoning
branch
October 28, 2026 13:52
3 tasks done
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Why?
While an investigation runs, the status block at the top showed its tool calls as a bare toggle that read as just a list of calls. It should look and behave like the thinking block the Seer agent (Explorer) shows, including the agent's reasoning between the calls. Seer is starting to send that reasoning as a
thoughtslist beside each phase's tool activity.How?
A running status block now renders the shared
ThinkingBlock: the latest tool call is its live title, every call for the current phase is listed inside in run order, and the run's active time ticks on the right.Each phase's thoughts are put back between its calls, before the call each one names, and render as reasoning prose with the same styling as the Seer agent's thinking block. The block's title stays the latest call and never a thought, as in the agent's. When running calls are moved last across parallel hypotheses, a thought moves with the call it led to, so the two are never parted.
Screenshots
These predate the reasoning, so they show calls only.
With tool calls (latest call is the title, calls listed in run order, failures flagged):
Before any tool call has landed, the block reads "Thinking", like the agent's:
Narrow container: the status title wraps, the thinking title truncates, the clock holds the right edge:
The shared
ThinkingBlockstory, for comparison:Decisions
Generated with Claude Code