Commit Graph
3 Commits
Author SHA1 Message Date
Omar SobhandClaude Opus 4.8 3be44ec215 Merge feat/uno-q-cross-build-deploy: resilience theater UI + cross-build helper
Folds the last unmerged workshop work into main:
- ResiliencePanel — the failure-injection 'theater' UI (cloud outage → on-board
  Qwen live demo) that visualizes the [agents.chaos] (custom.dead → llamacpp)
  failover, plus Module2 integration + api/nodes support.
- build-deploy.sh — one-command aarch64-musl cross-build + adb deploy helper,
  REFRESHED for 0.8.3: adds the web SPA prebuild step and the full feature set
  (hardware, peripheral-rpi, embedded-web, gateway-voice-duplex) + the
  embedded-web/web_dist_dir gotcha.

Config conflict resolved as a union: the branch's custom.dead + [agents.chaos]
demo blocks alongside this session's channels/voice/skills/risk-profile edits.
Verified: tsc clean, web 229 + api 58 tests green.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-16 13:12:01 -07:00
Omar SobhandClaude Opus 4.8 9aaf0645a5 fix(uno-q): grep binary directly in build-deploy verify-gate
`strings "$BIN" | grep -qm1 …` under `set -o pipefail` fails on a MATCH:
grep -q closes the pipe on first hit, `strings` dies with SIGPIPE, and
pipefail propagates the non-zero pipeline status — so the verify-gate
reported "peripheral tools MISSING" on a binary that actually had them.
Grep the binary directly with `grep -qa` (no pipe, no SIGPIPE).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-05 16:20:02 -07:00
Omar SobhandClaude Opus 4.8 5d53149da2 build(uno-q): one-command cross-build + deploy helper for the board
Adds deploy/uno-q/build-deploy.sh: cross-compiles ZeroClaw for the Uno Q
(aarch64) on macOS via cargo-zigbuild and deploys it to the board over
adb as a proper drop-in for /home/arduino/zeroclaw.

Bakes in the two things that bit us:
- `--features hardware` is MANDATORY, else the build silently drops the
  10 Uno Q peripheral tools (GPIO bridge, flash, sysfs_led, camera,
  network, i2cdetect). The script fails fast if the artifact lacks them.
- each adb step runs with `</dev/null` so the shell returns (a trailing
  `setsid … &` otherwise hangs the adb call).

Flow: build (hardware, musl static) → verify tools present → push +
sha-check → stop supervisor + kill daemon → swap (keeps .prev.bak) →
relaunch supervisor → poll :8080/health. Also --build-only and
--rollback. Verified: the hardware cross-build produces a static aarch64
binary with the peripheral+flash tools and the streaming-fallback fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-05 08:41:09 -07:00