fix(hermes): split recall context for prefetch#195
Open
RerankerGuo wants to merge 1 commit into
Open
Conversation
Signed-off-by: Ziyang Guo <121015044+RerankerGuo@users.noreply.github.com>
5b2b6ee to
4ced874
Compare
Collaborator
|
Thanks for this PR! Splitting the recall response into stable and dynamic context makes a lot of sense for Hermes integration. We'll review it internally and get back to you shortly. |
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.
Description | 描述
Split Gateway recall responses into stable system context and dynamic L1 prefetch context for Hermes.
This fixes the Hermes path where
/recallonly returnedappendSystemContext, so L1 memories recalled by auto-recall were not injected throughprefetch(). The Gateway now returns:system_contextfor persona / scene navigation / tool guidanceprepend_contextfor dynamic L1 memoriescontextas a backward-compatible combined field for older clientsThe Hermes provider prefers
prepend_contextinprefetch()and cachessystem_contextforsystem_prompt_block(), while still falling back to the legacycontextresponse.Related Issue | 关联 Issue
Fix #101
Change Type | 修改类型
Self-test Checklist | 自测清单
Additional Notes | 其他说明
Verified with
npx vitest run src/gateway/server.test.ts,npm test, andnpm run buildusing Node v24.15.0.Also ran
python3 -m py_compilefor the Hermes provider files.pytestis not installed in this environment, so the Python pytest suite could not be executed here.