# Requirements Archive: v1.2 Extended Protocol Coverage **Archived:** 2026-03-27 **Status:** SHIPPED For current requirements, see `.planning/REQUIREMENTS.md`. --- # 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 - [x] **CLEAN-01**: Remove stale `NumLayers` constant and hardcoded frequency range test assertions that would block new class additions ### Protocol Coverage - [x] **PROTO-01**: Add Mail family protocols: IMAP (143/993), POP3 (110/995), SMTP-submission (587) - [x] **PROTO-02**: Add File Transfer family protocols: FTP (20-21), SMB/CIFS (445), TFTP (69) - [x] **PROTO-03**: Add Remote Access family protocols: RDP (3389), Telnet (23), VNC (5900) - [x] **PROTO-04**: Add Database family protocols: MySQL (3306), PostgreSQL (5432), Redis (6379), MongoDB (27017) - [x] **PROTO-05**: Add Discovery family protocols: mDNS (5353), SSDP/UPnP (1900), SNMP (161-162) - [x] **PROTO-06**: Add VoIP family: SIP (5060/5061) - [x] **PROTO-07**: Add Web family extension: QUIC/HTTP3 (UDP 443) - [x] **PROTO-08**: Add Infrastructure family protocols: LDAP (389/636), Kerberos (88), Syslog (514) - [x] **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 - [x] **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) - [x] **GRP-02**: `--print-config` output organizes classes by group with section headers - [x] **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 | Complete | | GRP-01 | Phase 9 | Pending | | GRP-04 | Phase 9 | Pending | | PROTO-01 | Phase 10 | Complete | | PROTO-02 | Phase 10 | Complete | | PROTO-03 | Phase 10 | Complete | | PROTO-04 | Phase 10 | Complete | | PROTO-05 | Phase 10 | Complete | | PROTO-06 | Phase 10 | Complete | | PROTO-07 | Phase 10 | Complete | | PROTO-08 | Phase 10 | Complete | | PROTO-09 | Phase 10 | Complete | | GRP-02 | Phase 11 | Complete | | GRP-03 | Phase 11 | Complete | **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*