Trace Overview
RTMify Trace is a local report generator. It reads one RTMify .xlsx workbook, validates and ingests it into an in-memory traceability graph, and renders that graph as a full Requirements Traceability Matrix.
Three forms, one engine
Trace ships in three user-facing forms. All three share the same core parser, graph model, renderers, and licensing subsystem — only the user interaction layer differs.
CLI
A command-line binary for scripting, CI pipelines, and automation. Accepts flags for format, output path, strict gap-fail mode, and JSON diagnostics.
macOS app
A native SwiftUI wrapper around the shared library. Drag-and-drop or browse to load a workbook; pick a profile and format; open or reveal the output in Finder.
Windows app
A native Win32 GUI wrapper around the same library. Same workflow as macOS: drag-and-drop, pick a profile and format, open or reveal in Explorer.
What happens between input and output
Every Trace run — CLI or native app — executes the same pipeline:
- 1 Validate the workbook container
Confirms the file exists, is readable, is a valid ZIP/OOXML container, and has required workbook parts. Malformed or non-XLSX inputs are rejected here.
- 2 Discover and match tabs
Locates User Needs, Requirements, Tests, and Risks tabs using exact match, synonym matching, substring matching, and fuzzy matching. Missing optional tabs produce warnings, not failures.
- 3 Match columns and ingest rows
Maps each tab's headers to canonical field names using synonym lists and heuristics. Builds graph nodes — UserNeed, Requirement, TestGroup, Test, Risk — from each row.
- 4 Resolve cross-references into a graph
Builds directed edges:
DERIVES_FROM(Req → User Need),TESTED_BY(Req → Test Group),HAS_TEST(Test Group → Test),MITIGATED_BY(Risk → Req). Unresolved references are captured as gaps. - 5 Expand graph into RTM rows
Each requirement expands into one row per test. A requirement with no tests emits one row with empty test fields. A requirement with multiple test groups emits rows for all groups.
- 6 Compute gaps
Detects workbook traceability gaps such as requirements with no user-need link, requirements with no usable test-group coverage, risks with missing or unresolved mitigation requirements, and advisory findings like empty test groups or user needs with no derived requirements. Hard gaps are always surfaced and can fail
--strict; advisory gaps stay visible without blocking output. - 7 Render outputs
Writes one or more output files — Markdown, Word (.docx), PDF — using shared renderers. The report includes five sections: User Needs, Requirements Traceability, Tests, Risk Register, and Gap Summary.
What Trace is not
Trace is a read-only report generator. It does not:
- —Edit or repair your workbook
- —Scan your source code or test files (that's RTMify Live)
- —Connect to a server or upload your data during report generation
- —Accept
.xls,.csv, or.odsfiles
Runs entirely on your machine
Report generation has no network dependencies. Trace reads your .xlsx, writes output files, and exits. No telemetry, no cloud sync. Signed license files are verified locally on your machine; no runtime activation or periodic license refresh is required.