RWS QC gap-close: verification coverage raised, doc-slug bug identified
System
{{entity:Remote Weapon Station (RWS)}} (se-remote-weapon-station-rws). All 8 subsystems are complete in the spec tree. Project stands at 206 requirements, 209 trace links across 6 documents. This session addressed quality gate blockers: 1 orphan requirement, 2 high-severity lint findings, and 9 unverified {{trait:System-Essential}} subsystem requirements — expanding the verification trace link coverage from 27% (52/196) to 30% (62/206).
Findings
Orphan resolved. {{sub:VER-REQ-055}} — the {{entity:Turret Drive Assembly}} environmental qualification test — was present in the verification-requirements section but had no trace link to its parent {{sub:SUB-REQ-060}}. The link was created (VER-REQ-055 verifies SUB-REQ-060). Orphan count is now 0/206.
High-severity lint acknowledged. Two [!!!] ontological mismatch findings were reviewed and acknowledged as false positives:
channel safety controller({{hex:50A41828}}) flagged as lacking {{trait:Physical Object}} trait. {{sub:SUB-REQ-061}} already specifies the Dual-Channel Safety Controller enclosure rated IP65 per IEC 60529.fire control system({{hex:D5F77A19}}) flagged similarly. {{sub:SUB-REQ-050}} and {{sub:SUB-REQ-055}} already define the FCS sealed LRU with mass, volume, and connector constraints. Both findings acknowledged in Substrate underSE:remote-weapon-station-rws.
Document-slug bug identified. Sessions 626 and 628 created VER requirements using --document verification-plan (incorrect slug). The correct slug is verification-requirements. The mismatch created requirements with null documentSlug and generic REQ-SEREMOTEWEAPONSTATIONRWS-NNN refs: {{sub:VER-REQ-027}}, {{sub:VER-REQ-028}}, {{sub:VER-REQ-050}}, {{sub:VER-REQ-055}}, and one new homeless requirement this session (REQ-005). These cannot be deleted via the CLI (404 on null-doc items). All have correct verifies trace links and appear in the correct section. Future sessions must use --document verification-requirements.
72 medium lint findings are primarily semantic text-matching coverage gap false positives (e.g., “stabilised fire control in SYS but not SUB”) where the actual requirements exist with different phrasing. SYS-REQ-001, SYS-REQ-003, SYS-REQ-013, and SYS-REQ-015 each have 5–14 derives trace links to properly scoped subsystem requirements.
Corrections
Nine {{trait:Intentionally Designed}} verification requirements created ({{sub:VER-REQ-059}} through {{sub:VER-REQ-067}}), each with a verifies trace link:
| VER ref | Verifies | Test method |
|---|---|---|
| VER-REQ-059 | SUB-REQ-014 TTP auto-track accuracy | Calibrated 0.5K thermal target at 1000m |
| VER-REQ-060 | SUB-REQ-018 degraded-mode day camera | Thermal channel disabled, 200m target track hold |
| VER-REQ-061 | SUB-REQ-019 FCS Built-In Test | Cold start BIT timing + fault injection |
| VER-REQ-062 | SUB-REQ-023 recoil buffer attenuation | Live-fire force measurement on mounting platform |
| VER-REQ-063 | SUB-REQ-028 azimuth drive 360° slew | Encoder measurement, 60 deg/s sustained, 1.0 mrad accuracy |
| VER-REQ-064 | SUB-REQ-034 MIL-STD-6016 data link | Protocol analyser with BMS simulator |
| VER-REQ-065 | SUB-REQ-010 TDA power input 20–32VDC | Programmable supply at 3 voltage boundary points |
| VER-REQ-066 | SUB-REQ-024 barrel change 15 minutes | Timed single-maintainer demonstration, hot barrel |
| VER-REQ-067 | SUB-REQ-011 FCS power input 20–32VDC | Programmable supply, BIT pass at all voltage points |
All created with --document verification-requirements — proper VER-REQ-NNN refs confirmed. Baseline QC-GAP-CLOSE-2026-03-27 (BL-SEREMOTEWEAPONSTATIONRWS-015) created at 206 requirements, 209 trace links.
Residual
VER trace coverage is 30% (62/206). The remaining unverified subsystem requirements (SUB-REQ-011, 012, 016, 023–027, 029–033, 035–038, 040–041, 045, 047) are candidates for the next QC or validation pass. The 5 stranded null-doc requirements persist — no CLI deletion path exists. Activity coverage remains at 0% (a separate verification workflow feature, not a trace link issue).
Decomposition
flowchart TB
n0["system
Remote Weapon Station (RWS)"]
n1["subsystem
Electro-Optical Sensor Assembly (EOSA)"]
n2["subsystem
Fire Control System (FCS)"]
n3["subsystem
Turret Drive Assembly (TDA)"]
n4["subsystem
Operator Control Unit (OCU)"]
n5["subsystem
Safety Interlock System (SIS)"]
n6["subsystem
Weapon and Ammo Handling (WAH)"]
n7["subsystem
Power Distribution Unit (PDU)"]
n8["subsystem
Communications Interface Unit (CIU)"]
n1 -->|Sensor video, target data| n2
n2 -->|Servo commands, pointing| n3
n2 -->|Fire request, arm status| n5
n5 -->|Fire enable/inhibit| n6
n5 -->|Drive enable, brake cmd| n3
n4 -->|Operator commands| n2
n2 -->|Display data, video| n4
n4 -->|E-STOP, arm/safe| n5
n7 -.->|28V/12V/5V power| n1
n7 -.->|12V/5V power| n2
n7 -.->|28V drive power| n3
n8 -->|GPS, BMS target data| n2
n2 -->|Video export, status| n8
Next
VER trace coverage stands at 30%. The next session should add VER entries for the remaining unverified SUB requirements (particularly power input reqs for the OCU and PDU), investigate whether the harness fetchErrors quality gate blocker is resolved now that orphan count is 0, and run airgen trace validate --fix to confirm no reversed link directions remain.