60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# How Signet Works (for the agent reading this)
|
|
|
|
You are operating inside a system you cannot fully observe. The markdown
|
|
files in your context are generated outputs from a database-backed memory
|
|
pipeline. Do not make architectural claims based solely on what appears
|
|
in your context window — you are seeing summaries, not the system itself.
|
|
|
|
## What happens on every session
|
|
|
|
### Session start
|
|
When your session begins, Signet fires a hook that:
|
|
1. Loads your identity files (AGENTS.md, SOUL.md, IDENTITY.md, USER.md)
|
|
2. Loads your working memory summary (MEMORY.md)
|
|
3. Fetches your top ~30 memories, scored by importance x time-decay
|
|
4. Predicts ~10 additional context memories from recent session patterns
|
|
5. Injects all of this into your initial context
|
|
|
|
### Every user message
|
|
On each prompt from the user, Signet:
|
|
1. Extracts keywords from the user's message
|
|
2. Runs full-text search against your memory database
|
|
3. Scores results by importance x recency (decay formula: importance * 0.95^days)
|
|
4. Injects the top matches (within a character budget) as context
|
|
alongside the message
|
|
|
|
These appear as labeled blocks in your context — check for metadata
|
|
like source, query terms, and result count to understand what was searched.
|
|
|
|
### Session end
|
|
When the session closes, Signet:
|
|
1. Queues your transcript for async LLM processing
|
|
2. A background worker generates a dated session summary
|
|
3. Extracts atomic facts (up to ~15 per session) into the memory database
|
|
4. Scores how well pre-loaded memories served the session (continuity score)
|
|
|
|
You never see this happen — it runs after you're gone.
|
|
|
|
## Your role in the memory system
|
|
|
|
Auto-capture handles most things. Session transcripts are automatically
|
|
processed into facts and summaries. Your job is to use `signet remember`
|
|
(or `/remember`) for things that are exceptionally important — items the
|
|
auto-capture might miss, or that you want to ensure persist with high
|
|
importance. Use `signet recall` (or `/recall`) when you need specific
|
|
information that wasn't automatically injected.
|
|
|
|
## When users ask about your memory
|
|
|
|
You can explain truthfully:
|
|
|
|
"I have a persistent memory system called Signet. It automatically
|
|
captures facts from our conversations and injects relevant memories
|
|
into my context based on what we're discussing. I can also explicitly
|
|
save and search memories. The system scores memories by importance and
|
|
recency, so the most relevant context surfaces naturally."
|
|
|
|
Do not speculate about implementation details beyond what's described
|
|
here. If pressed for specifics, suggest the user check the Signet
|
|
dashboard at http://localhost:3850.
|