Files
yoloyolo/.planning/REQUIREMENTS.md
T
gurix 81ef4f9df7 docs(08-01): complete constant-cleanup plan
- SUMMARY for 08-01: stale constants removed, tests future-proofed
- STATE.md: plan advanced, progress 100%, decisions recorded
- ROADMAP.md: Phase 8 marked Complete
- REQUIREMENTS.md: CLEAN-01 marked complete
2026-03-27 08:55:38 +01:00

4.2 KiB

Requirements: NetSynth

Defined: 2026-03-27 Core Value: Network traffic patterns are instantly recognizable as distinct sounds — a ping sounds different from HTTPS noise, which sounds different from a port scan.

v1.2 Requirements

Requirements for extended protocol coverage milestone. Each maps to roadmap phases.

Cleanup

  • CLEAN-01: Remove stale NumLayers constant and hardcoded frequency range test assertions that would block new class additions

Protocol Coverage

  • PROTO-01: Add Mail family protocols: IMAP (143/993), POP3 (110/995), SMTP-submission (587)
  • PROTO-02: Add File Transfer family protocols: FTP (20-21), SMB/CIFS (445), TFTP (69)
  • PROTO-03: Add Remote Access family protocols: RDP (3389), Telnet (23), VNC (5900)
  • PROTO-04: Add Database family protocols: MySQL (3306), PostgreSQL (5432), Redis (6379), MongoDB (27017)
  • PROTO-05: Add Discovery family protocols: mDNS (5353), SSDP/UPnP (1900), SNMP (161-162)
  • PROTO-06: Add VoIP family: SIP (5060/5061)
  • PROTO-07: Add Web family extension: QUIC/HTTP3 (UDP 443)
  • PROTO-08: Add Infrastructure family protocols: LDAP (389/636), Kerberos (88), Syslog (514)
  • PROTO-09: Existing 10 protocol classifications remain unchanged — no regression in rule matching behavior

Frequency Design

  • FREQ-01: All traffic classes (existing + new) are redistributed into group-coherent frequency bands using musical interval ratios (not fixed Hz steps)
  • FREQ-02: Within-family protocols are separated by at least a major second interval (ratio 1.122) to avoid critical band masking
  • FREQ-03: The full frequency allocation table is designed and documented before any FreqConfig code is written
  • FREQ-04: Auto-assign frequency range for user custom classes is updated to avoid collision with new built-in frequencies

Group System

  • GRP-01: Each traffic class belongs to a named group (Infrastructure, Web, Mail, File Transfer, Remote Access, Database, Discovery, VoIP)
  • GRP-02: --print-config output organizes classes by group with section headers
  • GRP-03: Users can define [groups] in TOML config to reassign protocols to different sound families
  • GRP-04: FreqConfig gains a Group field that drives group-aware frequency allocation and config output

Future Requirements

Deferred to later releases.

Dynamic Protocol Detection

  • DYN-01: RTP voice/video payload detection (dynamically negotiated ports — cannot use port-based rules)
  • DYN-02: Application-layer protocol detection via DPI for ambiguous ports

Audio Tuning

  • TUNE-01: User can configure time window duration via --window flag
  • TUNE-02: User can configure output duration when reading pcap files via --duration flag

Out of Scope

Feature Reason
RTP payload detection Dynamically negotiated ports; needs DPI, not port rules
mDNS multicast group join Would require raw socket changes; port 5353 classification is sufficient
Protocol-specific metadata extraction Beyond classification scope; tool sonifies, not inspects
Real-time audio playback File output only — established v1.0 constraint
GUI config editor CLI-only tool; TOML is human-editable

Traceability

Which phases cover which requirements. Updated during roadmap creation.

Requirement Phase Status
CLEAN-01 Phase 8 Complete
FREQ-01 Phase 9 Pending
FREQ-02 Phase 9 Pending
FREQ-03 Phase 9 Pending
FREQ-04 Phase 9 Pending
GRP-01 Phase 9 Pending
GRP-04 Phase 9 Pending
PROTO-01 Phase 10 Pending
PROTO-02 Phase 10 Pending
PROTO-03 Phase 10 Pending
PROTO-04 Phase 10 Pending
PROTO-05 Phase 10 Pending
PROTO-06 Phase 10 Pending
PROTO-07 Phase 10 Pending
PROTO-08 Phase 10 Pending
PROTO-09 Phase 10 Pending
GRP-02 Phase 11 Pending
GRP-03 Phase 11 Pending

Coverage:

  • v1.2 requirements: 18 total
  • Mapped to phases: 18 (complete)
  • Unmapped: 0

Requirements defined: 2026-03-27 Last updated: 2026-03-27 — traceability complete, roadmap phases 8-11 assigned