chore: archive v1.2 milestone — Extended Protocol Coverage

35 traffic classes across 9 protocol families shipped. Archives
ROADMAP, REQUIREMENTS, and phase directories to milestones/v1.2-*.
Updates README with new protocol families, sound design table,
and [groups] TOML config documentation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 16:48:53 +01:00
co-authored by Claude Opus 4.6
parent 0a4d48c9c1
commit 494385b528
42 changed files with 290 additions and 166 deletions
+25 -18
View File
@@ -10,11 +10,11 @@ Network traffic patterns are instantly recognizable as distinct sounds — a pin
## Current State
**v1.2 complete.** Phase 11 (Synthesis and Config Layer) complete 2026-03-27 — all 35 traffic classes have ClassFreqConfigs entries with family-coherent sound design. --print-config outputs classes grouped by family with section headers. Users can reassign protocols to different sound families via [groups] TOML config. Full test suite green. ~6,000 lines of Go across 7 packages.
**v1.2 shipped.** 35 built-in traffic classes across 9 protocol families (Infrastructure, Web, Mail, Remote Access, File Transfer, Database, Discovery, VoIP, Unknown). Major-second frequency ladder (65-3250 Hz) with family-coherent sound design. Group-ordered `--print-config` with section headers. `[groups]` TOML config for reassigning protocols to different sound families. ~6,000 lines of Go across 7 packages, full test suite green.
Tech stack: gopacket/gopacket v1.5.0, packetcap/go-pcap (pure Go capture), sjzar/go-lame v0.0.9 (embedded LAME), spf13/cobra v1.10.2, BurntSushi/toml v1.6.0.
All 16 v1.0 requirements + 11 v1.1 requirements + CLEAN-01 validated. Full pipeline with customizable sound mappings: capture -> classify -> aggregate -> synthesize -> MP3.
All v1.0 + v1.1 + v1.2 requirements validated (45 total). Full pipeline: capture -> classify -> aggregate -> synthesize -> MP3.
## Requirements
@@ -44,9 +44,19 @@ All 16 v1.0 requirements + 11 v1.1 requirements + CLEAN-01 validated. Full pipel
- Auto-frequency assignment for custom class names (no silent gaps)
- `--print-config` outputs effective config as commented TOML
### Validated (v1.2)
- Removed stale constants and future-proofed test bounds for extensibility
- 21 new protocol classifications: Mail (IMAP, POP3, SMTP-sub), File Transfer (FTP, SMB, TFTP), Remote Access (RDP, Telnet, VNC), Database (MySQL, PostgreSQL, Redis, MongoDB), Discovery (mDNS, SSDP, SNMP), VoIP (SIP), Web (QUIC/HTTP3), Infrastructure (LDAP, Kerberos, Syslog)
- No regression in existing 14 protocol classifications
- Major-second frequency ladder with family-coherent waveforms and group field on FreqConfig
- Auto-assign frequency range moved to 2500-4000 Hz (collision-free with built-ins)
- Group-ordered `--print-config` output with section headers
- `[groups]` TOML config for protocol-to-group reassignment
### Active
(See REQUIREMENTS.md for v1.2 requirements)
(No active requirements — planning next milestone)
### Out of Scope
@@ -61,8 +71,8 @@ All 16 v1.0 requirements + 11 v1.1 requirements + CLEAN-01 validated. Full pipel
- Packet capture requires root/CAP_NET_RAW on Linux
- Pure Go capture layer (no libpcap dependency)
- MP3 encoding embeds LAME C source (no system library needed)
- 35 built-in traffic classes: 10 original protocols + 21 new protocol families + 4 hash-bucketed unknowns (extensible via custom rules)
- TOML config with partial overrides, unknown-key validation, auto-discovery
- 35 built-in traffic classes across 9 families: Infrastructure, Web, Mail, Remote Access, File Transfer, Database, Discovery, VoIP, Unknown (extensible via custom rules)
- TOML config with partial overrides, unknown-key validation, auto-discovery, and `[groups]` protocol-to-group reassignment
## Constraints
@@ -83,6 +93,8 @@ All 16 v1.0 requirements + 11 v1.1 requirements + CLEAN-01 validated. Full pipel
| go-lame (embedded C) over shine-mp3 | Better quality, smaller files, acceptable CGo tradeoff | Good |
| Hand-rolled synthesis over audio libraries | 20 lines of oscillator code, no unnecessary dependencies | Good |
| Hash-bucketed unknowns over k-means | Deterministic, zero-config, sufficient for v1 audio distinction | Good |
| Major-second frequency ladder | Musical interval spacing prevents critical band masking between family members | Good |
| Group field as string (not enum) | Extensible for new family names without code changes | Good |
| Ordered []Rule classifier over switch | Configurable, extensible, first-match-wins semantics | Good |
| 500ms window duration | Balances temporal resolution against snapshot frequency for synthesis | Good |
| BurntSushi/toml over manual parsing | Industry-standard Go TOML library, Undecoded() catches typos | Good |
@@ -92,20 +104,15 @@ All 16 v1.0 requirements + 11 v1.1 requirements + CLEAN-01 validated. Full pipel
| LoadResult struct over tuple return | Clean single return value, extensible for future fields | Good |
| --print-config as flag (not subcommand) | Consistent with --list-interfaces pattern, simpler CLI surface | Good |
## Current Milestone: v1.2 Extended Protocol Coverage
**Goal:** Expand traffic classification with grouped protocol families that share recognizable sound signatures
**Target features:**
- Research common network protocols and identify missing ones beyond the current 10
- Group related protocols into families (Mail, Web, Remote Access, Database, Discovery, File Transfer, VoIP)
- Within-group sound design: shared base frequency, different waveforms or slight detuning
- Frequency rebalancing to accommodate new classes without overcrowding the spectrum
- New classification rules for all identified protocols
- Updated --print-config output reflecting groups
## Shipped Milestones
<details>
<summary>v1.2 Extended Protocol Coverage (shipped 2026-03-27)</summary>
35 built-in traffic classes across 9 protocol families with major-second frequency ladder, group-ordered print-config, and [groups] TOML reassignment.
</details>
<details>
<summary>v1.1 Custom Sound Mappings (shipped 2026-03-26)</summary>
@@ -139,4 +146,4 @@ This document evolves at phase transitions and milestone boundaries.
4. Update Context with current state
---
*Last updated: 2026-03-27 after Phase 11 completion*
*Last updated: 2026-03-27 after v1.2 milestone*