# Milestones ## v1.2 Extended Protocol Coverage (Shipped: 2026-03-27) **Phases completed:** 4 phases, 7 plans, 14 tasks **Key accomplishments:** - Removed stale constants and future-proofed test bounds (Nyquist-based validation) to unblock all v1.2 work - Rebalanced all ClassFreqConfigs to major-second ladder in family frequency bands (65-3250 Hz) with Group field on FreqConfig - Added 21 new TrafficClass constants and 30 port-matching rules across 7 protocol families (Mail, File Transfer, Remote Access, Database, Discovery, VoIP, Infrastructure) - Full classification test coverage: 28 new subtests covering all new port/protocol/transport combinations - Added 21 ClassFreqConfigs entries with family-coherent sound design (shared waveform and frequency register per group) - Group-ordered `--print-config` output with section headers and `[groups]` TOML support for user-defined protocol-to-group reassignment --- ## v1.1 Custom Sound Mappings (Shipped: 2026-03-26) **Phases completed:** 3 phases, 6 plans, 3 tasks **Key accomplishments:** - Four waveform types (sine, square, sawtooth, triangle) with bandlimited additive synthesis and decoupled bank injection - TOML config system with auto-discovery, partial override semantics, unknown-key validation, and `--config` flag - User-defined classification rules via `[[rules]]` TOML blocks — prepend before built-ins, first-match-wins - Auto-frequency assignment (FNV-32a hash, 1200-2350 Hz) for custom class names with no sound config - `--print-config` flag outputs full effective config as commented TOML with source annotations - End-to-end config flow: TOML file -> config.Load() -> LoadResult -> synthesis pipeline --- ## v1.0 MVP (Shipped: 2026-03-26) **Phases completed:** 4 phases, 11 plans, 9 tasks **Key accomplishments:** - Config-driven packet classifier with 12 protocol rules (ICMP, DNS, HTTPS, SSH, etc.) and 4 hash-bucketed unknown classes - Live packet capture via go-pcap with privilege detection, non-blocking channel pipeline, and atomic drop counter - Additive synthesis engine: per-class sine oscillators, EMA amplitude smoothing, constant-power stereo panning - MP3 encoding via embedded LAME (go-lame v0.0.9), zero-packet guard, `-o` flag with timestamp default - End-to-end pipeline: capture -> classify -> aggregate -> synthesize -> MP3 with clean Ctrl+C shutdown - BPF filter support (`--filter`) and offline pcap file sonification (`--read`) with timestamp-based windowing ---