Files
yoloyolo/.planning/milestones/v1.2-phases/09-frequency-design-and-group-architecture/09-DISCUSSION-LOG.md
T

85 lines
3.2 KiB
Markdown
Raw Normal View History

2026-03-27 13:45:32 +01:00
# Phase 9: Frequency Design and Group Architecture - Discussion Log
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
**Date:** 2026-03-27
**Phase:** 09-frequency-design-and-group-architecture
**Areas discussed:** Frequency band layout, Auto-assign range update, Group field design, Waveform-per-family strategy
---
## Frequency Band Layout
| Option | Description | Selected |
|--------|-------------|----------|
| Freeze existing | Keep all 14 current frequencies untouched. New protocols placed above 1047 Hz. | |
| Rebalance all into families | Move existing protocols into their logical family bands. Cleaner design but changes existing Hz values. | ✓ |
| Hybrid — freeze knowns, rebalance unknowns | Keep 10 known protocols frozen, move 4 unknown buckets higher. | |
**User's choice:** Rebalance all into families
**Notes:** User chose full rebalance despite the risk of breaking v1.1 user TOML configs with explicit Hz overrides. Clean family organization takes priority.
### Follow-up: Frequency Range
| Option | Description | Selected |
|--------|-------------|----------|
| 60-2000 Hz | Comfortable low-mid range. Families get ~1 octave each. | ✓ |
| 60-4000 Hz (wide spread) | More room but higher frequencies can sound thin. | |
| 100-3000 Hz (mid-focused) | Avoids bass extremes, good speaker compatibility. | |
**User's choice:** 60-2000 Hz
---
## Auto-Assign Range Update
| Option | Description | Selected |
|--------|-------------|----------|
| 2500-4000 Hz | Clean gap above built-ins. Custom classes sound distinctly higher. | ✓ |
| 2100-3500 Hz (tight gap) | Starts just above ceiling, risk of perceptual blending. | |
| 3000-5000 Hz (far above) | Maximum separation but can sound shrill. | |
**User's choice:** 2500-4000 Hz
**Notes:** 50 Hz steps across the range, matching the existing step algorithm.
---
## Group Field Design
| Option | Description | Selected |
|--------|-------------|----------|
| Simple string | Group string field. Easy to extend, no code changes for new groups. | ✓ |
| Typed enum (GroupType int) | Go const iota enum. Compile-time safety but rigid. | |
| String with validation | String with known-groups list. Catches typos but more complex. | |
**User's choice:** Simple string
**Notes:** Values: Infrastructure, Web, Mail, File Transfer, Remote Access, Database, Discovery, VoIP, Unknown.
---
## Waveform-per-Family Strategy
| Option | Description | Selected |
|--------|-------------|----------|
| One waveform per family | Each family shares a waveform type for timbral coherence. | ✓ |
| Mix waveforms within families | Each protocol picks its own waveform. More variety, less family identity. | |
| You decide | Claude picks best assignment. | |
**User's choice:** One waveform per family
**Notes:** All 4 waveform types used across 8 families. Families exceeding 4 groups share waveforms.
---
## Claude's Discretion
- Specific Hz values for each class within family bands
- Waveform-to-family mapping
- Pan position assignments
- Family band boundaries within 60-2000 Hz
- Harmonic definitions (use WaveformPresetHarmonics)
## Deferred Ideas
None — discussion stayed within phase scope.