Skip to content

RTM-001: Requirements Traceability Matrix

Property Value
ID RTM-001
Version 2.0
Status Active
Last Updated 2026-03-06

1. Master Traceability

URS ID Requirement FS ID DS Ref Risk (RA) OQ Ref PQ Ref Status Notes
URS-MFG-001.1 Create manufacturing process FS-MFG-001.1 DS-001 Medium OQ-MFG Implemented
URS-MFG-001.2 Process state transitions FS-MFG-001.2 DS-001 High OQ-MFG Implemented
URS-MFG-001.3 Query manufacturing processes FS-MFG-001.3 DS-001 Low OQ-MFG Implemented
URS-MFG-001.4 Delete manufacturing process FS-MFG-001.4 DS-001 Medium OQ-MFG Implemented
URS-PRD-001.1 Product CRUD FS-PRD-001.1 DS-001 Medium OQ-PRD Implemented
URS-PRD-001.2 Version management FS-PRD-001.2 DS-001 High OQ-PRD Implemented
URS-PRD-001.3 Product/version search FS-PRD-001.3 DS-001 Low OQ-PRD Implemented
URS-PRD-001.4 Bulk operations FS-PRD-001.4 DS-001 Medium OQ-PRD Implemented
URS-PRD-001.5 Cascading delete FS-PRD-001.5 DS-001, DS-003 High OQ-PRD Partial Delete cascades to versions but not to parameter mappings across 17+ types. See FEAT-001.
URS-QUA-001.1 Record measurements FS-QUA-001.1 DS-001 High OQ-QUA Partial 4 of 14 measurement types implemented (EGP, Kann, Length, Valve). See FEAT-004.
URS-QUA-001.2 Current message management FS-QUA-001.2 DS-001, DS-003 Low OQ-QUA Implemented
URS-QUA-001.3 Message archiving FS-QUA-001.3 DS-001 Medium OQ-QUA Implemented
URS-QUA-001.4 Process statistics FS-QUA-001.4 DS-001 Low OQ-QUA Implemented
URS-QUA-001.5 Real-time notifications FS-QUA-001.5 DS-003 Low OQ-QUA Implemented
URS-ROB-001.1 Store master data FS-ROB-001.1 DS-001 Medium OQ-ROB Implemented
URS-ROB-001.2 Store position data FS-ROB-001.2 DS-001 Medium OQ-ROB Implemented
URS-ROB-001.3 Calculate positions FS-ROB-001.3 DS-001 High OQ-ROB Implemented
URS-ROB-001.4 Master teach FS-ROB-001.4 DS-001 High OQ-ROB Implemented
URS-WPC-001.1 Create WPC FS-WPC-001.1 DS-001 Medium OQ-WPC Implemented
URS-WPC-001.2 Query WPCs FS-WPC-001.2 DS-001 Low OQ-WPC Implemented
URS-WPC-001.3 Update/delete WPCs FS-WPC-001.3 DS-001 Low OQ-WPC Implemented
URS-PAR-001.1 Setup CRUD FS-PAR-001.1 DS-001, DS-003 Medium OQ-PAR Implemented 17+ types via generic ParameterMappingRepository
URS-PAR-001.2 Mapping CRUD FS-PAR-001.2 DS-001, DS-003 Medium OQ-PAR Implemented
URS-PAR-001.3 15+ parameter types FS-PAR-001.3 DS-003 Medium OQ-PAR Implemented 20+ types after SCHEMA-001
URS-PAR-001.4 Cascading delete FS-PAR-001.4 DS-003 High OQ-PAR Partial Handler exists but not wired into product/version delete path. See FEAT-001.
URS-PAR-001.5 All mappings for version FS-PAR-001.5 DS-001 Low OQ-PAR PQ-PAR Implemented
URS-SYS-001.1 System variables FS-SYS-001.1 DS-001 Low OQ-SYS Implemented
URS-SYS-001.2 Version history FS-SYS-001.2 DS-001 Low OQ-SYS Implemented
URS-SYS-001.3 Health check FS-SYS-001.3 DS-001 Low OQ-SYS PQ-SYS Partial Only checks db_essert. Should check all 8 databases. See FEAT-003.
URS-SYS-001.4 Automated CI pipeline FS-SYS-001.4 Low Implemented FEAT-008. GitHub Actions: build-and-test, publish-release, integration-tests workflows.
URS-INT-001.1 REST API FS-INT-001.1 DS-001 Medium OQ-INT PQ-REST Implemented 31 controllers (exceeds documented 21)
URS-INT-001.2 OPC UA FS-INT-001.2 DS-001 High OQ-INT Implemented 2 NodeManagers, 59 tests
URS-INT-001.3 GraphQL FS-INT-001.3 DS-001 Medium OQ-INT Partial Core contexts covered (24Q/26M/4S). Parameter CRUD not in GraphQL. See FEAT-005.
URS-INT-001.4 Cross-protocol consistency FS-INT-001.4 DS-001 High OQ-INT Implemented All APIs share Application layer handlers
URS-INT-001.5 Container-based deployment FS-INT-001.5 Low OQ-INT Draft FEAT-006. Docker containers for REST, GraphQL, OPC UA with Docker Compose orchestration.
URS-INT-001.6 Native Windows Service deployment FS-INT-001.6 Low OQ-INT In Progress FEAT-007. Unified host for S7-1500 Open Controller. Single-process deployment as Windows Service.
URS-DAT-001.1 ALCOA+ records FS-DAT-001.1 DS-002 Critical OQ-DAT Implemented All 8 databases follow UID/Timestamp/Creator/CRC pattern
URS-DAT-001.2 CRC integrity FS-DAT-001.2 DS-002, DS-003 Critical OQ-DAT Partial CRC calculated on write. No verification on read. See FEAT-002.
URS-DAT-001.3 Changelog audit trail FS-DAT-001.3 DS-002 High OQ-DAT Partial 72 changelog entities exist (read). Write path has placeholder stubs. See DEBT-001.
URS-DAT-001.4 Transaction atomicity FS-DAT-001.4 DS-003 High OQ-DAT Implemented CrossDatabaseUnitOfWork with rollback

