diff --git a/docs/superpowers/plans/2026-06-12-record-play-csharp-probe.md b/docs/superpowers/plans/2026-06-12-record-play-csharp-probe.md index 23f857d..9da0a43 100644 --- a/docs/superpowers/plans/2026-06-12-record-play-csharp-probe.md +++ b/docs/superpowers/plans/2026-06-12-record-play-csharp-probe.md @@ -108,11 +108,13 @@ Expected: `Probe` (the binary) is present. `libportaudio.so*` may or may not be - [ ] **Step 5: Push the spike to the Pi and run it** ```sh -sshpass -p 'assistant' rsync -az --delete /tmp/probe-cs-out/ \ - pi@192.168.50.115:~/probe-cs/ -sshpass -p 'assistant' ssh pi@192.168.50.115 'cd ~/probe-cs && ./Probe' +sshpass -p 'assistant' ssh pi@192.168.50.115 'rm -rf ~/probe-cs && mkdir ~/probe-cs' +sshpass -p 'assistant' scp -r /tmp/probe-cs-out/. pi@192.168.50.115:~/probe-cs/ +sshpass -p 'assistant' ssh pi@192.168.50.115 'cd ~/probe-cs && chmod +x Probe && ./Probe' ``` +(We use `scp -r` instead of `rsync` because the build sandbox does not have rsync installed. The remote `rm -rf` + `mkdir` gives us the `--delete` semantics we want.) + Expected output: PortAudio version string + a device table that includes at least one entry whose name contains `USB` (the Anhui LISTENAI USB Speaker Phone — exposed as ALSA card 3 per `findings.md`). If you see `dlopen` failures for `libportaudio`, install it on the Pi: `sshpass -p 'assistant' ssh pi@192.168.50.115 'sudo apt-get install -y libportaudio2'` (the prototype `bin/bootstrap` already does this, but the Pi may have been wiped). - [ ] **Step 6: Commit** @@ -150,15 +152,19 @@ dotnet publish tests/01-record-play-cs \ -c Release -r linux-arm64 --self-contained \ -o "$PUBLISH_DIR" -echo ">> rsync to $PI_USER@$PI_HOST:~/probe-cs/" -sshpass -p "$PI_PASS" rsync -az --delete \ - "$PUBLISH_DIR"/ "$PI_USER@$PI_HOST:~/probe-cs/" +echo ">> scp to $PI_USER@$PI_HOST:~/probe-cs/ (wipe-and-replace)" +sshpass -p "$PI_PASS" ssh -o StrictHostKeyChecking=accept-new \ + "$PI_USER@$PI_HOST" 'rm -rf ~/probe-cs && mkdir ~/probe-cs' +sshpass -p "$PI_PASS" scp -r "$PUBLISH_DIR/." \ + "$PI_USER@$PI_HOST:~/probe-cs/" echo ">> ssh + run on Pi" sshpass -p "$PI_PASS" ssh -o StrictHostKeyChecking=accept-new \ - "$PI_USER@$PI_HOST" 'cd ~/probe-cs && ./Probe' + "$PI_USER@$PI_HOST" 'cd ~/probe-cs && chmod +x Probe && ./Probe' ``` +(Using `scp -r` rather than `rsync` because the build sandbox does not have rsync installed. The remote `rm -rf` + `mkdir` gives us the `--delete` semantics we want.) + - [ ] **Step 2: Mark it executable** ```sh