fix(memory): sync session summaries to Qdrant on compact_context happy path#1915
Merged
fix(memory): sync session summaries to Qdrant on compact_context happy path#1915
Conversation
…y path (#1911) The happy-path branch of compact_context() and compact_context_with_budget() called replace_conversation() on success but never called store_session_summary(), leaving zeph_session_summaries Qdrant collection permanently empty. Add store_session_summary() call chained after replace_conversation() in both variants, mirroring the existing fallback branches. Qdrant failure is non-fatal — a warning is logged and execution continues normally. Also add test_compact_context_calls_replace_conversation to verify the happy-path branch is exercised (SQLite-side assertion, strongest proxy without Qdrant mock). Closes #1911
499a465 to
a27e9fe
Compare
…otstrap paths (#1914) AgentBuilder::with_focus_config() and AgentBuilder::with_sidequest_config() were never called from bootstrap, so [agent.focus] and [memory.sidequest] config sections were silently ignored (always defaulting to enabled=false). Wire both calls in runner.rs, daemon.rs, and acp.rs (SharedAgentDeps gains focus_config and sidequest_config fields). Closes #1907
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.
Summary
compact_context()andcompact_context_with_budget()calledreplace_conversation()on success but never calledstore_session_summary(), leavingzeph_session_summariesQdrant collection permanently at 0 pointsstore_session_summary()call chained afterreplace_conversation()in both variants, mirroring existing fallback branches; Qdrant failure is non-fatal (warn + continue)test_compact_context_calls_replace_conversationto verify the happy-path branch is exercised via SQLite-side assertionRoot cause
The Qdrant upsert was only called in the two fallback branches (
Ok(_)with< 2IDs orErr). In normal sessions the happy path (ids.len() >= 2) is always taken — no upsert ever fired.Test plan
cargo +nightly fmt --check— passescargo clippy --workspace --features full -- -D warnings— 0 warningscargo nextest run --config-file .github/nextest.toml --workspace --features full --lib --bins— 6043 passedtest_compact_context_calls_replace_conversationconfirms happy-path branch is reachedzeph_session_summariespoint count increases after compactionCloses #1911