Adds 'stepper' and 'stepper_status' to the risk profile allowed_tools +
auto_approve so the cloud agent can drive the linear actuator within its
calibrated soft limits.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Adds the `count N` command to the host matrix-relay, allowlists + auto-approves
matrix_count for the default agent, and steers the led-matrix skill to use
matrix_count for "count to N once a second" instead of flashing a sketch (which
fails in the App Lab container). Pairs with the zeroclaw sketch/tool changes.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
A tokenless [channels.telegram.default] with enabled=true starts the Telegram
channel anyway; its getUpdates startup probe fails every 5s ("Startup probe:
API error : ; retrying in 5s") and that WARN leaks into the Module 2 chat via
the node activity feed. Ship enabled=false; the setup wizard flips it on with a
real bot_token when a team opts in (api/src/nodes.ts configureTelegram).
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Close the last onboarding gap: one shareable App Lab app a student imports
and Runs, no adb / no host install.
- package-onboard-app.sh: assemble a self-contained bundle — ZeroClaw binary
(matrix_text + i2c_scan), single-agent config, skills, responder sketch, and
the BAKED cloud token. Ships without .secret_key (each board mints its own)
or a team Telegram token; dist/ is gitignored.
- onboard-app/config.toml: the canonical packaged config (proven anthropic.max
single 'default' agent, matrix + i2c_scan allowlisted, Telegram-ready,
secrets stripped).
- ONBOARDING.md: the full flow — instructor packages once, student imports +
Runs, then the wizard. Notes APESS_URL (mDNS/per-team) + LAN reachability.
Validated on-hardware: a freshly-imported bundle mints its key, boots the
cloud agent, and runs the matrix + i2c_scan prompts in-container.
Co-Authored-By: Claude Opus 4.8 <[email protected]>