Skip to content

fix(session): emit compaction summary as user role - #27

Closed
jfenal wants to merge 2 commits into
bobbyjohnstx:mainfrom
jfenal:fix/no-user-query
Closed

jfenal wants to merge 2 commits into
bobbyjohnstx:mainfrom
jfenal:fix/no-user-query

Conversation

@jfenal

@jfenal jfenal commented Oct 9, 2026

Copy link
Copy Markdown

Fixes #23.

After compaction the conversation started with a system-role summary message, and providers requiring a user-role message rejected the request with HTTP 500 'no user query found in messages'. Emit the summary as a user message instead.

Adds a regression test asserting the compacted conversation always contains a user-role first message.

…on valid

After compaction the conversation started with a system-role summary
message. Providers that require a user-role message reject the request
with HTTP 500 'no user query found in messages'. Emit the summary as a
user message instead. Adds a regression test asserting the compacted
conversation always contains a user-role user message.
@jfenal
jfenal requested a review from bobbyjohnstx as a code owner October 9, 2026 19:11
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@bobbyjohnstx

Copy link
Copy Markdown
Owner

Thanks for the fix — the bug is real. Compaction summary as system role causes HTTP 500 with providers that require user-role first messages.

Closing because the branch is 46 commits behind main and carries a go.mod downgrade (1.27.1→1.25.0). I've cherry-picked the core fix (RoleSystem→RoleUser at processor_llm.go:412) and will land it on main as Gitea #728.

bobbyjohnstx added a commit that referenced this pull request Oct 12, 2026
… (#728, #729, #730, #731)

- Compaction summary uses RoleUser instead of RoleSystem, fixing
  HTTP 500 with providers that require user-role first message (#728)
- Capture Ollama's "reasoning" field alongside "reasoning_content"
  for qwen3 thinking tokens (#729)
- Model selection PATCHes the server so sub-agents inherit the
  correct model (#730)
- shouldPoll checks isFiltered before probing disabled providers (#731)

Cherry-picked from community PRs #27, #38; reimplemented #33; targeted
fix for #22's shouldPoll gap. All 5 GitHub PRs closed with comments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

fix(session): processor error — HTTP 500 "no user query found in messages"

2 participants