fix: session_search fallback preview on summarization failure (salvage #3413)#3478
Merged
Conversation
…on summarization failure Fixes #3409. When the auxiliary summarizer fails or returns None, the tool now returns a raw fallback preview of the matched session instead of silently dropping it and returning an empty list
Restructure the loop: handle exceptions first (log + nullify), build entry dict once, then branch on result truthiness. Removes duplicated field assignments and makes the control flow linear.
23 tasks
angelburgosrosado
pushed a commit
to angelburgosrosado/hermes-agent
that referenced
this pull request
Apr 27, 2026
…NousResearch#3413) (NousResearch#3478) * Fix NousResearch#3409: Add fallback to session_search to prevent false negatives on summarization failure Fixes NousResearch#3409. When the auxiliary summarizer fails or returns None, the tool now returns a raw fallback preview of the matched session instead of silently dropping it and returning an empty list * fix: clean up fallback logic — separate exception handling from preview Restructure the loop: handle exceptions first (log + nullify), build entry dict once, then branch on result truthiness. Removes duplicated field assignments and makes the control flow linear. --------- Co-authored-by: devorun <130918800+devorun@users.noreply.github.com>
02356abc
pushed a commit
to 02356abc/hermes-agent
that referenced
this pull request
May 14, 2026
…NousResearch#3413) (NousResearch#3478) * Fix NousResearch#3409: Add fallback to session_search to prevent false negatives on summarization failure Fixes NousResearch#3409. When the auxiliary summarizer fails or returns None, the tool now returns a raw fallback preview of the matched session instead of silently dropping it and returning an empty list * fix: clean up fallback logic — separate exception handling from preview Restructure the loop: handle exceptions first (log + nullify), build entry dict once, then branch on result truthiness. Removes duplicated field assignments and makes the control flow linear. --------- Co-authored-by: devorun <130918800+devorun@users.noreply.github.com>
olympus-terminal
pushed a commit
to olympus-terminal/hermes-agent
that referenced
this pull request
May 16, 2026
…NousResearch#3413) (NousResearch#3478) * Fix NousResearch#3409: Add fallback to session_search to prevent false negatives on summarization failure Fixes NousResearch#3409. When the auxiliary summarizer fails or returns None, the tool now returns a raw fallback preview of the matched session instead of silently dropping it and returning an empty list * fix: clean up fallback logic — separate exception handling from preview Restructure the loop: handle exceptions first (log + nullify), build entry dict once, then branch on result truthiness. Removes duplicated field assignments and makes the control flow linear. --------- Co-authored-by: devorun <130918800+devorun@users.noreply.github.com>
gweeteve
pushed a commit
to gweeteve/hermes-agent
that referenced
this pull request
Jun 2, 2026
…NousResearch#3413) (NousResearch#3478) * Fix NousResearch#3409: Add fallback to session_search to prevent false negatives on summarization failure Fixes NousResearch#3409. When the auxiliary summarizer fails or returns None, the tool now returns a raw fallback preview of the matched session instead of silently dropping it and returning an empty list * fix: clean up fallback logic — separate exception handling from preview Restructure the loop: handle exceptions first (log + nullify), build entry dict once, then branch on result truthiness. Removes duplicated field assignments and makes the control flow linear. --------- Co-authored-by: devorun <130918800+devorun@users.noreply.github.com>
Egavasyug
pushed a commit
to Egavasyug/hermes-agent
that referenced
this pull request
Jun 10, 2026
…NousResearch#3413) (NousResearch#3478) * Fix NousResearch#3409: Add fallback to session_search to prevent false negatives on summarization failure Fixes NousResearch#3409. When the auxiliary summarizer fails or returns None, the tool now returns a raw fallback preview of the matched session instead of silently dropping it and returning an empty list * fix: clean up fallback logic — separate exception handling from preview Restructure the loop: handle exceptions first (log + nullify), build entry dict once, then branch on result truthiness. Removes duplicated field assignments and makes the control flow linear. --------- Co-authored-by: devorun <130918800+devorun@users.noreply.github.com>
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.
Salvage of #3413 by @devorun with cleaned up logic on top.
Problem (#3409): When
session_searchfinds matching sessions via FTS5 but the LLM summarizer fails or returns empty, those sessions are silently dropped. The user gets an empty result — a false negative.Fix: Instead of dropping, provide a raw 500-char conversation preview so the matched session is still surfaced. The user sees the session existed and gets enough context to decide relevance.
Cleanup on top: Restructured the loop — exception handling separated from fallback logic, entry dict built once, no duplicated field assignments.
Closes #3413. Fixes #3409.