2. Test Mapping by Context

Manufacturing (URS-MFG-001)

URS FS Handler Test Files OQ Section
URS-MFG-001.1 FS-MFG-001.1 CreateManufacturingProcessHandler CreateManufacturingProcessHandlerTests, ManufacturingControllerTests OQ-MFG
URS-MFG-001.2 FS-MFG-001.2 CompleteProcessHandler, FailProcessHandler CompleteProcessHandlerTests, FailProcessHandlerTests OQ-MFG
URS-MFG-001.3 FS-MFG-001.3 GetProcessByIdHandler GetProcessByIdHandlerTests OQ-MFG
URS-MFG-001.4 FS-MFG-001.4 DeleteProcessHandler DeleteProcessHandlerTests OQ-MFG

Products (URS-PRD-001)

URS FS Handler Test Files OQ Section
URS-PRD-001.1 FS-PRD-001.1 CreateProductHandler CreateProductHandlerTests, ProductsControllerTests OQ-PRD
URS-PRD-001.2 FS-PRD-001.2 CreateVersionHandler, SetFactorySetupHandler CreateVersionHandlerTests, SetFactorySetupHandlerTests OQ-PRD
URS-PRD-001.3 FS-PRD-001.3 SearchProductsHandler SearchProductsHandlerTests OQ-PRD
URS-PRD-001.4 FS-PRD-001.4 BulkCreateProductsHandler BulkCreateProductsHandlerTests OQ-PRD
URS-PRD-001.5 FS-PRD-001.5 DeleteProductWithAllVersionsHandler DeleteProductWithAllVersionsHandlerTests OQ-PRD

Quality (URS-QUA-001)

URS FS Handler Test Files OQ Section
URS-QUA-001.1 FS-QUA-001.1 RecordLengthMeasurementHandler (etc.) RecordLengthMeasurementHandlerTests, StatisticsControllerTests OQ-QUA
URS-QUA-001.2 FS-QUA-001.2 AddCurrentMessageHandler AddCurrentMessageHandlerTests OQ-QUA
URS-QUA-001.3 FS-QUA-001.3 ArchiveMessageHandler ArchiveMessageHandlerTests OQ-QUA
URS-QUA-001.4 FS-QUA-001.4 GetProcessStatisticsHandler GetProcessStatisticsHandlerTests OQ-QUA
URS-QUA-001.5 FS-QUA-001.5 StatisticsSubscriptions StatisticsSubscriptionsTests OQ-QUA

Parameters (URS-PAR-001)

URS FS Handler Pattern Test Files OQ Section
URS-PAR-001.1-2 FS-PAR-001.1-2 Create{Type}SetupHandler {Type}ParametersControllerTests (17+ types) OQ-PAR
URS-PAR-001.3 FS-PAR-001.3 Generic base class ParameterMappingIntegrationTests OQ-PAR
URS-PAR-001.4 FS-PAR-001.4 DeleteMappingsForVersionHandler DeleteMappingsForVersionHandlerTests OQ-PAR
URS-PAR-001.5 FS-PAR-001.5 GetAllMappingsForVersionHandler GetAllMappingsForVersionHandlerTests OQ-PAR

Data Integrity (URS-DAT-001)

URS FS Service/Pattern Test Files OQ Section
URS-DAT-001.1 FS-DAT-001.1 EF Core configurations DbContext tests (all 8 contexts) OQ-DAT
URS-DAT-001.2 FS-DAT-001.2 ICrcService / CrcService CrcServiceTests, Persistence.Operations tests OQ-DAT
URS-DAT-001.3 FS-DAT-001.3 ChangelogsDbContext ChangelogsDbContextTests OQ-DAT
URS-DAT-001.4 FS-DAT-001.4 IUnitOfWork UnitOfWorkTests, transaction rollback tests OQ-DAT

3. Test Coverage Summary

Context URS Items Domain Tests Application Tests Infrastructure Tests API Tests Total
MFG 4 ~15 ~50 ~20 ~15 ~100
PRD 5 ~10 ~55 ~30 ~30 ~125
QUA 5 ~8 ~60 ~25 ~20 ~113
ROB 4 ~40 ~15 ~15 ~70
WPC 3 ~15 ~35 ~10 ~15 ~75
PAR 5 ~50 ~40 ~200 ~290
SYS 4 ~40 ~15 ~15 ~70
INT 4 ~50 ~50
DAT 4 ~5 ~20 ~30 ~10 ~65
Total 38 ~53 ~350 ~185 ~370 ~958

Note: Approximate counts. Actual test counts may vary as the product evolves. Run dotnet test for current numbers.


4. Status Legend

Status Meaning
Draft Requirement defined, not yet implemented
In Progress Actively being worked on
Implemented Code exists, handler + repository + endpoints work
Verified Tests pass, traceability confirmed, functionality complete
Partial Partially implemented — see Notes column for details

5. Status Summary

Status Count Percentage
Implemented 25 63%
Partial 7 18%
Draft 1 3%
In Progress 1 3%
Verified 0 0%
Total 40

Note: "Implemented" items need formal test verification pass to move to "Verified". Partial items are tracked as backlog items in docs/requirements/BACKLOG.md.


6. Backlog Cross-References

Partial items link to backlog work items for resolution:

URS ID Backlog ID Work Item
URS-PRD-001.5 FEAT-001 Cascading delete for parameter groups
URS-QUA-001.1 FEAT-004 Missing measurement type handlers
URS-PAR-001.4 FEAT-001 Cascading delete for parameter groups
URS-SYS-001.3 FEAT-003 Health check — multi-database connectivity
URS-INT-001.3 FEAT-005 GraphQL parameter operations
URS-DAT-001.2 FEAT-002 CRC read-time verification
URS-DAT-001.3 DEBT-001 Changelog write path for new groups

Supporting Evidence (Archived)