fix(core): context engineering post-review fixes (#229, #230, #231, #232) - #235
Merged
Conversation
…, filter cross-session scores - Persist message parts to SQLite via remember_with_parts() (#229) - Clear tool output body after pruning to reclaim memory (#230) - Cache repo map with configurable TTL to avoid per-message regeneration (#231) - Filter cross-session search results by score threshold (#232)
Codecov Report❌ Patch coverage is
@@ Coverage Diff @@
## main #235 +/- ##
==========================================
- Coverage 81.04% 80.96% -0.08%
==========================================
Files 78 78
Lines 22999 23137 +138
==========================================
+ Hits 18640 18734 +94
- Misses 4359 4403 +44
🚀 New features to boost your workflow:
|
bug-ops
enabled auto-merge (squash)
February 14, 2026 09:08
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
Post-implementation review of v0.9.4 context engineering identified 5 gaps. This PR fixes the top 4 (P0-P2):
persist_message()to callremember_with_parts(), persistingMessagePartdata to SQLite instead of always writing empty[]prune_tool_outputs()to reclaim heap memorygenerate_repo_map()result with configurable TTL (default 300s) to avoid per-message filesystem traversalGap 5 (#233, file watcher for code index) deferred to follow-up PR.
Test plan
remember_with_parts_saves_parts_json— verifies parts JSON persisted to SQLitetest_prune_frees_tokens— asserts body is empty after prunetest_repo_map_cache_hit— validates cache field populated and stabletest_cross_session_score_threshold_filters— verifies score filteringCloses #229, closes #230, closes #231, closes #232