Orchestrata Ultimate / RTM / 072-tool-search-tool
RTM: 072-tool-search-tool
Requirement to symbol to test rows for 072-tool-search-tool: ToolSearchTool Specification.
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 40 |
Traced from src/ |
40 (100.0%) |
| Untraced | 0 |
Cited from tests/ |
0 (0.0%) |
Traced in src/ but not cited from tests/ |
40 |
Reading this matrix
This matrix lists each of the 40 requirement IDs of spec 072-tool-search-tool with the src/ symbols that cite it and the tests that cite it. 40 of them (100.0%) have at least one citing symbol and 0 have none.
0 requirements are also cited from tests/, and 40 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.
Every row has at least one citing symbol; the remaining work is on the test column.
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-072-001 The tool SHALL accept a natural language query string and return relevant tools |
orchestrata_ultimate/tools/search SearchQuery L213orchestrata_ultimate/tools/search ToolSearchEngine L1196orchestrata_ultimate/tools/search ToolSearchTool L1475+3 more |
none |
REQ-072-005 The tool SHALL return a relevance score (0-1) for each search result |
orchestrata_ultimate/tools/search MatchScore L319orchestrata_ultimate/tools/search RelevanceRanker L831orchestrata_ultimate/tools/search SearchResponse L349+5 more |
none |
REQ-072-008 The tool SHALL support semantic similarity matching using embeddings |
orchestrata_ultimate/tools/search MatchStrategy L580orchestrata_ultimate/tools/search SemanticMatchStrategy L644orchestrata_ultimate/tools/search available L660+2 more |
none |
REQ-072-009 The tool SHALL support exact keyword matching as fallback |
orchestrata_ultimate/tools/search KeywordMatchStrategy L680orchestrata_ultimate/tools/search MatchStrategy L580orchestrata_ultimate/tools/search ToolSearchEngine L1196+9 more |
none |
REQ-072-011 The tool SHALL maintain an in-memory index of all registered tools |
orchestrata_ultimate/agents/tool_registry build_tool_registry L2035orchestrata_ultimate/tools/search ToolIndex L916orchestrata_ultimate/tools/search ToolIndexEntry L267+2 more |
none |
REQ-072-012 The tool SHALL support index updates when tools are registered/updated |
orchestrata_ultimate/tools/search ToolIndex L916orchestrata_ultimate/tools/search from_metadata L286orchestrata_ultimate/tools/search remove L1006+1 more |
none |
REQ-072-013 The tool SHALL support index rebuild on startup |
orchestrata_ultimate/tools/search ToolIndex L916orchestrata_ultimate/tools/search ToolSearchTool L1475orchestrata_ultimate/tools/search create L1538+2 more |
none |
REQ-072-014 The tool SHALL persist index state to disk for fast recovery |
orchestrata_ultimate/tools/search ToolIndex L916orchestrata_ultimate/tools/search load L1051orchestrata_ultimate/tools/search save L1043 |
none |
REQ-072-015 The tool SHALL support incremental index updates |
orchestrata_ultimate/tools/search ToolIndex L916orchestrata_ultimate/tools/search sync L960 |
none |
REQ-072-021 Search queries SHALL complete within 100ms for 95th percentile |
orchestrata_ultimate/tools/search ToolSearchEngine L1196orchestrata_ultimate/tools/search search L1236 |
none |
REQ-072-022 The tool SHALL support concurrent search requests |
orchestrata_ultimate/tools/search ToolIndex L916orchestrata_ultimate/tools/search ToolSearchEngine L1196orchestrata_ultimate/tools/search entries L1017+1 more |
none |
REQ-072-023 Index size SHALL support at least 10,000 tools |
orchestrata_ultimate/tools/search ToolIndex L916 |
none |
REQ-072-007 The tool SHALL support faceted search with category/tag counts |
orchestrata_ultimate/tools/search FacetCount L340orchestrata_ultimate/tools/search SearchResponse L349orchestrata_ultimate/tools/search ToolSearchEngine L1196+3 more |
none |
REQ-072-003 The tool SHALL support filtering by category, tags, return type, and author |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search SearchFilters L189orchestrata_ultimate/tools/search ToolSearchEngine L1196+2 more |
none |
REQ-072-004 The tool SHALL support pagination with limit and offset parameters |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search SearchOptions L201orchestrata_ultimate/tools/search SearchResponse L349+4 more |
none |
REQ-072-101 INVALID_QUERY — query blank or exceeds max length → 400 validation message |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search ToolSearchError L160+3 more |
none |
REQ-072-102 INVALID_FILTER — filter parameter malformed/invalid → 400 field error |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search from_arguments L222+1 more |
none |
REQ-072-103 INVALID_PAGINATION — limit/offset out of range → 400 valid range |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search validate L487 |
none |
REQ-072-104 INDEX_NOT_READY — search index not initialized → 503 retry-after |
orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search ready L1023orchestrata_ultimate/tools/search search L1236 |
none |
REQ-072-105 INDEX_CORRUPTED — index data corrupted → 500, trigger rebuild |
orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search load L1051 |
none |
REQ-072-106 TOOL_NOT_FOUND — referenced tool does not exist → 404 |
orchestrata_ultimate/tools/search SearchErrorCode L120 |
none |
REQ-072-107 CACHE_ERROR — cache operation failed → log, continue without cache |
orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search get L1127 |
none |
REQ-072-108 EMBEDDING_SERVICE_ERROR — embedding service unavailable → fall back to keyword search |
orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search SemanticMatchStrategy L644orchestrata_ultimate/tools/search available L660+1 more |
none |
REQ-072-109 RATE_LIMIT_EXCEEDED — too many search requests → 429 retry-after (governance seam) |
orchestrata_ultimate/tools/search SearchErrorCode L120 |
none |
REQ-072-110 PERMISSION_DENIED — user lacks search permission → 403 (governance seam) |
orchestrata_ultimate/tools/search SearchErrorCode L120 |
none |
REQ-072-111 INVALID_SORT_OPTION — sort parameter not recognized → 400 valid options |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search ToolSearchError L160+2 more |
none |
REQ-072-112 TIMEOUT — search timed out → 504 with partial results if available |
orchestrata_ultimate/tools/search SearchErrorCode L120orchestrata_ultimate/tools/search search L1236 |
none |
REQ-072-201 SHALL sanitize all query inputs to prevent injection attacks |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search sanitize L563 |
none |
REQ-072-202 SHALL validate query length (max 500 characters) |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search validate L487 |
none |
REQ-072-203 SHALL escape special characters in search queries |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search sanitize L563 |
none |
REQ-072-204 SHALL validate all filter parameters against allowed values |
orchestrata_ultimate/tools/search QueryValidator L460orchestrata_ultimate/tools/search validate L487 |
none |
REQ-072-002 The tool SHALL support fuzzy matching for typos in queries |
orchestrata_ultimate/tools/search FuzzyMatchStrategy L766orchestrata_ultimate/tools/search MatchStrategy L580orchestrata_ultimate/tools/search SearchOptions L201+4 more |
none |
REQ-072-010 The tool SHALL support compound queries with AND/OR operators |
orchestrata_ultimate/tools/search ParsedQuery L400orchestrata_ultimate/tools/search QueryParser L410orchestrata_ultimate/tools/search parse L421+1 more |
none |
REQ-072-024 Search SHALL support wildcard prefixes (e.g., "http*") |
orchestrata_ultimate/tools/search KeywordMatchStrategy L680orchestrata_ultimate/tools/search ParsedQuery L400orchestrata_ultimate/tools/search QueryParser L410+8 more |
none |
REQ-072-006 The tool SHALL provide search suggestions based on partial input |
orchestrata_ultimate/tools/search SearchResponse L349orchestrata_ultimate/tools/search ToolSearchEngine L1196orchestrata_ultimate/tools/search _record_history L1464+3 more |
none |
REQ-072-016 The tool SHALL cache search results with configurable TTL |
orchestrata_ultimate/tools/search SearchCache L1080orchestrata_ultimate/tools/search key_for L1104orchestrata_ultimate/tools/search put L1136 |
none |
REQ-072-017 The tool SHALL invalidate cache entries when tools are updated |
orchestrata_ultimate/tools/search SearchCache L1080orchestrata_ultimate/tools/search clear L1154orchestrata_ultimate/tools/search invalidate_tool L1147 |
none |
REQ-072-018 The tool SHALL support cache invalidation by tool_id |
orchestrata_ultimate/tools/search SearchCache L1080orchestrata_ultimate/tools/search invalidate_tool L1147 |
none |
REQ-072-019 The tool SHALL support cache warming on startup |
orchestrata_ultimate/tools/search SearchCache L1080orchestrata_ultimate/tools/search ToolSearchTool L1475orchestrata_ultimate/tools/search create L1538+1 more |
none |
REQ-072-020 The tool SHALL support cache statistics reporting |
orchestrata_ultimate/tools/search SearchCache L1080orchestrata_ultimate/tools/search stats L1187 |
none |