The daemon's `manifest_missing_integrity_hooks` check (#3804) hard-fails any registry install whose plugin.toml declares hooks but lacks an [integrity] entry for each one. All 11 plugins under plugins/ had the [hooks] table but were missing [integrity], so `librefang plugin install <name>` would error after download with "missing [integrity] hashes for hook script(s): ...". Compute and pin SHA-256 over each `hooks/*.py` under every plugin dir. The mempalace-indexer entries were already present and are unchanged (reordered alphabetically by the regenerator). Verified each plugin.toml still parses (Python tomllib).
auto-summarizer
Maintains a running conversation summary to help agents handle long conversations without losing context. Uses extractive summarization (no ML or external dependencies) to identify the most important parts of a conversation.
How it works
After each conversation turn, the plugin scans all messages and extracts:
- Topic opener -- the first user message that started the conversation
- Questions -- any messages containing questions (detected via
?) - Decisions -- messages with conclusion/decision language ("let's", "decided", "the plan is", etc.)
- Recent context -- the last 2 exchanges to preserve immediate context
These are combined into a compact summary (max 500 characters) and persisted to disk. On the next ingest, the summary is returned as a memory fragment so the agent retains awareness of the full conversation.
Summarization only activates when the conversation exceeds 6 messages -- shorter conversations are passed through as-is.
Hooks
| Hook | Script | Description |
|---|---|---|
| ingest | hooks/ingest.py |
Returns the stored conversation summary as a memory fragment |
| after_turn | hooks/after_turn.py |
Builds and persists an extractive summary of the conversation |
Storage
Summaries are stored at ~/.librefang/plugins/auto-summarizer/{agent_id}.summary.
Usage
Installed automatically when enabled in agent configuration.