diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 4f92474..b24ba66 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -20,6 +20,8 @@ All 16 v1 requirements validated. Full pipeline working: capture -> classify -> **Phase 6 complete 2026-03-26:** TOML config system added. Users can override frequency and waveform per traffic class via `netsynth.toml` (auto-discovered or `--config` flag). Partial overrides, unknown-key validation, and fail-fast startup errors. New `config` package with BurntSushi/toml. +**Phase 7 complete 2026-03-26:** User-defined classification rules via `[[rules]]` TOML blocks with port/protocol/class fields. User rules prepend before built-ins (first-match-wins). Auto-frequency assignment (FNV-32a, 1200-2350 Hz) for new class names. `--print-config` flag outputs full effective config as commented TOML with source annotations. + ## Requirements ### Validated (v1.0) @@ -82,11 +84,12 @@ All 16 v1 requirements validated. Full pipeline working: capture -> classify -> **Goal:** Users can customize how traffic sounds via a TOML config file **Target features:** -- Custom frequency per traffic class (override built-in Hz values) -- Custom waveform per class (sine, square, sawtooth, triangle) -- User-defined classification rules with custom sounds -- Auto-discover config from ./netsynth.toml or ~/.config/netsynth/config.toml -- --config flag for explicit config path +- ~~Custom frequency per traffic class (override built-in Hz values)~~ Done (Phase 6) +- ~~Custom waveform per class (sine, square, sawtooth, triangle)~~ Done (Phase 5-6) +- ~~User-defined classification rules with custom sounds~~ Done (Phase 7) +- ~~Auto-discover config from ./netsynth.toml or ~/.config/netsynth/config.toml~~ Done (Phase 6) +- ~~--config flag for explicit config path~~ Done (Phase 6) +- ~~--print-config to inspect effective config~~ Done (Phase 7) ## Evolution @@ -107,4 +110,4 @@ This document evolves at phase transitions and milestone boundaries. 4. Update Context with current state --- -*Last updated: 2026-03-26 after v1.1 milestone start* +*Last updated: 2026-03-26 after Phase 7 completion (v1.1 milestone — all phases complete)*