Skip to content

feat: map anton's new StreamReasoningDelta to thought.progress subtype:reasoning (ENG-1109) - #241

Open
torrmal wants to merge 1 commit into
stagingfrom
feat/eng-1109-reasoning-subtype-channel
Open

feat: map anton's new StreamReasoningDelta to thought.progress subtype:reasoning (ENG-1109)#241
torrmal wants to merge 1 commit into
stagingfrom
feat/eng-1109-reasoning-subtype-channel

Conversation

@torrmal

@torrmal torrmal commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Companion to mindsdb/anton#280, which adds a new StreamReasoningDelta event to Anton's provider layer and starts emitting it — for Claude's extended-thinking content blocks and OpenAI's reasoning-summary/reasoning_content — instead of either silently dropping it or letting narration text leak into the final answer.

This PR is the small piece that lets it actually reach the client: maps StreamReasoningDeltaresponse.in_progress with thought_role: thought.progress, content, subtype: reasoning in anton_harness/stream_formatter.py. That's the exact shape hermes_harness/stream_formatter.py already emits, and the exact shape the frontend's responseStreamAdapter.js already reads (built for cowork's ENG-1108, the ephemeral "current thought" UI) — so no frontend change is needed at all.

Linear: https://linear.app/mindsdb/issue/ENG-1109/anton-capture-claudeopenai-reasoning-as-a-real-subtypereasoning

Test plan

  • Added tests/test_anton_stream_formatter.py — asserts a StreamReasoningDelta maps to the correct thought_role/subtype/content shape, and (critically) never leaks into response.output_text.delta alongside real answer text
  • Ran against anton's local branch (feat/eng-1109-reasoning-subtype-channel, i.e. anton#280) via PYTHONPATH override to exercise the real StreamReasoningDelta type end-to-end — passes
  • Full repo test suite not run in this session — it appeared to hang/hit port contention with a live local dev instance running for manual QA; recommend relying on CI here

🤖 Generated with Claude Code

…e:reasoning (ENG-1109)

Matches hermes_harness's existing thought.progress + subtype shape
exactly, so the frontend's ephemeral "current thought" handling (built
for ENG-1108) picks this up identically with no client-side change.
Companion to mindsdb/anton#280, which adds the StreamReasoningDelta
event and starts emitting it for both Claude (extended thinking) and
OpenAI (reasoning summary / reasoning_content).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

No PR environment for this pull request

Add the deploy label and push to create one. It is torn down when the label is removed or the PR closes, so any URL you saw here earlier is gone.

Updated on every push to this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant