Add RX laptop handoff workflow

This commit is contained in:
LittleSam129
2026-09-18 12:20:15 +03:00
parent 1ff8ccf27e
commit 8017849e24
2 changed files with 98 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
This file is the authoritative current task for the RX laptop.
The RX assistant must read RX_NODE_STATE.md first,
then execute this file.
If chat history conflicts with these files and current Git HEAD,
stop and report the conflict.
# Current RX task
TASK = VERIFY RX NODE SOFTWARE PREFLIGHT
1. From the laptop project path in RX_NODE_STATE.md, record `git status --short`, `git branch --show-current`, and `git rev-parse HEAD`. Confirm the branch is `video-development`. If the checkout is dirty or the branch is different, stop and report it. Run `git pull origin video-development`; if the pull fails or reports a conflict, stop and report it. Record the resulting HEAD. The HEAD in RX_NODE_STATE.md is the baseline before this handoff commit.
2. Check `data/raw/video001/udacity_project_video.mp4` with `Get-FileHash -Algorithm SHA256`. Expected SHA256: `651949922042c223375d40bf8929def97dbb62c6ade651d1f5b08eea47127d5f`. If the file is absent or the hash differs, report it; do not substitute another file or run the video gate.
3. Only if the SHA256 matches, run the complete `python -B -X utf8 tools/video_gate.py`. Record its result.
4. Repeat the software-only offline RF-001 round trip: generate 100 packets, write IQ to a new local directory, decode that IQ through the receiver, and require 100 CRC-valid and 100 exact packets. Follow `docs/rf/RF_001.md` for the `qpsk_rf_tx.py` dry run and `qpsk_rf_rx.py` file receiver commands. Use new output paths so prior results are not overwritten. Preserve the full stdout and JSON report. This step does not access SDR hardware or authorize RF TX.
5. Run the configured checks and report each result separately: `python -B -m pytest tests/ -q`; the targeted Ruff check over `STATIC_PATHS` defined in `tools/video_gate.py` (the same check run by the video gate); `python -B -m pyright --project pyrightconfig.json`; `git diff --check`. If the video gate did not run, run the targeted Ruff check separately.
6. Run `hackrf_info` and record its full output. This is identification only.
7. Do not run RF TX, continuous RX, `hackrf_transfer`, firmware or CPLD updates, Zadig, USB driver modifications, commit, or push. Do not add large raw IQ or video files to Git.
8. Finish with exactly these fields, using PASS, FAIL, NOT_RUN, or an observed value as appropriate. Set readiness to YES only if all required checks pass, the video fixture hash matches, offline RF-001 is 100/100 exact, and `hackrf_info` identifies the expected device. Otherwise set it to NO and state the cause.
TASK =
VERIFY RX NODE SOFTWARE PREFLIGHT
BRANCH =
HEAD =
VIDEO FIXTURE =
VIDEO FIXTURE SHA256 =
VIDEO GATE =
PYTEST =
RUFF =
PYRIGHT =
GIT DIFF CHECK =
OFFLINE RF-001 =
HACKRF INFO =
RX NODE READY FOR RX-ONLY HARDWARE TEST =
YES / NO
RF TX =
0
STOP.

View File

@@ -0,0 +1,47 @@
# RX node state
ROLE =
RX node for SDR_Rover_Video
LAPTOP PROJECT PATH =
C:\Users\Professional\Documents\Codex\SDR_Rover_Video
BRANCH =
video-development
EXPECTED CURRENT HEAD =
1ff8ccf27ec81b3b06aeb8af12793d1516a67a16
This HEAD is the baseline before the handoff commit. Record the new HEAD after pulling the branch.
HARDWARE =
Auron HackRF Plus
hackrf_info identifies device as =
HackRF One
PYTHON =
3.13.0 in .venv
KNOWN SOFTWARE STATUS =
offline RF-001: 100/100 exact packets
pip check: PASS
ruff targeted paths: PASS
pyright: PASS
These are previously reported results. Verify the current laptop state in NEXT_RX_TASK.md.
ROLE POLICY =
The laptop is primarily the RX node. The main PC owns development and pushes video-development. The RX laptop pulls the branch and executes the current task.
DO NOT WITHOUT EXPLICIT TASK AUTHORIZATION:
- RF TX
- firmware update
- CPLD update
- hackrf_spiflash
- Zadig
- USB driver changes
- commit to video-development
- push to video-development
Large raw IQ and video files must not be added to Git unless explicitly required.