Skip to content

fix(sensor): keep Warp assistant replies to user queries - #199

Open
rudycelekli wants to merge 1 commit into
uber:mainfrom
rudycelekli:fix/sensor-warp-query-response
Open

rudycelekli wants to merge 1 commit into
uber:mainfrom
rudycelekli:fix/sensor-warp-query-response

Conversation

@rudycelekli

Copy link
Copy Markdown

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Related issue: N/A (found by reading the code; reproduced on main at 6b33dff)

What changed?
In the Query branch, also emit _extract_llm_text(llm_output) as an assistant message (sequence_id <exchange_id>_response). Current schema (no ai_blocks, llm_output NULL) is unchanged.

Why?
Sensor/adr_sensor/parsers/warp_parser.py:218-223. On the legacy schema (ai_blocks present) each exchange's model output is in ai_blocks.output. The parser uses it for ActionResult exchanges but in the Query branch only emits the user message, so the assistant's reply to every user prompt is dropped.

How did you test it?

  • Reproduction: scratchpad/warp_query.py (one Query exchange with ai_blocks output "Let me check with ls."): main prints only user 'what is in this dir?'; branch also prints assistant 'Let me check with ls.'. New test test_legacy_schema_retains_query_response; existing test_parses_conversation_content updated (its fixture already stored "reply for ex-1" in the Query exchange's llm_output and the old assertion len==2 encoded the drop; now 3 with the reply checked). Main: 2 failed; branch: all Warp tests pass.
  • Test suite: py3.14 609 passed; py3.9 609 passed.
  • Not tested: against a real legacy Warp DB (none with ai_blocks available); semantics inferred from the parser's own ActionResult handling of the same column.

Potential risks
The change only affects the input described above; other paths go through the same code as before, and the component's existing tests pass.

AI assistance: Claude Code (model Claude Opus 5.5) found this bug, wrote the fix and test, and drafted this description; submitted by @rudycelekli.

🤖 Generated with Claude Code

On the legacy Warp schema each exchange's model output lives in
ai_blocks.output. The parser used that output for ActionResult exchanges
but ignored it for Query exchanges, so the assistant's reply to every user
prompt was dropped from chat_history. Emit it as an assistant message after
the query.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

This branch has not been deployed

No deployments
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.

2 participants