chore: archive v1.2 milestone — Extended Protocol Coverage

35 traffic classes across 9 protocol families shipped. Archives
ROADMAP, REQUIREMENTS, and phase directories to milestones/v1.2-*.
Updates README with new protocol families, sound design table,
and [groups] TOML config documentation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 16:48:53 +01:00
co-authored by Claude Opus 4.6
parent 0a4d48c9c1
commit 494385b528
42 changed files with 290 additions and 166 deletions
+44 -7
View File
@@ -74,12 +74,49 @@
- Manual string building beats TOML encoder when you need inline comments/annotations
- Config extension is smooth when the original Load() was designed with clean boundaries
## Milestone: v1.2 — Extended Protocol Coverage
**Shipped:** 2026-03-27
**Phases:** 4 | **Plans:** 7 | **Timeline:** 1 day (2026-03-27)
**LOC:** ~6,000 Go (+1,325 from v1.1) | **Files:** 19 modified
### What Was Built
- Removed stale constants and future-proofed test bounds (Nyquist-based validation)
- Rebalanced all ClassFreqConfigs to major-second ladder in family frequency bands (65-3250 Hz) with Group field
- 21 new TrafficClass constants and 30 port-matching rules across 7 protocol families
- 28 new classification subtests covering all new port/protocol/transport combinations
- 21 ClassFreqConfigs entries with family-coherent sound design
- Group-ordered --print-config with section headers and [groups] TOML reassignment
### What Worked
- Cleanup-first approach (Phase 8) prevented cascading test failures throughout the milestone
- Design-before-code (Phase 9 frequency table locked before any protocol code) avoided retroactive rebalancing
- Strict phase ordering (constants -> rules -> config) kept three-location atomicity tests green
- Musical interval spacing (major second ratio 1.122) produced perceptually distinct yet family-coherent sounds
- Oscillator normalization bug caught and fixed during frequency rebalancing (math.Abs for alternating-sign harmonics)
### What Was Inefficient
- Phase 9 plan 09-01 ROADMAP checkbox wasn't updated after execution — milestone readiness check showed incomplete
- REQUIREMENTS.md traceability wasn't updated for Phase 9 completions (FREQ-01 through GRP-04 still showed Pending)
- STATE.md accumulated merge conflict markers from earlier worktree operations, persisted unnoticed
### Patterns Established
- Group field as string (not enum) on FreqConfig — extensible without code changes
- Major-second ladder pattern for family-band frequency allocation
- groupOrder canonical slice for deterministic section ordering in config output
- rawConfig Groups map for TOML [groups] table parsing
### Key Lessons
- Musical interval ratios are better than fixed Hz steps for frequency allocation — prevents critical band masking
- Group-based config output requires building from effective (post-reassignment) groups, not defaults
- Cleanup phases are high-ROI when they prevent test failures in every subsequent phase
## Cross-Milestone Trends
| Metric | v1.0 | v1.1 |
|--------|------|------|
| Phases | 4 | 3 |
| Plans | 11 | 6 |
| Days | 3 | 1 |
| LOC | 3,254 | 4,675 |
| Avg plan duration | ~8 min | ~5 min |
| Metric | v1.0 | v1.1 | v1.2 |
|--------|------|------|------|
| Phases | 4 | 3 | 4 |
| Plans | 11 | 6 | 7 |
| Days | 3 | 1 | 1 |
| LOC | 3,254 | 4,675 | ~6,000 |
| Avg plan duration | ~8 min | ~5 min | ~4 min |