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 under SE: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 refVerifiesTest method
VER-REQ-059SUB-REQ-014 TTP auto-track accuracyCalibrated 0.5K thermal target at 1000m
VER-REQ-060SUB-REQ-018 degraded-mode day cameraThermal channel disabled, 200m target track hold
VER-REQ-061SUB-REQ-019 FCS Built-In TestCold start BIT timing + fault injection
VER-REQ-062SUB-REQ-023 recoil buffer attenuationLive-fire force measurement on mounting platform
VER-REQ-063SUB-REQ-028 azimuth drive 360° slewEncoder measurement, 60 deg/s sustained, 1.0 mrad accuracy
VER-REQ-064SUB-REQ-034 MIL-STD-6016 data linkProtocol analyser with BMS simulator
VER-REQ-065SUB-REQ-010 TDA power input 20–32VDCProgrammable supply at 3 voltage boundary points
VER-REQ-066SUB-REQ-024 barrel change 15 minutesTimed single-maintainer demonstration, hot barrel
VER-REQ-067SUB-REQ-011 FCS power input 20–32VDCProgrammable 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.

← all entries