docs: define milestone v1.2 requirements (18 requirements)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 08:29:46 +01:00
co-authored by Claude Opus 4.6
parent 6b26be825c
commit 47b6e171c4
+96
View File
@@ -0,0 +1,96 @@
# 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 | TBD | Pending |
| PROTO-01 | TBD | Pending |
| PROTO-02 | TBD | Pending |
| PROTO-03 | TBD | Pending |
| PROTO-04 | TBD | Pending |
| PROTO-05 | TBD | Pending |
| PROTO-06 | TBD | Pending |
| PROTO-07 | TBD | Pending |
| PROTO-08 | TBD | Pending |
| PROTO-09 | TBD | Pending |
| FREQ-01 | TBD | Pending |
| FREQ-02 | TBD | Pending |
| FREQ-03 | TBD | Pending |
| FREQ-04 | TBD | Pending |
| GRP-01 | TBD | Pending |
| GRP-02 | TBD | Pending |
| GRP-03 | TBD | Pending |
| GRP-04 | TBD | Pending |
**Coverage:**
- v1.2 requirements: 18 total
- Mapped to phases: 0 (pending roadmap)
- Unmapped: 18
---
*Requirements defined: 2026-03-27*
*Last updated: 2026-03-27*