Core Problem
- Existing Write-Index-Read pipeline stores all memories as flat knowledge atoms
- "Kim is server team lead" and "Server migration in March" stored identically → search results are just text lists
- No temporal awareness: same question means different things at different times
- Domain jargon ("SuHyunBot") is far from formal terms in embedding space → even LLM query rewriting can't fix this
Solution: 3 Structural Extensions
Built on top of the existing memory pipeline, these extensions add structure without changing the Agent core.
1. Typed Memory Nodes
Knowledge: { content, confidence, source }
Person: { name, role, department, expertise }
Event: { name, start_date, end_date, status, related_knowledge }
Search results are structured by type:
{
knowledge: [...],
people: [...],
active_events: [...]
}
2. Event as Ambient Context
- Currently active Events are auto-injected into every search context
- Agent receives question + active events together for contextual answers
- Recurring seasonal events (tax season, performance reviews) become memories
3. Alias as Search Expansion Layer
- Synonym mapping table (Alias Registry) for domain-specific terms
- Query expansion happens inside Memory MCP → transparent to Agent
- Covers what embeddings can't: explicit knowledge compensating implicit matching
Core Design Principle: Agent Core Unchanged
All 3 extensions operate inside Memory MCP. The Agent receives well-structured text, completely unaware of types, events, or aliases.
User Scenarios
Temporal Context
Query: "Why do I need tax withholding receipt?"
- Active event "tax season" is auto-injected
- Agent provides contextual answer with deadline information
Person-based Indirect Search
Query: "Who should I ask about server migration?"
- Person type search is triggered
- Returns: "Kim, server team lead"
Domain Jargon
Query: "How to set up SuHyunBot?"
- Alias expansion: "SuHyunBot" → "CPS Instance #1"
- Proper answer retrieved using the formal term