Files
SDR-Rover/docs/handoff/RF_HANDOFF_CHANNEL_TEST.md
2026-09-21 18:05:28 +03:00

1.6 KiB

TASK_ID = RF_HANDOFF_CHANNEL_TEST_001 TASK_TITLE = Verify the bidirectional Git handoff channel without SDR SOURCE_BRANCH = video-development EXPECTED_HEAD = bc55d0516d REQUIRES_APPROVAL = NO HARDWARE_ACCESS = NO RF_RX = NO RF_TX = NO ALLOW_COMMIT = NO ALLOW_PUSH = RX_RESULT_ONLY RISK_LEVEL = GREEN

Model-free handoff channel test

Run this gate before RF001A_OTA_CAPTURE_003 and while the MAIN watcher is active:

python -B tools/rf_handoff_smoke.py --hold-seconds 7

The script uses the real origin configured in the main RX checkout. It publishes a synthetic READY result to the existing origin/rx-node branch, waits seven seconds, then publishes a synthetic COMPLETE result. Both publications may change only:

docs/handoff/results/RX_RESULT.json
docs/handoff/results/RX_RESULT.md

The MAIN watcher must observe both states and must not request RED approval. Its state file must record both channel_test_ready_digest and channel_test_complete_digest. The final remote state must be CAPTURE_COMPLETE, with rx_ready_for_tx false. A synthetic READY state must not remain active.

The script and watcher do not access SDR hardware, do not run hackrf_transfer and do not authorize any RF transmission.

Required report:

TASK_ID = RF_HANDOFF_CHANNEL_TEST_001
READY PUBLISH = PASS / FAIL
READY REMOTE HEAD =
MAIN WATCHER RECEIVES READY = PASS / FAIL
COMPLETE PUBLISH = PASS / FAIL
COMPLETE REMOTE HEAD =
MAIN WATCHER RECEIVES COMPLETE = PASS / FAIL
FINAL REMOTE STATE = CAPTURE_COMPLETE / OTHER
REAL RX = NOT_RUN
RF TX = 0

If any field fails, do not start the hardware RX task. STOP.