# E2E Traceability Matrix ## Acceptance Criteria Coverage | AC ID | Acceptance Criterion | Test IDs | Coverage | |-------|---------------------|----------|----------| | AC-LATENCY-TIER1 | Tier 1 ≤100ms per frame | NFT-PERF-01, NFT-PERF-04 | Covered | | AC-LATENCY-TIER2 | Tier 2 ≤200ms per ROI | NFT-PERF-02 | Covered | | AC-LATENCY-TIER3 | Tier 3 ≤5s per ROI | NFT-PERF-03, FT-P-04 | Covered | | AC-YOLO-NEW-CLASSES | New YOLO classes P≥80% R≥80% | FT-P-01 | Partially covered — functional flow tested; statistical P/R requires annotated validation set (component-level test) | | AC-SEMANTIC-DETECTION-R | Concealed position recall ≥60% | FT-P-02, FT-P-03 | Partially covered — functional detection tested; statistical recall requires larger dataset (component-level test) | | AC-SEMANTIC-DETECTION-P | Concealed position precision ≥20% | FT-P-02, FT-N-02 | Partially covered — same as above | | AC-FOOTPATH-RECALL | Footpath detection recall ≥70% | FT-P-01 | Partially covered — functional detection tested; statistical recall at component level | | AC-SCAN-L1 | Level 1 covers route with sweep | FT-P-06 | Covered | | AC-SCAN-L1-TO-L2 | L1→L2 transition within 2s | FT-P-06 | Covered | | AC-SCAN-L2-LOCK | L2 maintains camera lock on POI | — | NOT COVERED — requires real gimbal + moving platform; covered in [HIL] test track | | AC-SCAN-PATH-FOLLOW | Path-following keeps path in center 50% | — | NOT COVERED — requires real camera + gimbal; covered in [HIL] track | | AC-SCAN-ENDPOINT-HOLD | Endpoint hold for VLM analysis | FT-P-04 | Partially covered — VLM trigger tested; physical hold requires [HIL] | | AC-SCAN-RETURN | Return to L1 after analysis/timeout | FT-P-06 | Covered (within mock gimbal command sequence) | | AC-CAMERA-LATENCY | Gimbal command ≤500ms | NFT-RES-03 | Covered (mock; [HIL] for real latency) | | AC-CAMERA-ZOOM | Zoom M→H within 2s | FT-P-06 | Covered (mock acknowledges zoom; [HIL] for physical timing) | | AC-CAMERA-PATH-ACCURACY | Footpath stays in center 50% during pan | — | NOT COVERED — requires real gimbal; [HIL] | | AC-CAMERA-SMOOTH | Smooth gimbal transitions | — | NOT COVERED — requires real gimbal; [HIL] | | AC-CAMERA-QUEUE | POI queue prioritized by confidence/proximity | FT-P-06 | Partially covered — queue existence tested; priority ordering at component level | | AC-SEMANTIC-PIPELINE | Consumes YOLO input, traces paths, freshness | FT-P-01, FT-P-02, FT-P-08 | Covered | | AC-RESOURCE-CONSTRAINTS | ≤6GB RAM total | NFT-RES-LIM-01 | Covered [HIL] | | AC-COEXIST-YOLO | Must not degrade existing YOLO | NFT-PERF-04 | Partially covered — throughput measured; real coexistence at [HIL] | ## Restrictions Coverage | Restriction ID | Restriction | Test IDs | Coverage | |---------------|-------------|----------|----------| | RESTRICT-HW-JETSON | Jetson Orin Nano Super, 67 TOPS, 8GB | NFT-RES-LIM-01, NFT-RES-LIM-02 | Covered [HIL] | | RESTRICT-HW-RAM | ~6GB available for semantic + VLM | NFT-RES-LIM-01 | Covered [HIL] | | RESTRICT-CAM-VIEWPRO | ViewPro A40 1080p 40x zoom | FT-P-06, NFT-RES-03 | Covered (mock) | | RESTRICT-CAM-ZOOM-TIME | Zoom transition 1-2s physical | FT-P-06 | Covered (mock with simulated delay) | | RESTRICT-OP-ALTITUDE | 600-1000m altitude | — | NOT COVERED — operational parameter, not testable at E2E; affects GSD calculation tested at component level | | RESTRICT-OP-SEASONS | All seasons, phased starting winter | FT-P-01 to FT-P-08 (winter images) | Partially covered — winter only; other seasons deferred to Phase 4 | | RESTRICT-SW-CYTHON-TRT | Extend Cython + TRT codebase | — | NOT COVERED — architectural constraint verified by code review, not E2E test | | RESTRICT-SW-TRT | TensorRT inference engine | NFT-PERF-01 | Covered [HIL] | | RESTRICT-SW-VLM-LOCAL | VLM runs locally, no cloud | NFT-SEC-01 | Covered | | RESTRICT-SW-VLM-SEPARATE | VLM as separate process with IPC | FT-P-04, FT-N-05 | Covered | | RESTRICT-SW-SEQUENTIAL-GPU | YOLO and VLM scheduled sequentially | NFT-PERF-04, NFT-RES-LIM-01 | Covered (memory monitoring shows no concurrent GPU allocation) | | RESTRICT-INT-FASTAPI | Existing FastAPI + Cython + Docker | FT-P-03 | Covered (output format) | | RESTRICT-INT-YOLO-OUTPUT | Consume YOLO bounding box output | FT-P-01, FT-P-02 | Covered | | RESTRICT-INT-OUTPUT-FORMAT | Output same bbox format | FT-P-03 | Covered | | RESTRICT-SCOPE-ANNOTATION | Annotation tooling out of scope | — | N/A | | RESTRICT-SCOPE-GPS | GPS-denied out of scope | — | N/A | ## Coverage Summary | Category | Total Items | Covered | Partially Covered | Not Covered | Coverage % | |----------|-----------|---------|-------------------|-------------|-----------| | Acceptance Criteria | 21 | 10 | 7 | 4 | 81% (counting partial as 0.5) | | Restrictions | 16 | 8 | 2 | 4 | 69% (2 N/A excluded) | | **Total** | **37** | **18** | **9** | **8** | **76%** | ## Uncovered Items Analysis | Item | Reason Not Covered | Risk | Mitigation | |------|-------------------|------|-----------| | AC-SCAN-L2-LOCK | Requires real gimbal + moving UAV platform | Camera drifts off target during flight | [HIL] test with real hardware; PID tuning on bench first | | AC-SCAN-PATH-FOLLOW | Requires real gimbal + camera | Path leaves frame during pan | [HIL] test; component-level PID unit tests with simulated feedback | | AC-CAMERA-PATH-ACCURACY | Requires real gimbal | Path not centered | [HIL] test | | AC-CAMERA-SMOOTH | Requires real gimbal | Jerky movement blurs frames | [HIL] test; PID tuning | | RESTRICT-OP-ALTITUDE | Operational parameter, not testable | GSD calculation wrong | Component-level GSD unit test with known altitude | | RESTRICT-SW-CYTHON-TRT | Architectural constraint | Wrong tech stack used | Code review gate in PR process | | RESTRICT-OP-SEASONS (non-winter) | Only winter images available now | System fails on summer/spring terrain | Phase 4 seasonal expansion; deferred by design | | RESTRICT-HW-JETSON (real perf) | Requires physical hardware | Docker perf doesn't match Jetson | [HIL] test track runs on real Jetson |