Orchestrata Ultimate / RTM / 010-memory-engine
RTM: 010-memory-engine
Requirement to symbol to test rows for 010-memory-engine: Memory Engine.
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 55 |
Traced from src/ |
53 (96.4%) |
| Untraced | 2 |
Cited from tests/ |
5 (9.1%) |
Traced in src/ but not cited from tests/ |
48 |
Reading this matrix
This matrix lists each of the 55 requirement IDs of spec 010-memory-engine with the src/ symbols that cite it and the tests that cite it. 53 of them (96.4%) have at least one citing symbol and 2 have none.
5 requirements are also cited from tests/, and 48 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.
Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-010-* (2).
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-010-001 IMemoryEngine defined as ABC in orchestrata-core interfaces module |
orchestrata_ultimate/core/protocols/memory MemoryEngineProtocol L152 |
tests/agents/volks/test_base_memory_fold.py::test_all_three_paths_pass_through_cleanly_with_no_memory_registeredtests/agents/volks/test_base_memory_fold.py::test_call_llm_real_path_folds_recalled_memory_into_graph_contexttests/agents/volks/test_base_memory_fold.py::test_call_llm_with_tools_real_path_folds_recalled_memory_into_user_message+1 more |
REQ-010-002 IMemoryEngine registered with ComponentType.MEMORY_ENGINE in DI container |
orchestrata_ultimate/gateway/server _register_memory_engine L467orchestrata_ultimate/memory/hot_store retrieve L175orchestrata_ultimate/memory/hot_store retrieve_by_scope L198+2 more |
tests/agents/volks/test_base_memory_fold.py::test_all_three_paths_pass_through_cleanly_with_no_memory_registeredtests/agents/volks/test_base_memory_fold.py::test_call_llm_real_path_folds_recalled_memory_into_graph_contexttests/agents/volks/test_base_memory_fold.py::test_call_llm_with_tools_real_path_folds_recalled_memory_into_user_message+1 more |
REQ-010-003 IComponent lifecycle implemented (initialize, start, stop, get_health) |
orchestrata_ultimate/gateway/handlers/memory _ensure_engine L58orchestrata_ultimate/memory/memory_engine MemoryEngine L47orchestrata_ultimate/memory/memory_engine get_health L130+3 more |
tests/agents/volks/test_base_memory_fold.py::_seed_memory |
REQ-010-004 MemoryEntry data class defined with key, content, tags, metadata, classification,... |
orchestrata_ultimate/core/protocols/memory MemoryEntry L64orchestrata_ultimate/gateway/handlers/memory _entry_to_dict L24 |
none |
REQ-010-005 MemoryScope data class defined with session, task, volk, project, portfolio filters |
orchestrata_ultimate/core/protocols/memory MemoryScope L46 |
none |
REQ-010-006 Store accepts content with optional key, tags, metadata, classification |
orchestrata_ultimate/core/protocols/memory store L160orchestrata_ultimate/gateway/handlers/memory handle_store L76orchestrata_ultimate/memory/memory_engine store L141 |
tests/agents/volks/test_base_memory_fold.py::_seed_memory |
REQ-010-007 Auto-generated UUID4 keys when key not provided |
orchestrata_ultimate/core/protocols/memory store L160orchestrata_ultimate/memory/memory_engine store L141 |
none |
REQ-010-008 Embeddings computed on store for semantic search |
orchestrata_ultimate/memory/memory_engine store L141 |
none |
REQ-010-009 Hot storage (Redis) written immediately on store |
orchestrata_ultimate/gateway/handlers/memory handle_store L76orchestrata_ultimate/memory/memory_engine store L141 |
none |
REQ-010-010 Cold storage (Memgraph) written asynchronously on store |
orchestrata_ultimate/memory/cold_store store L145 |
none |
REQ-010-011 Retrieve by exact key returns MemoryEntry or None |
orchestrata_ultimate/core/protocols/memory retrieve L176orchestrata_ultimate/gateway/handlers/memory handle_retrieve L96orchestrata_ultimate/memory/cold_store retrieve L239 |
none |
REQ-010-012 Retrieve by tag filter returns matching entries |
orchestrata_ultimate/memory/hot_store retrieve_by_tag L248 |
none |
REQ-010-013 Retrieve by session_id and/or task_id supported |
orchestrata_ultimate/memory/cold_store search_by_scope L253 |
none |
REQ-010-014 Returned entries include metadata (timestamp, volk_id, relevance_score) |
orchestrata_ultimate/core/protocols/memory retrieve L176 |
none |
REQ-010-015 Semantic search via embedding similarity implemented |
orchestrata_ultimate/core/protocols/memory search L186orchestrata_ultimate/gateway/handlers/memory handle_search L105orchestrata_ultimate/memory/embedding EmbeddingService L15+1 more |
none |
REQ-010-016 Hybrid search (keyword + semantic) supported |
none | none |
REQ-010-017 Scope filters (session, task, volk, project, portfolio) accepted |
orchestrata_ultimate/core/protocols/memory search L186orchestrata_ultimate/memory/hot_store _matches_scope L350orchestrata_ultimate/memory/memory_engine search L204 |
none |
REQ-010-018 Results ranked by combined relevance score |
orchestrata_ultimate/memory/memory_engine search L204 |
none |
REQ-010-019 Configurable result limit enforced (default: 10) |
orchestrata_ultimate/core/protocols/memory search L186orchestrata_ultimate/gateway/handlers/memory handle_search L105orchestrata_ultimate/memory/memory_engine search L204 |
none |
REQ-010-020 Summarize accepts context_id and max_tokens budget |
orchestrata_ultimate/core/protocols/memory summarize L216orchestrata_ultimate/memory/memory_engine summarize L263 |
none |
REQ-010-021 Memories selected by relevance to current context |
orchestrata_ultimate/memory/compressor ContextCompressor L20 |
tests/agents/volks/test_memory_context.py::test_newest_engine_wins_while_counted |
REQ-010-022 Compressed output fits within token budget |
orchestrata_ultimate/core/protocols/memory summarize L216orchestrata_ultimate/memory/compressor ContextCompressor L20 |
none |
REQ-010-023 Structured summary includes source references |
orchestrata_ultimate/core/protocols/memory MemorySummary L115orchestrata_ultimate/memory/compressor ContextCompressor L20 |
none |
REQ-010-024 Working memory stored in Redis with session-duration TTL |
orchestrata_ultimate/memory/hot_store RedisMemoryStore L48orchestrata_ultimate/memory/hot_store store L133 |
none |
REQ-010-025 Redis hash structures keyed by session_id:volk_id |
orchestrata_ultimate/memory/hot_store store L133 |
none |
REQ-010-026 Pub/sub for memory change notifications |
none | none |
REQ-010-027 Embedding vectors stored in Redis for fast similarity search |
orchestrata_ultimate/memory/hot_store get_embeddings L263orchestrata_ultimate/memory/hot_store store L133 |
none |
REQ-010-028 Long-term memories persisted as Memory nodes in Neo4j |
orchestrata_ultimate/memory/cold_store GraphMemoryStore L54orchestrata_ultimate/memory/cold_store store L145 |
none |
REQ-010-029 Memory nodes linked to Session, Volk, Task, Project nodes |
orchestrata_ultimate/memory/cold_store GraphMemoryStore L54orchestrata_ultimate/memory/cold_store store L145 |
none |
REQ-010-030 Temporal queries supported (date range filters) |
orchestrata_ultimate/memory/cold_store search_by_scope L253 |
none |
REQ-010-031 Graph traversal for related memories supported |
orchestrata_ultimate/memory/cold_store __init__ L58 |
none |
REQ-010-032 Working memories migrated to cold storage on session end |
orchestrata_ultimate/core/protocols/memory migrate_to_cold L244orchestrata_ultimate/gateway/rpc set_memory_engine L195orchestrata_ultimate/memory/cold_store connect L95+1 more |
none |
REQ-010-033 Cold memories promoted to hot storage on context match |
orchestrata_ultimate/memory/cold_store close L132 |
none |
REQ-010-034 Expired hot storage entries garbage-collected |
orchestrata_ultimate/memory/cold_store delete L305 |
none |
REQ-010-035 Memory lineage preserved (summary -> original chain) |
orchestrata_ultimate/memory/cold_store count L323 |
none |
REQ-010-036 Embeddings computed via sentence-transformers (all-MiniLM-L6-v2 default) |
orchestrata_ultimate/memory/cold_store _node_to_entry L342 |
none |
REQ-010-037 Embedding cache prevents recomputation |
orchestrata_ultimate/memory/compressor __init__ L28 |
none |
REQ-010-038 Configurable embedding model supported |
orchestrata_ultimate/memory/compressor summarize L33 |
none |
REQ-010-039 Cosine similarity search implemented |
orchestrata_ultimate/core/protocols/memory search L186orchestrata_ultimate/memory/compressor _rank_entries L88orchestrata_ultimate/memory/embedding EmbeddingService L15 |
none |
REQ-010-040 Approximate nearest neighbor for large memory sets |
orchestrata_ultimate/memory/compressor _format_entry L109 |
none |
REQ-010-041 Token counting via provider-specific tokenizers (tiktoken, anthropic, word-based) |
orchestrata_ultimate/core/protocols/memory TokenCounterProtocol L132orchestrata_ultimate/core/protocols/memory count L136orchestrata_ultimate/memory/compressor _extract_key_sentences L119+3 more |
none |
REQ-010-042 Per-request token budgets enforced for memory injection |
orchestrata_ultimate/core/protocols/memory truncate L141orchestrata_ultimate/memory/embedding __init__ L24 |
none |
REQ-010-043 Memory prioritization: explicit relevance > semantic similarity > recency |
orchestrata_ultimate/memory/embedding _tokenize L32 |
none |
REQ-010-044 Remaining budget returned after injection |
orchestrata_ultimate/memory/embedding compute_embedding L38 |
none |
REQ-010-045 PAM++ ownership enforced on all memory operations |
orchestrata_ultimate/memory/embedding cosine_similarity L62 |
none |
REQ-010-046 Prolog governance queried for memory access permissions |
orchestrata_ultimate/memory/embedding search L75 |
none |
REQ-010-047 All memory operations logged to audit trail |
orchestrata_ultimate/memory/hot_store __init__ L52 |
none |
REQ-010-048 Delegation chains supported for shared memory access |
orchestrata_ultimate/memory/hot_store connect L98 |
none |
REQ-010-049 Memory classification (private, shared, system) enforced |
orchestrata_ultimate/core/protocols/memory MemoryClassification L28orchestrata_ultimate/memory/hot_store close L110 |
none |
REQ-010-050 Reclassification supported with audit logging |
orchestrata_ultimate/core/protocols/memory update L227orchestrata_ultimate/memory/hot_store _entry_key L117 |
none |
REQ-010-051 Hot store < 10ms (P95) |
orchestrata_ultimate/memory/hot_store _index_key L121 |
none |
REQ-010-052 Hot retrieve < 5ms (P95) |
orchestrata_ultimate/memory/hot_store _tag_key L125 |
none |
REQ-010-053 Hot search < 50ms (P95) |
orchestrata_ultimate/memory/hot_store _embed_key L129 |
none |
REQ-010-054 Cold retrieve < 50ms (P95) |
orchestrata_ultimate/memory/hot_store retrieve_by_key_global L187 |
none |
REQ-010-055 Cold search < 200ms (P95) |
orchestrata_ultimate/memory/hot_store retrieve_by_tag L248 |
none |