mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-22 16:25:58 +00:00
Two compounding defects in the holographic memory provider (#57682): 1. The on_session_end gate used plain truthiness on auto_extract, but the plugin's own config schema declares it as a string enum with default "false" — and not "false" is False, so extraction ran for users who had it configured off. Coerce with the shared utils.is_truthy_value (same fix class as the merged byterover no-op fix). 2. _auto_extract_facts scanned every role=user message. Context-compaction handoff summaries can be inserted as role=user messages and their prose reliably matches the decision patterns (we decided/agreed, the project uses), so the compactor's own output was persisted as a durable project fact on every rollover following a compaction — recreated even after manual deletion. Adds agent.context_compressor.is_compaction_summary_message(), a public helper that prefers the in-process COMPRESSED_SUMMARY_METADATA_KEY marker and falls back to _is_context_summary_content() (covers merged-into-tail and historical prefixes), since the metadata key is stripped by wire sanitizers and doesn't survive all session-store round-trips. The plugin skips summary messages before pattern matching. Fixes #57682 |
||
|---|---|---|
| .. | ||
| browser | ||
| context_engine | ||
| cron_providers | ||
| dashboard_auth | ||
| disk-cleanup | ||
| google_meet | ||
| hermes-achievements | ||
| image_gen | ||
| kanban | ||
| memory | ||
| model-providers | ||
| observability | ||
| platforms | ||
| security-guidance | ||
| spotify | ||
| teams_pipeline | ||
| video_gen | ||
| web | ||
| __init__.py | ||
| plugin_utils.py | ||