2026-03-27 16:48:53 +01:00
# Requirements Archive: v1.2 Extended Protocol Coverage
**Archived:** 2026-03-27
**Status:** SHIPPED
For current requirements, see `.planning/REQUIREMENTS.md` .
---
2026-03-27 08:29:46 +01:00
# 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
2026-03-27 08:55:38 +01:00
- [x] **CLEAN-01** : Remove stale `NumLayers` constant and hardcoded frequency range test assertions that would block new class additions
2026-03-27 08:29:46 +01:00
### Protocol Coverage
2026-03-27 15:56:01 +01:00
- [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)
2026-03-27 16:00:10 +01:00
- [x] **PROTO-09** : Existing 10 protocol classifications remain unchanged — no regression in rule matching behavior
2026-03-27 08:29:46 +01:00
### 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
2026-03-27 14:09:58 +01:00
- [x] **FREQ-04** : Auto-assign frequency range for user custom classes is updated to avoid collision with new built-in frequencies
2026-03-27 08:29:46 +01:00
### Group System
- [ ] **GRP-01** : Each traffic class belongs to a named group (Infrastructure, Web, Mail, File Transfer, Remote Access, Database, Discovery, VoIP)
2026-03-27 16:32:47 +01:00
- [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
2026-03-27 08:29:46 +01:00
- [ ] **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 |
|-------------|-------|--------|
2026-03-27 08:55:38 +01:00
| CLEAN-01 | Phase 8 | Complete |
2026-03-27 08:38:08 +01:00
| FREQ-01 | Phase 9 | Pending |
| FREQ-02 | Phase 9 | Pending |
| FREQ-03 | Phase 9 | Pending |
2026-03-27 14:09:58 +01:00
| FREQ-04 | Phase 9 | Complete |
2026-03-27 08:38:08 +01:00
| GRP-01 | Phase 9 | Pending |
| GRP-04 | Phase 9 | Pending |
2026-03-27 15:56:01 +01:00
| 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 |
2026-03-27 16:00:10 +01:00
| PROTO-09 | Phase 10 | Complete |
2026-03-27 16:32:47 +01:00
| GRP-02 | Phase 11 | Complete |
| GRP-03 | Phase 11 | Complete |
2026-03-27 08:29:46 +01:00
**Coverage:**
- v1.2 requirements: 18 total
2026-03-27 08:38:08 +01:00
- Mapped to phases: 18 (complete)
- Unmapped: 0
2026-03-27 08:29:46 +01:00
---
*Requirements defined: 2026-03-27*
2026-03-27 08:38:08 +01:00
*Last updated: 2026-03-27 — traceability complete, roadmap phases 8-11 assigned*