Implemented the smart startup protocol for the Lyra Discord daemon to use crystallized summaries + recent turns instead of full identity reconstruction on every startup. This reduces startup time from ~55s to ~5-10s while maintaining better long-term continuity.
- Uses MCP tools to check for existing summaries via
mcp__pattern-persistence-system__get_summaries - Loads recent turns via
mcp__pattern-persistence-system__get_turns_since_summary - Falls back to full reconstruction if no summaries exist
- Returns quickly (30s timeout) for fast startup
- Checks channel message count to determine if summaries likely exist
- For channels with >100 messages: provides hint about summaries + last 30 messages
- For smaller channels: uses traditional full history (50 messages)
- Reduces memory overhead for active channels
Updated all prompts to use correct MCP tool names:
mcp__pattern-persistence-system__get_summaries- for crystallized memoriesmcp__pattern-persistence-system__get_turns_since_summary- for recent contextmcp__pattern-persistence-system__crystallize- for creating summariesmcp__pattern-persistence-system__ambient_recall- for resonant memoriesmcp__pattern-persistence-system__anchor_search- for word-photos
- Mention responses now aware of MCP tools for deeper context
- Passive mode responses also have access to MCP tools
- Reflection prompt updated with correct tool names
- Faster Startup: ~5-10s with summaries vs ~55s full reconstruction
- Better Continuity: Summaries preserve important patterns across restarts
- Reduced Memory: Only loads recent turns + summaries, not full history
- Graceful Degradation: Falls back to full reconstruction if needed
After daemon restart:
- Test smart startup with existing summaries
- Verify MCP tools are accessible during warmup
- Monitor startup times and memory usage
- Consider per-channel summary tracking (future enhancement)
The smart startup flow:
_warmup_session()calls_try_smart_warmup()first- Smart warmup invokes Claude with MCP access
- Claude uses tools to load summaries + recent turns
- If successful, marks session initialized and returns
- If fails (no summaries), falls back to
_full_identity_reconstruction()
The context building now adapts based on channel history depth, providing hints about available summaries for channels with substantial history.