.agents/SIGNET-ARCHITECTURE.md

2.6 KiB

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.