Orchestrata Ultimate / RTM / 069-task-management-tools
RTM: 069-task-management-tools
Requirement to symbol to test rows for 069-task-management-tools: Task Management Tools - Stop & Output.
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 48 |
Traced from src/ |
40 (83.3%) |
| Untraced | 8 |
Cited from tests/ |
0 (0.0%) |
Traced in src/ but not cited from tests/ |
40 |
Reading this matrix
This matrix lists each of the 48 requirement IDs of spec 069-task-management-tools with the src/ symbols that cite it and the tests that cite it. 40 of them (83.3%) have at least one citing symbol and 8 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.
Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-069-* (8).
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-069-001 (SEC-REQ-001) All task operations MUST authenticate the requesting agent |
orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-002 (SEC-REQ-002) Only task owners or admins MAY stop tasks |
orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-003 (SEC-REQ-003) Governance rules MUST be evaluated before any stop operation (in-process... |
orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-004 (SEC-REQ-004) Protected tasks MUST require admin role to terminate |
orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-005 (SEC-REQ-005) Critical infrastructure tasks MUST require elevated permissions |
orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-006 (SEC-REQ-006) Task IDs MUST match pattern ^task_[a-zA-Z0-9_-]+$ |
orchestrata_ultimate/tools/task_tools _validate_task_id L234 |
none |
REQ-069-007 (SEC-REQ-007) All string inputs MUST be sanitized before processing |
orchestrata_ultimate/tools/task_tools _sanitize_string L244orchestrata_ultimate/tools/task_tools _validate_name L250 |
none |
REQ-069-008 (SEC-REQ-008) Numeric parameters MUST be validated for bounds |
orchestrata_ultimate/tools/task_tools _validate_name L250 |
none |
REQ-069-009 (SEC-REQ-009) Line range requests MUST NOT exceed output bounds |
none | none |
REQ-069-010 (SEC-REQ-010) Redis connections MUST use TLS 1.2 or higher — NOT IMPLEMENTED: this MVP... |
none | none |
REQ-069-011 (SEC-REQ-011) Sensitive task output MUST be encrypted at rest — NOT IMPLEMENTED: no... |
none | none |
REQ-069-012 (SEC-REQ-012) Output retention MUST NOT exceed configured limit... |
orchestrata_ultimate/tools/task_tools purge_expired_output L979 |
none |
REQ-069-013 (SEC-REQ-013) Task access MUST follow principle of least privilege — NOT IMPLEMENTED:... |
none | none |
REQ-069-014 (SEC-REQ-014) Task ID generation MUST use cryptographically secure random values... |
orchestrata_ultimate/tools/task_tools _default_id_factory L418orchestrata_ultimate/tools/task_tools create L448 |
none |
REQ-069-015 (SEC-REQ-015) Task creation MUST use atomic operations to prevent collisions... |
orchestrata_ultimate/tools/task_tools create L448 |
none |
REQ-069-016 (SEC-REQ-016) Concurrent stop operations MUST use optimistic locking (implemented as... |
orchestrata_ultimate/tools/task_tools _TaskRecord L361orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-017 (SEC-REQ-017) Signal handling MUST be idempotent (a second concurrent/repeat stop call... |
orchestrata_ultimate/tools/task_tools _TaskRecord L361orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-018 (SEC-REQ-018) All stop operations MUST be logged with agent ID |
orchestrata_ultimate/tools/task_tools _audit L425orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-019 (SEC-REQ-019) All permission denials MUST be logged with reason |
orchestrata_ultimate/tools/task_tools _audit L425orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-020 (SEC-REQ-020) Task state transitions MUST include timestamps |
orchestrata_ultimate/tools/task_tools _audit L425orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-021 (SEC-REQ-021) Audit logs MUST be immutable and retained per policy — PARTIAL only: the... |
none | none |
REQ-069-022 (FR-001) TaskStopTool MUST support stopping tasks by ID |
orchestrata_ultimate/tools/task_tools StopOutcome L326orchestrata_ultimate/tools/task_tools TaskStopTool L1040orchestrata_ultimate/tools/task_tools execute L1058+1 more |
none |
REQ-069-023 (FR-002) TaskStopTool MUST support stopping tasks by name pattern |
orchestrata_ultimate/tools/task_tools PatternType L128orchestrata_ultimate/tools/task_tools TaskStopTool L1040orchestrata_ultimate/tools/task_tools _name_matches L264+2 more |
none |
REQ-069-024 (FR-003) TaskStopTool MUST support graceful stop mode (default) |
orchestrata_ultimate/tools/task_tools TaskStopMode L94orchestrata_ultimate/tools/task_tools _signal_and_wait L691orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-025 (FR-004) TaskStopTool MUST support forced stop mode |
orchestrata_ultimate/tools/task_tools TaskStopMode L94orchestrata_ultimate/tools/task_tools _signal_and_wait L691orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-026 (FR-005) TaskStopTool MUST validate task existence before stop |
orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-027 (FR-006) TaskStopTool MUST support batch termination by pattern |
orchestrata_ultimate/tools/task_tools BatchStopOutcome L338orchestrata_ultimate/tools/task_tools stop_by_pattern L743 |
none |
REQ-069-028 (FR-007) TaskOutputTool MUST support full output retrieval |
orchestrata_ultimate/tools/task_tools OutputMode L103orchestrata_ultimate/tools/task_tools TaskOutput L310orchestrata_ultimate/tools/task_tools TaskOutputTool L1203+2 more |
none |
REQ-069-029 (FR-008) TaskOutputTool MUST support output streaming — PARTIAL: mode="stream"... |
orchestrata_ultimate/tools/task_tools OutputMode L103 |
none |
REQ-069-030 (FR-009) TaskOutputTool MUST support tail mode (last N lines) |
orchestrata_ultimate/tools/task_tools OutputMode L103orchestrata_ultimate/tools/task_tools TaskOutputTool L1203orchestrata_ultimate/tools/task_tools execute L1231+1 more |
none |
REQ-069-031 (FR-010) TaskOutputTool MUST support line range retrieval |
orchestrata_ultimate/tools/task_tools OutputMode L103orchestrata_ultimate/tools/task_tools TaskOutputTool L1203orchestrata_ultimate/tools/task_tools execute L1231+1 more |
none |
REQ-069-032 (FR-011) TaskOutputTool MUST provide status metrics (memory/CPU/PID via psutil... |
orchestrata_ultimate/tools/task_tools TaskOutputTool L1203orchestrata_ultimate/tools/task_tools TaskStatusResult L290orchestrata_ultimate/tools/task_tools TaskType L117+2 more |
none |
REQ-069-033 (FR-012) TaskOutputTool MUST support combined output mode |
orchestrata_ultimate/tools/task_tools TaskOutput L310orchestrata_ultimate/tools/task_tools TaskOutputTool L1203orchestrata_ultimate/tools/task_tools execute L1231+1 more |
none |
REQ-069-034 (ERR-001) TASK_NOT_FOUND |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-035 (ERR-002) TASK_NOT_RUNNING |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-036 (ERR-003) PERMISSION_DENIED |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-037 (ERR-004) TERMINATION_FAILED |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools _await_exit L722orchestrata_ultimate/tools/task_tools _signal_and_wait L691+1 more |
none |
REQ-069-038 (ERR-005) CRITICAL_TASK |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-039 (ERR-006) PROTECTED_TASK |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools stop L569 |
none |
REQ-069-040 (ERR-007) OUTPUT_NOT_AVAILABLE |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools output_of L811 |
none |
REQ-069-041 (ERR-008) INVALID_LINE_RANGE |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools output_of L811 |
none |
REQ-069-042 (ERR-009) OUTPUT_TOO_LARGE |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools output_of L811 |
none |
REQ-069-043 (ERR-010) STREAM_FAILED — NOT IMPLEMENTED: no WebSocket transport exists to fail |
none | none |
REQ-069-044 (ERR-011) TASK_ID_COLLISION |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools create L448 |
none |
REQ-069-045 (ERR-012) STORAGE_CORRUPTION — NOT IMPLEMENTED / N/A: no persistent storage layer... |
none | none |
REQ-069-046 (ERR-013) RATE_LIMIT_EXCEEDED (process-local sliding window, not distributed) |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools check_rate_limit L790 |
none |
REQ-069-047 (ERR-014) REDIS_ERROR — NOT IMPLEMENTED / N/A: this MVP has no Redis dependency |
none | none |
REQ-069-048 (ERR-015) RACE_CONDITION — prevented outright (lock + stopping flag) rather than... |
orchestrata_ultimate/tools/task_tools TaskToolErrorCode L164orchestrata_ultimate/tools/task_tools stop L569 |
none |