- Omit Thinking/RedactedThinking from format_conversation() so
chain-of-thought never leaks into summarization input
- Use ephemeral session ID (summary_{id}) for provider.complete()
so providers that track context by session ID don't pollute
historical sessions
Signed-off-by: Michael Neale <michael.neale@gmail.com>
- Add session_summary.rs: format_conversation, truncate_around_matches,
parallel LLM summarization (ported from Hermes session_search_tool.py)
- chatrecall search mode now summarizes by default (summarize param, default true),
falls back to raw results if provider unavailable
- Replace build_session_context 200-char snippet dumping with full conversation
formatting and intelligent truncation (8KB budget)
- Remove dead code: write_entries, read_entries_locked, head_tail_truncate
- Add dedup to read_entries via HashSet
- Remove planning docs (HERMES_LEARNING_AGENT.md, gap analysis, P0 plan)
Signed-off-by: Michael Neale <michael.neale@gmail.com>
* main: (37 commits)
polish: refine sidebar activity indicators, add placeholder token, and tidy search field (#8606)
feat: add /edit command to cli for on-demand prompt editing (#8566)
docs(mcp): add Rendex MCP Server extension tutorial (#8541)
Lifei/delete tauri backend acp (#8582)
chore: set goose binaries as executable in package.json (#8589)
feat: add Novita AI as declarative provider (#8432)
feat: add Kimi Code provider with OAuth device flow authentication (#8466)
fix: chat loading-state model placeholder (#8431)
fix: expand tool calls by default when Response Style is Detailed (#8478)
fix: create logs dir before writing llm request log (#8522)
fix: enable token usage tracking and configurable stream timeout for Ollama provider (#8493)
fix tauri-plugin-dialog version constraint to match other plugins (#8542)
call goose serve from tauri frontend via goose-acp client (#8549)
failed the script when bundle:default fails and cleanup "alpha" (#8580)
pass globally unique conversation identifier as sessionId in databricks api call (#8576)
fix: use sqlx chrono decode for thread timestamps instead of manual parsing (#8575)
docs: remove stale gemini-acp references (#8572)
show individual untracked files in git changes widget (#8574)
fix: update publishing flow to include new sdk dir (#8573)
fix: remove double border on content in chat (#8545)
...
- Use main model instead of fast model for background reviews — the
judgment about what's worth saving benefits from full model quality
- Always include memory tools when skill review fires — complex work
often surfaces environment facts worth remembering
- Strengthen review prompts with explicit USER vs MEMORY targeting,
priority ranking, de-duplication rules, and concrete examples
- Enrich the review system prompt with the same guidance quality as
the tool descriptions
Signed-off-by: Michael Neale <michael.neale@gmail.com>