sync: auto-sync from GURU-5070 at 2026-07-22 14:53:04

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-07-22 14:53:04
This commit is contained in:
2026-07-22 14:53:53 -07:00
parent d9801f5275
commit 72506d16b9
2 changed files with 26 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
---
name: reference_ecosense_wifi
description: EcoSense UOS WiFi site — 4x U7-Mesh topology, wired root, and the remote 5GHz mesh-channel-hop gotcha
metadata:
type: reference
---
EcoSense on the UOS controller (`172.16.3.29`), site_id `6193fb3ff91fdd012516118a`, short `ja3n6cs5`. **4x UniFi U7 Mesh APs** (dual-band WiFi 7, **NO 6GHz radio** — 6E steering is not an option here), ~15 clients, third-party (pfSense) gateway, 2 switches.
**Topology (as of 2026-07-22):**
- **South Office** = WIRED root (the mesh anchor, ~11 clients). Mongo `last_uplink` can be stale-wireless; the LIVE `stat/device uplink.type` is authoritative (`wire`).
- **Eli's Office** = wireless mesh child of South Office (backhaul ~162 Mbps on ch36 / ~108 Mbps on ch149, rssi ~19-24 — a bit marginal).
- **North Office** = came back on a WIRED uplink (was down 98 min during this work) — no longer mesh-dependent.
- **Mobile Park** = weakest link (rssi ~19 / 54-81 Mbps). Went ISOLATED during a channel change and would NOT recover remotely (wireless-isolated = controller can't reach it to restart, and no switch port so no poe-cycle). **Needs an on-site power-cycle.**
**Tuning applied 2026-07-22:**
- 2.4GHz 1/6/11 plan: South Office ch6, Eli's ch11, Mobile Park ch1 (Eli's/South were both co-channel on 11). Safe — 2.4 is NOT the mesh backhaul. South Office 2.4 retry 34%→31%.
- 5GHz mesh moved off congested ch36 (worst channel here: neighbors at 74/75; measured scan showed 149/153 + DFS clean) → **ch149** (non-DFS on purpose; a DFS radar hit would drop mesh backhaul).
**LESSON — remote 5GHz channel hop on a WIRELESS mesh is fragile.** Changing the wired-root's 5GHz channel forces every wireless child to blind-rescan and re-acquire on the new channel. First attempt = OUTAGE: Eli's re-attached then fell off, Mobile Park never re-acquired → rolled back to 36 (rollback auto-saved at `.claude/tmp/apply-rollback-<short>-na-channel.json`). Retry SUCCEEDED only after the destabilizers were out of the mesh (North Office went wired, Mobile Park already isolated). Do wired-root mesh 5GHz hops **with on-site hands**, or fix the weak child's backhaul (wire it) first. See [[reference_unifi_site_manager_api]]; skill = `unifi-wifi`.

View File

@@ -19,6 +19,12 @@ Categories (the `[type]` tag): _(none)_ = skill/command execution failure ·
<!-- Append entries below this line -->
2026-07-22 | GURU-5070 | unifi-wifi/apply-radio | [friction] remote 5GHz channel move on a wireless mesh (wired-root U7-Mesh, EcoSense) dropped both mesh children on 1st attempt (Eli's re-attached then fell off, Mobile Park never re-acquired -> outage, rolled back to 36); succeeded on retry only after the flapping/churning nodes were out of the mesh. Marginal-backhaul children can't blind-rescan+re-acquire a channel-hopped root reliably. Fix: do wired-root mesh 5GHz channel hops with onsite hands, or fix weak backhaul first [ctx: site=EcoSense band=na from=36 to=149 root=South-Office weaklink=Mobile-Park]
2026-07-22 | GURU-5070 | grok | grok review returned no result [ctx: mode=review-files session= stopReason=]
2026-07-22 | GURU-5070 | grok | grok returned no text [ctx: mode=text stopReason=]
2026-07-22 | GURU-5070 | syncro | add_line_item returns {"errors":"Description can't be blank"} when only 'name' is sent - the 'description' field is ALSO required (skill hard-rules only mention name + price_retail). Include description on every add_line_item. No partial line created on the clean validation error. [ctx: ticket=32574 endpoint=add_line_item]
2026-07-22 | Howard-Home | remediation-tool | get-token: AADSTS7000229 — app not consented in tenant [ctx: tenant=65adab75-f1fd-4ef9-b2b4-c24f595393e3 tier=user-manager auth=cert]