Skip to content

Routing Redesign Phase 4 RF Validation Plan

Status: human RF-gated checklist, not sign-off evidence. This note prepares the bench/field campaign for Phase 4.1 and 4.2. It changes no packet layout, firmware behavior, daemon behavior, tests, or hardware defaults.

An agent may keep this plan current, but cannot mark Phase 4 done. The Phase 4 checkboxes in NEXT_PASSES.md stay open until real-radio evidence is recorded in the PR and committed on main.

Before any TX test:

  • Use a reviewed variant from docs/HARDWARE.md, or record the variant header and human review for RF switch topology, TCXO voltage, regulator mode, PA ceiling, and frequency window.
  • Start every board receive-only. Enable tx on only locally, only after an antenna or rated dummy load is attached, and only for the radios named in the test sheet.
  • Keep remote Admin one-way safe: it may force tx.enabled off only. It must not enable TX, raise PA power, retune a region, or bypass lane retune on.
  • Record region/band plan, channel or frequency slot, preset, TX power, antenna or attenuator path, duty-cycle limit, and site authorization.
  • Stop on hot PA, missing antenna/load, wrong TCXO voltage, unexpected RF-switch state, out-of-window emission, or duty-cycle ledger mismatch.
  • At least four chIRpChat radios on the reviewed target: client, router, registered relay, and keyless foreign relay. Six radios are preferred to cover two competing relays and one observer/sniffer.
  • For 4.2 multi-radio timing: either one lrcd router with multiple SX1262 HATs or multiple synchronized single-radio routers that can emulate the planned lane timing without sharing a transceiver.
  • Antennas suitable for the band or rated dummy loads, plus attenuators/shield boxes for repeatable bench geometries.
  • SDR, spectrum analyzer, calibrated packet sniffer, or equivalent observer able to timestamp on-air TX starts and durations. Serial logs alone are not enough for TX-timing sign-off.
  • Time-correlated device logs with telemetry counters (tx.ok, tx.cad_busy, tx.duty_defer, retry/fail counters, and any RACK/ERB counters added by the implementation), plus a note of firmware commit, build flags, and configs.
  • Field kit when testing outside the bench: site map, node positions or attenuation estimates, power source, local legal band plan, and a stop plan.

4.1 Foreign-Relay Collapse-Cost Measurement

Section titled “4.1 Foreign-Relay Collapse-Cost Measurement”

Question: how much airtime is lost when keyless foreign relays can only shorten a pending forward instead of canceling on an authenticated RACK?

Run the same message set through at least these cases:

  1. No RACK or no authenticated suppression baseline.
  2. Registered relay with authenticated RACK cancel.
  3. Keyless foreign relay with shorten-only suppression.
  4. Mixed registered and keyless relays in the same collision domain.

Measure for each topology, preset, and geometry:

  • Logical messages attempted, delivered, retried, and lost.
  • Physical TX count per logical message, separated by client, router, registered relay, and keyless relay.
  • Extra relay TX count and extra airtime versus registered-relay RACK cancel.
  • First-router-delivery latency and final-delivery latency percentiles.
  • RACK overhear rate, cancel count, shorten-only count, and must-fire deadline misses, if those counters exist.
  • CAD-busy, duty-defer, and retry/fail counters during the run.

Pass/fail evidence:

  • Pass means the cost of keyless shorten-only behavior is quantified with raw logs and a summary table, and the PR states whether the residual is acceptable for Phase 4 or requires a follow-up such as registered-relay incentives, different default windows, or a topology warning.
  • Fail means the data is missing, the geometry is not repeatable enough to compare cases, shorten-only violates the must-fire deadline, duty-cycle/CAD behavior diverges from telemetry, or the PR cannot state a decision.

Question: does ERB/RACK contention timing behave on real radios while respecting CAD, duty-cycle, asymmetric return, and the receive-only/retune gates?

Run at least:

  1. Bench contention: two or more relays hear the same uplink with different SNR or attenuation and should choose ordered windows.
  2. RACK timing: router emits RACK, registered relays cancel, keyless relays only shorten, and all behavior remains inside T.
  3. CAD/duty interaction: introduce controlled channel busy periods and verify backoff/defer counters match observed TX.
  4. Asymmetric return: router can use a relay only after the approved observed delivery event; TRAIL-only or first-contact data must not pin RELAY_VIA.
  5. Multi-radio bench/field: verify anchor availability while non-anchor lane or burst timing is active, with one radio per lane where applicable.

Measure:

  • On-air TX start time, duration, preset, and frequency for every observed ERB/RACK/data frame.
  • Computed contention window, selected jitter slot, scheduled fire time, actual fire time, and reason for cancel/shorten/defer.
  • CAD result immediately before TX and any randomized busy backoff.
  • Duty-cycle token balance before/after TX and every defer.
  • RD mode transitions and the recorded observed-delivery event that admitted a relay, when return-path behavior is under test.
  • Anchor-lane beacon/listen availability during multi-radio or retune tests.

Pass/fail evidence:

  • Pass means observed on-air timing stays within the configured contention, CAD/backoff, and duty-cycle bounds; registered and keyless suppression follow Rule A; return-path admission follows the observed-delivery gate; and the PR records a human RF sign-off naming the hardware rule honored.
  • Fail means any TX bypasses local enablement, antenna/load checks, CAD, duty-cycle accounting, frequency-window limits, lane retune on, or the observed-delivery gate, or if on-air timestamps cannot be reconciled with logs.

Copy this into the validation PR or into a committed evidence note under this directory. The Phase 4 checkbox may be marked done only after the filled record is present on main.

Phase 4 item: 4.1 / 4.2
Human RF signer:
Date:
Repo commit(s):
Firmware build flags:
Boards and variants:
Region / band plan / frequency slots:
TX power and antenna/load/attenuator path:
Site or bench geometry:
Equipment used for independent on-air timing:
Safety checks passed:
Test cases run:
Metrics summary:
Raw evidence paths or PR attachments:
Failures or anomalies:
Decision:
Follow-up required before implementation:
NEXT_PASSES.md checkbox changed: yes/no