Skip to content

feat(seer): Read Explorer todos and artifacts from tool results too - #121248

Merged
azulus merged 3 commits into
masterfrom
jeremy/codemode-todos-dual-read
Aug 5, 2026
Merged

feat(seer): Read Explorer todos and artifacts from tool results too#121248
azulus merged 3 commits into
masterfrom
jeremy/codemode-todos-dual-read

Conversation

@azulus

@azulus azulus commented Aug 4, 2026

Copy link
Copy Markdown
Member

Explorer state arrives from Seer in two different shapes, and the frontend currently only understands one of them.

The old shape is a set of per-feature fields on each block — block.todos, block.artifacts — written directly by the tool that produced them. The new shape is MCP's structuredContent: a keyed object a tool returns alongside its text output, which is the standard way a tool returns structured data. Seer's Code Mode uses the new shape.

Until now Seer copied Code Mode's todos into block.todos so existing readers kept working. That copy is being removed (getsentry/seer#7612), because leaving it in place means the per-feature fields stay the only thing anyone reads and can never be deleted.

So teach the two consumers to check both places. The todo checklist and the autofix artifact list now walk blocks in order and, within each block, its tool results in order, taking the per-feature field and any structuredContent entry. For todos the newest snapshot wins; artifacts accumulate.

This is inert on its own — nothing emits those keys yet, so it reads exactly what it read before. It has to ship and deploy before getsentry/seer#7612, otherwise Code Mode checklists would stop rendering in the window between the two.

Stacked on #121247.

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

✅ no issues found

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Story previews

Preview the stories changed in this PR on the Vercel deployment:

Preview deployment: https://sentry-b0w8qnwrs.sentry.dev

@azulus
azulus marked this pull request as ready for review August 4, 2026 22:35
@azulus
azulus requested a review from a team as a code owner August 4, 2026 22:35
@azulus azulus changed the title feat(seer): Render todos and artifacts from either channel feat(seer): Read Explorer todos and artifacts from tool results too Aug 4, 2026
Base automatically changed from jeremy/nav-link-label-coverage to master August 5, 2026 16:10
azulus and others added 3 commits August 5, 2026 09:12
seer no longer projects Code Mode todos onto block.todos — it returns them on
the tool result's structuredContent and leaves them there, so the bespoke block
field can eventually be deleted rather than unwound.

Resolve the checklist from both channels in run order: blocks in sequence, tool
results within a block, legacy field first so a same-block collision prefers the
structured value. Without this the checklist would silently stop rendering for
Code Mode runs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Code Mode returns run artifacts on its tool result's structuredContent rather
than appending to block.artifacts, so the autofix consumer resolves both
channels in run order.

Additive on its own: with no producer emitting the key yet, this reads exactly
what it read before. Landing the consumer first is what keeps the surface from
disappearing when the producer moves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
collectArtifacts returns Artifact[], which is already assignable to
AutofixArtifact[] — the cast was unnecessary and cost a point of type coverage.
Annotate the binding instead, and type the test helper's todos as TodoItem[] so
it no longer needs `as any`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@azulus
azulus force-pushed the jeremy/codemode-todos-dual-read branch from 98b9b8e to 53c325c Compare August 5, 2026 16:13
@azulus
azulus merged commit 1ceb7a7 into master Aug 5, 2026
78 checks passed
@azulus
azulus deleted the jeremy/codemode-todos-dual-read branch August 5, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants