Add `plugins/ruview` — an end-to-end toolkit for working with RuView (WiFi-DensePose) from Claude Code, mirrored as Codex prompts. Marketplace: `plugins/.claude-plugin/marketplace.json` (one plugin, `ruview`). Skills (9): ruview-quickstart, ruview-hardware-setup, ruview-configure, ruview-applications, ruview-model-training, ruview-advanced-sensing, ruview-cli-api, ruview-mmwave, ruview-verify — shell-first (cargo / python / idf.py / docker / node), no claude-flow MCP dependency. Commands (7): /ruview-start, /ruview-flash, /ruview-provision, /ruview-app, /ruview-train, /ruview-advanced, /ruview-verify. Agents (3): ruview-onboarding-guide, ruview-config-engineer, ruview-training-engineer. Codex mirror: codex/AGENTS.md + codex/README.md + codex/prompts/*.md (full command parity, enforced by scripts/smoke.sh). Docs: docs/adrs/0001-ruview-plugin-contract.md (Proposed). Verification: scripts/smoke.sh (13 structural checks). Provisioning docs reflect the full `provision.py` flag set (TDM mesh, edge tiers, vitals, hop channels, Cognitum Seed, swarm intervals) and the issue #391 NVS-namespace-replace gotcha. Verified: `claude plugin validate` (plugin + marketplace), loads via `claude --plugin-dir`, smoke 13/13, and confirmed against an attached ESP32-S3 on COM8 running the RuView CSI firmware (live adaptive_ctrl + csi_collector serial output). Co-Authored-By: claude-flow <ruv@ruv.net>
1.8 KiB
/ruview-verify — run the RuView trust pipeline
Verify a RuView build. Scope: $ARGUMENTS (one of tests, proof, bundle, all; default all).
- tests —
cd v2 && cargo test --workspace --no-default-features→ must be 1,400+ passed, 0 failed (~2 min). Single-crate:cargo test -p wifi-densepose-signal --no-default-features, etc. - proof —
cd .. && python archive/v1/data/proof/verify.py→ must printVERDICT: PASS. If a hash mismatch from a legitimate numpy/scipy bump:python archive/v1/data/proof/verify.py --generate-hash, then re-run. Optional:cd archive/v1 && python -m pytest tests/ -x -q. - bundle —
bash scripts/generate-witness-bundle.shproducesdist/witness-bundle-ADR028-<sha>.tar.gz(WITNESS-LOG-028.md, ADR-028 audit, proof, rust test log, firmware hash manifest, crate versions, VERIFY.sh). Thencd dist/witness-bundle-ADR028-*/ && bash VERIFY.sh→ must be 7/7 PASS. - all — do 1→3 in order.
If this follows a code change, walk the pre-merge checklist from CLAUDE.md: Rust tests pass; Python proof passes; README updated if scope changed; CLAUDE.md updated if scope changed; CHANGELOG [Unreleased] entry; docs/user-guide.md updated if new data sources/CLI flags/setup; ADR count bumped in README if a new ADR added; witness bundle regenerated if tests/proof hash changed; Docker image rebuilt only if Dockerfile/deps/runtime changed; crate publishing only if a published crate's public API changed (publish in dependency order — see CLAUDE.md); .gitignore updated for new artifacts; security review for new hardware/network-boundary modules.
For security-related changes also run npx @claude-flow/cli@latest security scan. QEMU firmware CI (ADR-061): local helpers scripts/qemu-esp32s3-test.sh, qemu-mesh-test.sh, qemu-chaos-test.sh, install-qemu.sh.