-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Overview
A scheduled summariser agent runs periodically (e.g. hourly or at end-of-day) against the session's conversation history. It extracts structured facts — decisions made, preferences stated, tasks completed, open threads — and writes them into the session memory store (see #41). This gives the assistant a persistent, queryable knowledge layer that survives context window compaction.
This is distinct from context compaction (#19), which manages what fits in the current prompt. The summariser is about building durable knowledge, not just summarising for space.
Behaviour
- Runs as a trigger on a configurable schedule (e.g. hourly, or triggered at end of an active conversation window)
- Reads the conversation history since the last summariser run
- Extracts structured facts using a one-shot agent prompt
- Writes extracted facts as files into the session memory store (e.g.
facts/YYYY-MM-DD.json) - Updates a running
facts/index.jsonmanifest so the assistant can query what's known without reading all fact files
Fact schema
Each extracted fact should carry enough structure to be useful:
type— category (preference, decision, task_completed, open_thread, person, etc.)content— the fact itself in plain languageconfidence— high / medium / lowsource_date— when the conversation segment occurredextracted_at— when the summariser ran
Integration with session memory (#41)
- Fact files are written into the session filestore under a
facts/prefix - The assistant can use
file_listandfile_readtools to retrieve facts on demand - The index file provides a lightweight lookup without loading all facts
- Semantic search over fact content can be added later as a
memory_searchtool
Prompt design
The summariser agent prompt should:
- Instruct the model to extract only verifiable, concrete facts (not inferences)
- Avoid duplicating facts already present in the index
- Output structured JSON matching the fact schema above
- Be conservative — better to miss a fact than to hallucinate one
Notes
- The summariser should be idempotent — re-running over the same window should not produce duplicate facts
- Low-confidence facts should still be stored but flagged, so the assistant can treat them with appropriate uncertainty
- This is related to but separate from context compaction (Session compaction: auto-summarize history when approaching context window limit #19) and session naming (Auto-summarize session name from conversation content #18)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels