# Traceability Matrix ## Acceptance Criteria Coverage | AC / Restriction | Test IDs | Coverage | |------------------|----------|----------| | Dataset split 70/20/10 | BT-DSF-01, RL-DSF-01 | Full | | Dataset directory structure | BT-DSF-02 | Full | | Dataset integrity (no data loss) | BT-DSF-03, RL-DSF-02 | Full | | Corrupted label filtering | BT-DSF-04, BT-LBL-01 to BT-LBL-05 | Full | | AES-256-CBC encryption | BT-ENC-01 to BT-ENC-06, ST-ENC-01, ST-ENC-02 | Full | | Model encryption roundtrip | BT-ENC-02 | Full | | Model split ≤3KB or 20% | BT-SPL-01, BT-SPL-02 | Full | | 17 base classes | BT-CLS-01 | Full | | 3 weather modes (Norm/Wint/Night) | BT-CLS-02 | Full | | 80 total class slots | BT-CLS-03, RL-CLS-01 | Full | | YAML generation (nc: 80) | BT-CLS-03 | Full | | Hardware hash determinism | BT-HSH-01 to BT-HSH-03, ST-HSH-01, ST-HSH-02 | Full | | Hardware-bound API encryption | ST-HSH-03, ST-HSH-04 | Full | | ONNX inference loads model | BT-INF-01 | Full | | ONNX inference returns detections | BT-INF-02, BT-INF-03 | Full | | NMS overlap removal (IoU 0.3) | BT-NMS-01, BT-NMS-02, BT-NMS-03 | Full | | Annotation message parsing | BT-AQM-01 to BT-AQM-04, RT-AQM-01 | Full | | Encryption size overhead bounded | RL-ENC-01 | Full | | Static model encryption key | ST-ENC-03 | Full | | Random IV per encryption | ST-ENC-01 | Full | ## Removed (augmentation now built into YOLO training) The following tests were removed because external augmentation (`augmentation.py`) is no longer part of the training pipeline. YOLO's built-in augmentation replaces it. | Removed Test IDs | Reason | |-------------------|--------| | BT-AUG-01 to BT-AUG-08 | External augmentation replaced by YOLO built-in | | PT-AUG-01, PT-AUG-02 | Augmentation performance no longer relevant | | RT-AUG-01 to RT-AUG-03 | Augmentation resilience no longer relevant | | RL-AUG-01 | Augmentation resource limits no longer relevant | ## Uncovered (Require External Services) | AC / Restriction | Reason | |------------------|--------| | TensorRT inference (54s for 200s video) | Requires NVIDIA GPU + TensorRT runtime | | API upload/download with JWT auth | Requires live Azaion API | | CDN upload/download (S3) | Requires live S3-compatible CDN | | Queue offset persistence | Requires live RabbitMQ Streams | | Auto-relogin on 401/403 | Requires live Azaion API | | Frame sampling every 4th frame | Requires video file (fixture not provided) | | Confidence threshold 0.3 filtering | Partially covered by BT-INF-03 (validates range, not exact threshold) | ## Summary | Metric | Value | |--------|-------| | Total AC + Restrictions | 27 | | Covered by tests | 20 | | Uncovered (external deps) | 7 | | **Coverage** | **74.1%** | ## Test Count Summary | Category | Count | |----------|-------| | Blackbox tests | 21 | | Performance tests | 3 | | Resilience tests | 3 | | Security tests | 7 | | Resource limit tests | 4 | | **Total** | **38** |