Orchestrata Ultimate / RTM
Requirements traceability matrix
The RTM answers one question per requirement: which code implements it and which test proves it. A spec defines requirement IDs such as REQ-001-007 in its checklists/requirements.md. Code links itself to those IDs with a @traces decorator, and tests do the same, so the link lives next to the symbol it describes:
@traces(spec="005", story="US-002", reqs=["REQ-005-FR7-001", "REQ-005-AC4-001"])
def send_to_parent(...): ...
The decorator arguments spec, story and reqs are the fields the AST toolkit reads. A requirement with no citing symbol is untraced; an ID cited but defined nowhere is dangling.
How it is generated
- Citations are read from the code by the AST toolkit:
check-traceslists untraced, dangling and malformed requirements against the specs,trace-auditdumps every decorator (this page set used its JSON forsrc/andtests/), andtrace-lintchecks the decorator style. - Recorded matrix files live in
rtm/of the checkout:rtm.json,rtm.md,requirements.json,integrated_rtm.json,comprehensive_mapping.jsonandreconciliation_report.json, produced by the scripts inrtm/scripts/(for examplegenerate_rtm.py,parse_requirements.py,reconcile_rtm.py). They are a snapshot, see below. - Progress queries are available through
codetools rtmand theknowledge_rtm_progressMCP tool. - These pages are produced by
scripts/gen-spec-pages.pyin this wiki repository.
Current totals
Measured in this run from the checkout wt-MAP-PRECOMMIT: requirement IDs parsed from the tracked spec markdown, citations from trace-audit over src/ and tests/.
| Measure | Value |
|---|---|
| Requirement IDs defined | 7347 |
Cited by a src/ @traces |
3150 (42.9%) |
Untraced (zero src/ citations) |
4197 (57.1%) |
Cited by a tests/ @traces |
269 (3.7%) |
Cited from both src/ and tests/ |
234 (3.2%) |
@traces decorators in src/ |
4815 on 4815 symbols |
@traces decorators in tests/ |
831 on 831 test functions |
IDs cited in src/ but defined in no spec file |
0 |
IDs cited in tests/ but defined in no spec file |
9 |
The session hook reports 5,561 requirements with 2,224 (40%) untraced and 4,711 traced symbols unreachable from any test. This run measures 7347 requirements and 4197 untraced (57.1%). The hook's definition of a requirement and its source tree are not known here, so the two sets differ. Reachability from tests needs a call graph and was not measured; the test column on the per-spec pages is citation-based only, meaning a test carries a @traces naming the ID.
Recorded matrix snapshot
| Recorded file | Fact read from it |
|---|---|
rtm/rtm.json |
generated 2026-04-28T08:02:25.585373+00:00; 14881 entries; validation {"verified": ["REQ-000-000", "REQ-000-001", "REQ-000-002", "REQ-000-003", "REQ-000-004", "REQ-000-005", "REQ-000-006", "REQ-000-007", "REQ-000-008", "REQ-000-00 |
rtm/requirements.json |
4758 requirement records |
rtm/reconciliation_report.json |
4311 traced IDs, 2278 valid, 1699 orphan, 334 unknown format |
tracked files under rtm/ |
81 |
The snapshot predates the current code, so it says 100% verified while the live citations above say otherwise. Treat the live numbers as authoritative.