Files
yoloyolo/.planning/MILESTONES.md
T

32 lines
1.5 KiB
Markdown
Raw Normal View History

2026-03-26 15:23:04 +01:00
# 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
---
2026-03-26 15:23:04 +01:00
## 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
---