# Milestones ## 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 ---