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_registered
tests/agents/volks/test_base_memory_fold.py::test_call_llm_real_path_folds_recalled_memory_into_graph_context
tests/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 L467
orchestrata_ultimate/memory/hot_store retrieve L175
orchestrata_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_registered
tests/agents/volks/test_base_memory_fold.py::test_call_llm_real_path_folds_recalled_memory_into_graph_context
tests/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 L58
orchestrata_ultimate/memory/memory_engine MemoryEngine L47
orchestrata_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 L64
orchestrata_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 L160
orchestrata_ultimate/gateway/handlers/memory handle_store L76
orchestrata_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 L160
orchestrata_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 L76
orchestrata_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 L176
orchestrata_ultimate/gateway/handlers/memory handle_retrieve L96
orchestrata_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 L186
orchestrata_ultimate/gateway/handlers/memory handle_search L105
orchestrata_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 L186
orchestrata_ultimate/memory/hot_store _matches_scope L350
orchestrata_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 L186
orchestrata_ultimate/gateway/handlers/memory handle_search L105
orchestrata_ultimate/memory/memory_engine search L204
none
REQ-010-020 Summarize accepts context_id and max_tokens budget orchestrata_ultimate/core/protocols/memory summarize L216
orchestrata_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 L216
orchestrata_ultimate/memory/compressor ContextCompressor L20
none
REQ-010-023 Structured summary includes source references orchestrata_ultimate/core/protocols/memory MemorySummary L115
orchestrata_ultimate/memory/compressor ContextCompressor L20
none
REQ-010-024 Working memory stored in Redis with session-duration TTL orchestrata_ultimate/memory/hot_store RedisMemoryStore L48
orchestrata_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 L263
orchestrata_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 L54
orchestrata_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 L54
orchestrata_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 L244
orchestrata_ultimate/gateway/rpc set_memory_engine L195
orchestrata_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 L186
orchestrata_ultimate/memory/compressor _rank_entries L88
orchestrata_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 L132
orchestrata_ultimate/core/protocols/memory count L136
orchestrata_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 L141
orchestrata_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 L28
orchestrata_ultimate/memory/hot_store close L110
none
REQ-010-050 Reclassification supported with audit logging orchestrata_ultimate/core/protocols/memory update L227
orchestrata_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