.agents/SIGNET-ARCHITECTURE.md

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.