Files
gurixandClaude Opus 4.6 1230fd1b9d chore: archive v1.0 MVP milestone
Archive roadmap and requirements to milestones/, reorganize ROADMAP.md,
evolve PROJECT.md with shipped state, create retrospective.

4 phases, 11 plans, 16/16 requirements — all complete.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 15:23:04 +01:00

3.9 KiB

Requirements Archive: v1.0 MVP

Archived: 2026-03-26 Status: SHIPPED

For current requirements, see .planning/REQUIREMENTS.md.


Requirements: NetSynth

Defined: 2026-03-24 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 Requirements

Requirements for initial release. Each maps to roadmap phases.

Packet Capture

  • CAPT-01: User can specify network interface via -i flag
  • CAPT-02: User can list available network interfaces via --list-interfaces
  • CAPT-03: Capture runs until user presses Ctrl+C, then gracefully flushes and saves MP3
  • CAPT-04: User sees a clear actionable error message when lacking capture privileges (sudo/CAP_NET_RAW hint)
  • CAPT-05: User can filter captured traffic using BPF syntax via --filter flag
  • CAPT-06: User can sonify a pcap file instead of live traffic via --read flag

Traffic Classification

  • CLAS-01: Known protocols (ICMP, DNS, TCP/443, TCP/other, UDP, SSH) each produce a distinct recognizable sound
  • CLAS-02: Unrecognized traffic is auto-clustered and assigned unique tones automatically
  • CLAS-03: On exit, user sees a summary of packet counts and protocol breakdown (printed to stderr)
  • CLAS-04: User can enable per-window protocol activity log via --verbose flag

Audio Synthesis

  • SYNTH-01: Each traffic class generates a distinct ambient/drone layer (layered sine/harmonic waves)
  • SYNTH-02: Drone layer amplitudes evolve over time windows based on traffic volume per class
  • SYNTH-03: Multiple drone layers are mixed into a single coherent audio stream without distortion

Output

  • OUT-01: User can specify output file path via -o flag (defaults to netsynth-<timestamp>.mp3)
  • OUT-02: Output is encoded as a valid MP3 file
  • OUT-03: Empty captures (zero packets) produce a clear error instead of a corrupt file

v2 Requirements

Deferred to future release. Tracked but not in current roadmap.

Audio Tuning

  • TUNE-01: User can configure time window duration via --window flag
  • TUNE-02: User can configure output duration when reading pcap files via --duration flag
  • TUNE-03: User can customize sound mappings via configuration file

Distribution

  • DIST-01: Single static binary with no runtime dependencies

Out of Scope

Feature Reason
Real-time audio playback Platform audio API complexity triples scope; users can pipe MP3 to mpv/afplay
GUI or web dashboard Negates single-binary CLI value; doubles scope
Rhythmic/percussive output Ambient/drone is the deliberate differentiator
Deep packet inspection Massive complexity; header-level classification sufficient for audio fingerprint
Anomaly detection/alerting Different user job; stick to audio fingerprint
Streaming MP3 output MP3 VBR headers require finalization; buffer-then-encode is correct

Traceability

Which phases cover which requirements. Updated during roadmap creation.

Requirement Phase Status
CAPT-01 Phase 1 Complete
CAPT-02 Phase 1 Complete
CAPT-03 Phase 3 Complete
CAPT-04 Phase 1 Complete
CAPT-05 Phase 4 Complete
CAPT-06 Phase 4 Complete
CLAS-01 Phase 1 Complete
CLAS-02 Phase 3 Complete
CLAS-03 Phase 1 Complete
CLAS-04 Phase 1 Complete
SYNTH-01 Phase 2 Complete
SYNTH-02 Phase 2 Complete
SYNTH-03 Phase 2 Complete
OUT-01 Phase 2 Complete
OUT-02 Phase 2 Complete
OUT-03 Phase 2 Complete

Coverage:

  • v1 requirements: 16 total
  • Mapped to phases: 16
  • Unmapped: 0

Requirements defined: 2026-03-24 Last updated: 2026-03-24 after roadmap creation