docs(09-02): complete auto-assign range update plan
This commit is contained in:
@@ -28,7 +28,7 @@ Requirements for extended protocol coverage milestone. Each maps to roadmap phas
|
||||
- [ ] **FREQ-01**: All traffic classes (existing + new) are redistributed into group-coherent frequency bands using musical interval ratios (not fixed Hz steps)
|
||||
- [ ] **FREQ-02**: Within-family protocols are separated by at least a major second interval (ratio 1.122) to avoid critical band masking
|
||||
- [ ] **FREQ-03**: The full frequency allocation table is designed and documented before any FreqConfig code is written
|
||||
- [ ] **FREQ-04**: Auto-assign frequency range for user custom classes is updated to avoid collision with new built-in frequencies
|
||||
- [x] **FREQ-04**: Auto-assign frequency range for user custom classes is updated to avoid collision with new built-in frequencies
|
||||
|
||||
### Group System
|
||||
|
||||
@@ -71,7 +71,7 @@ Which phases cover which requirements. Updated during roadmap creation.
|
||||
| FREQ-01 | Phase 9 | Pending |
|
||||
| FREQ-02 | Phase 9 | Pending |
|
||||
| FREQ-03 | Phase 9 | Pending |
|
||||
| FREQ-04 | Phase 9 | Pending |
|
||||
| FREQ-04 | Phase 9 | Complete |
|
||||
| GRP-01 | Phase 9 | Pending |
|
||||
| GRP-04 | Phase 9 | Pending |
|
||||
| PROTO-01 | Phase 10 | Pending |
|
||||
|
||||
@@ -63,10 +63,10 @@ Plans:
|
||||
2. Every within-family pair of frequencies satisfies at least a major second interval (ratio 1.122), verifiable by inspection of the table
|
||||
3. The `autoAssignFreq` base for user-defined custom classes is set above all built-in frequencies, with no collision possible
|
||||
4. `FreqConfig` has a `Group` string field and all existing `ClassFreqConfigs` entries compile with the new struct shape
|
||||
**Plans:** 2 plans
|
||||
**Plans:** 1/2 plans executed
|
||||
Plans:
|
||||
- [ ] 09-01-PLAN.md — Add Group field to FreqConfig, rebalance ClassFreqConfigs to major-second ladder
|
||||
- [ ] 09-02-PLAN.md — Update auto-assign range from [1200,2350] to [2500,4000] Hz
|
||||
- [x] 09-02-PLAN.md — Update auto-assign range from [1200,2350] to [2500,4000] Hz
|
||||
|
||||
### Phase 10: Classification Layer
|
||||
**Goal**: All new protocol families are classified — ~21 new TrafficClass constants exist, AllClasses() covers them, and DefaultRules maps all new ports to their classes
|
||||
@@ -102,6 +102,6 @@ Plans:
|
||||
| 6. Config Package and Sound Overrides | v1.1 | 2/2 | Complete | 2026-03-26 |
|
||||
| 7. Custom Rules and Print-Config | v1.1 | 2/2 | Complete | 2026-03-26 |
|
||||
| 8. Test and Constant Cleanup | v1.2 | 1/1 | Complete | 2026-03-27 |
|
||||
| 9. Frequency Design and Group Architecture | v1.2 | 0/2 | Not started | - |
|
||||
| 9. Frequency Design and Group Architecture | v1.2 | 1/2 | In Progress| |
|
||||
| 10. Classification Layer | v1.2 | 0/? | Not started | - |
|
||||
| 11. Synthesis and Config Layer | v1.2 | 0/? | Not started | - |
|
||||
|
||||
+14
-12
@@ -2,15 +2,15 @@
|
||||
gsd_state_version: 1.0
|
||||
milestone: v1.2
|
||||
milestone_name: Extended Protocol Coverage
|
||||
status: verifying
|
||||
stopped_at: Phase 9 context gathered
|
||||
last_updated: "2026-03-27T12:45:39.811Z"
|
||||
status: executing
|
||||
stopped_at: Completed 09-02-PLAN.md (auto-assign range update)
|
||||
last_updated: "2026-03-27T13:09:48.759Z"
|
||||
last_activity: 2026-03-27
|
||||
progress:
|
||||
total_phases: 4
|
||||
completed_phases: 1
|
||||
total_plans: 1
|
||||
completed_plans: 1
|
||||
total_plans: 3
|
||||
completed_plans: 2
|
||||
percent: 0
|
||||
---
|
||||
|
||||
@@ -21,13 +21,13 @@ progress:
|
||||
See: .planning/PROJECT.md (updated 2026-03-27)
|
||||
|
||||
**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.
|
||||
**Current focus:** Phase 08 — test-and-constant-cleanup
|
||||
**Current focus:** Phase 09 — frequency-design-and-group-architecture
|
||||
|
||||
## Current Position
|
||||
|
||||
Phase: 9
|
||||
Plan: Not started
|
||||
Status: Phase complete — ready for verification
|
||||
Phase: 09 (frequency-design-and-group-architecture) — EXECUTING
|
||||
Plan: 2 of 2
|
||||
Status: Ready to execute
|
||||
Last activity: 2026-03-27
|
||||
|
||||
Progress: [░░░░░░░░░░] 0%
|
||||
@@ -50,6 +50,7 @@ Progress: [░░░░░░░░░░] 0%
|
||||
|
||||
**Recent Trend:** Stable
|
||||
| Phase 08 P01 | 1 | 2 tasks | 2 files |
|
||||
| Phase 09 P02 | 3 | 2 tasks | 2 files |
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
@@ -63,6 +64,7 @@ Progress: [░░░░░░░░░░] 0%
|
||||
- [Phase 07]: LoadResult struct chosen over tuple return for config.Load() — cleaner API contract
|
||||
- [Phase 08]: NumLayers and GainPerLayer deleted — dead code since NewBank computes gain dynamically as 1/N
|
||||
- [Phase 08]: TestFrequenciesInRange now validates against Nyquist (22050 Hz) — any new BaseHz in (0, 22050) is accepted without test surgery
|
||||
- [Phase 09]: autoAssignFreq range moved to [2500, 4000] Hz with numSteps=31 to guarantee no collision with built-in frequencies (max 2449 Hz)
|
||||
|
||||
### Pending Todos
|
||||
|
||||
@@ -75,6 +77,6 @@ Progress: [░░░░░░░░░░] 0%
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-03-27T12:45:39.804Z
|
||||
Stopped at: Phase 9 context gathered
|
||||
Resume file: .planning/phases/09-frequency-design-and-group-architecture/09-CONTEXT.md
|
||||
Last session: 2026-03-27T13:09:48.752Z
|
||||
Stopped at: Completed 09-02-PLAN.md (auto-assign range update)
|
||||
Resume file: None
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
---
|
||||
phase: 09-frequency-design-and-group-architecture
|
||||
plan: "02"
|
||||
subsystem: config
|
||||
tags: [frequency-design, auto-assign, collision-prevention, test-update]
|
||||
dependency_graph:
|
||||
requires: []
|
||||
provides: [updated-autoAssignFreq-range, collision-free-auto-assign]
|
||||
affects: [config/config.go, config/config_test.go]
|
||||
tech_stack:
|
||||
added: []
|
||||
patterns: [FNV-32a hash, deterministic frequency assignment]
|
||||
key_files:
|
||||
created: []
|
||||
modified:
|
||||
- config/config.go
|
||||
- config/config_test.go
|
||||
decisions:
|
||||
- "autoAssignFreq range moved to [2500, 4000] Hz with numSteps=31 (50 Hz steps) to guarantee 51 Hz gap above max built-in frequency of 2449 Hz"
|
||||
- "TestAutoFreqSkipsBuiltins updated to expect 150.0 for HTTPS (coordinated with Plan 01 rebalancing)"
|
||||
metrics:
|
||||
duration: "~3 min"
|
||||
completed: "2026-03-27"
|
||||
tasks_completed: 2
|
||||
files_modified: 2
|
||||
---
|
||||
|
||||
# Phase 9 Plan 2: Auto-Assign Frequency Range Update Summary
|
||||
|
||||
Update autoAssignFreq to use [2500, 4000] Hz with 31 steps of 50 Hz, ensuring no collision with any built-in frequency (max 2449 Hz after Phase 9 Plan 1 rebalancing).
|
||||
|
||||
## What Was Built
|
||||
|
||||
Updated the `autoAssignFreq` function constants and corresponding test assertions so user-defined traffic classes are always assigned frequencies in the [2500, 4000] Hz range, safely above all built-in protocol frequencies.
|
||||
|
||||
## Tasks Completed
|
||||
|
||||
| Task | Name | Commit | Files |
|
||||
|------|------|--------|-------|
|
||||
| 1 | Update autoAssignFreq constants and comment | 8ae1ddc | config/config.go |
|
||||
| 2 | Update config_test.go auto-assign range assertion | dbcbeb3 | config/config_test.go |
|
||||
|
||||
## Changes Made
|
||||
|
||||
### Task 1: config/config.go
|
||||
|
||||
- Changed `baseHz` constant from `1200.0` to `2500.0`
|
||||
- Changed `numSteps` from `uint32(24)` to `uint32(31)` (covers [2500, 4000] in 50 Hz steps: 2500 + 30*50 = 4000)
|
||||
- Updated function comment from `[1200, 2350]` to `[2500, 4000]`
|
||||
- `stepHz = 50.0` unchanged
|
||||
|
||||
### Task 2: config/config_test.go
|
||||
|
||||
- Updated `TestAutoFreqAssignment` comment from `[1200, 2350]` to `[2500, 4000]`
|
||||
- Updated range bounds assertion from `< 1200.0 || > 2350.0` to `< 2500.0 || > 4000.0`
|
||||
- Updated `TestAutoFreqSkipsBuiltins` HTTPS expected value from `175.0` to `150.0` (coordinated with Plan 01 HTTPS rebalancing)
|
||||
|
||||
## Verification Results
|
||||
|
||||
- `go build ./config/...` exits 0
|
||||
- `TestAutoFreqAssignment` passes
|
||||
- `TestAutoFreqDeterministic` passes
|
||||
- `TestAutoFreqSkipsBuiltins` will pass once Plan 01 updates HTTPS BaseHz to 150.0
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None - plan executed exactly as written.
|
||||
|
||||
## Known Stubs
|
||||
|
||||
None.
|
||||
|
||||
## Self-Check: PASSED
|
||||
|
||||
- config/config.go contains `baseHz = 2500.0`: FOUND
|
||||
- config/config.go contains `numSteps = uint32(31)`: FOUND
|
||||
- config/config_test.go contains `cfg.BaseHz < 2500.0 || cfg.BaseHz > 4000.0`: FOUND
|
||||
- Commits 8ae1ddc and dbcbeb3 exist in git log
|
||||
Reference in New Issue
Block a user