Archive roadmap and requirements to milestones/, update PROJECT.md with shipped state, collapse ROADMAP.md, update retrospective. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Requirements Archive: v1.1 Custom Sound Mappings
Archived: 2026-03-26 Status: SHIPPED
For current requirements, see .planning/REQUIREMENTS.md.
Requirements: NetSynth
Defined: 2026-03-26 Core Value: Network traffic patterns are instantly recognizable as distinct sounds — a ping sounds different from HTTPS noise, which sounds different from a port scan.
v1.1 Requirements
Requirements for custom sound mappings milestone. Each maps to roadmap phases.
Config Loading
- CFG-01: User can create a TOML config file that overrides default sound mappings
- CFG-02: Tool auto-discovers config from
./netsynth.tomlor~/.config/netsynth/config.toml(silent if absent) - CFG-03: User can specify an explicit config path via
--configflag (error if file missing) - CFG-04: User can override individual values without replicating the entire default config (partial override)
- CFG-05: Unknown keys in config file produce a clear error with the typo'd key name
- CFG-06: User can run
netsynth --print-configto see the effective config as commented TOML
Waveforms
- WAVE-01: User can set waveform type per traffic class (sine, square, sawtooth, triangle)
- WAVE-02: Non-sine waveforms use bandlimited additive synthesis (no aliasing artifacts)
Custom Rules
- RULE-01: User can define custom classification rules in TOML (match by port and/or protocol, assign class name and sound)
- RULE-02: User-defined rules take priority over built-in rules (prepend before defaults)
- RULE-03: User-defined class names automatically get a synthesis layer (no silent gaps)
Future Requirements
Deferred to later releases.
Audio Tuning
- TUNE-01: User can configure time window duration via
--windowflag - TUNE-02: User can configure output duration when reading pcap files via
--durationflag
Distribution
- DIST-01: Single static binary with no runtime dependencies
Out of Scope
| Feature | Reason |
|---|---|
| Stereo position configuration | Keeps v1.1 scope focused; add in future if requested |
| Real-time audio playback | File output only — established v1.0 constraint |
| GUI config editor | CLI-only tool; TOML is human-editable |
| JSON/YAML config format | TOML chosen for readability; one format keeps it simple |
| Config hot-reload | Non-interactive tool; config read once at startup |
Traceability
Which phases cover which requirements. Updated during roadmap creation.
| Requirement | Phase | Status |
|---|---|---|
| CFG-01 | Phase 6 | Complete |
| CFG-02 | Phase 6 | Complete |
| CFG-03 | Phase 6 | Complete |
| CFG-04 | Phase 6 | Complete |
| CFG-05 | Phase 6 | Complete |
| CFG-06 | Phase 7 | Complete |
| WAVE-01 | Phase 5 | Complete |
| WAVE-02 | Phase 5 | Complete |
| RULE-01 | Phase 7 | Complete |
| RULE-02 | Phase 7 | Complete |
| RULE-03 | Phase 7 | Complete |
Coverage:
- v1.1 requirements: 11 total
- Mapped to phases: 11
- Unmapped: 0
Requirements defined: 2026-03-26 Last updated: 2026-03-26 after roadmap creation (traceability complete)