fix(02): revise plans based on checker feedback

This commit is contained in:
2026-03-26 11:44:32 +01:00
parent 08f1a87a54
commit 6cbf0366da
4 changed files with 115 additions and 7 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ A Go CLI tool that captures live network traffic on an interface, clusters and c
| Library | Version | Purpose | When to Use |
|---------|---------|---------|-------------|
| `github.com/muesli/kmeans` | v0.3.1 | K-means clustering for unrecognized traffic patterns | Use to auto-cluster packets that don't match known protocol rules. Feed feature vectors: [port, protocol_num, packet_size_bin, direction]. Last release July 2022 but mathematically stable; the algorithm doesn't change. Alternatively, implement a simple incremental classifier directly (see Architecture notes below). |
| `github.com/go-audio/wav` | latest | WAV file I/O as intermediate format | Use to write synthesized PCM as WAV before MP3 encoding pass. "Battle tested" per maintainer. Simplifies the PCM → encoder pipeline: synthesize float64 samples → write WAV → re-read as PCM → LAME encode. |
| `github.com/go-audio/wav` | latest | WAV file I/O as intermediate format | **Optional.** Originally recommended for PCM intermediate buffering, but Phase 2 research found that go-audio/wav requires `io.WriteSeeker` (which `bytes.Buffer` does not satisfy) and adds unnecessary complexity. The simpler approach is writing interleaved int16 PCM bytes directly to go-lame's `LameWriter.Write()`. Skip unless a WAV debug output feature is needed. Decision made under CONTEXT.md Claude's Discretion grant for "WAV intermediate format usage." |
| `golang.org/x/sys/unix` | stdlib | Raw socket / CAP_NET_RAW privilege checks | Use for detecting if the process has required privileges and for signaling (SIGINT for clean shutdown). Part of Go extended stdlib — no external version pinning needed. |
### Development Tools
| Tool | Purpose | Notes |