sync: auto-sync from HOWARD-HOME at 2026-06-15 23:43:51

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-15 23:43:51
This commit is contained in:
2026-06-15 23:44:00 -07:00
parent e5f07afd90
commit a62bd65be7
4 changed files with 84 additions and 2 deletions

View File

@@ -301,3 +301,33 @@ and fails ("No such file or directory") on Windows. Use `python - "$TMP/x" <<'PY
Coord: collectors+status announce c3ccaa07. Next: wire neighbor-collect redundancy into
optimize-radios.sh; Floor-4 2.4 power-down pilot (still nothing applied to live radios).
---
## Update: 00:05 PT (06-16) — wired neighbor SNR matrix into optimize-radios.sh (disables now data-backed)
Closed the last follow-up: the AP-to-AP SNR matrix now DRIVES optimize-radios.sh disable decisions.
- neighbor-collect.sh: `NBR_JSON=<path>` env now also emits machine-readable adjacency
`{ap:{band:{nbr:snr}}}` (74 APs, ~21KB).
- optimize-radios.sh: `NEIGHBOR_JSON=<path>` env now uses the measured bidirectional SNR overlap
(A hears B AND B hears A, SNR>=NBR_SNR_MIN default 20, any band) as the coverage-adjacency source,
replacing the sparse roam graph. Roam graph remains the fallback when NEIGHBOR_JSON unset.
Workflow:
NBR_JSON=.claude/tmp/cascades-nbr.json bash .../neighbor-collect.sh cascades
NEIGHBOR_JSON=.claude/tmp/cascades-nbr.json bash .../optimize-radios.sh cascades 14 ng
VALIDATED on Cascades 2.4GHz: roam-graph -> POWER-DOWN 74 / DISABLE 0; neighbor-SNR -> POWER-DOWN 65
/ **DISABLE 9** / KEEP 1, est. 621% interference-airtime removed, each disable listing its covering
neighbors (127->128; 229->128; 248->348; 330->128; 445->347/348/247; 428->128; 622->505/615/517;
Kitchen->Memcare TV room; salon->128). The disable capability we concluded was impossible is now
data-backed for any site with a neighbor-collect run.
IMPL NOTE (bug fixed): injecting the full matrix as a JS object literal CRASHED the old mongo shell
(SpiderMonkey GC-during-compile on a ~21KB literal). Fix: precompute bidirectional strong NAME-pairs
in python, inject a compact ';'-joined flat STRING, parse in JS. (Pattern for any large data ->
mongo-shell injection: flat string, not object literal.)
Still gated: apply-radio.sh has NO disable action (power/channel/width only); disables remain a
reviewed, per-zone, live-validated MANUAL step. Coord: wire announce 68cae757.
Remaining open: Floor-4 2.4 power-down pilot (still nothing applied to live radios).