wifi-densepose/harness/ruview
rUv 4001e9e178
feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123)
A host-portable RuView agent harness minted via MetaHarness and hardened
per ADR-182. Published as @ruvnet/ruview@0.1.0 (bare `ruview` blocked by
npm's typosquat filter → scoped fallback).

What it does:
- 6 fail-closed `ruview.*` tools (onboard, claim_check, verify,
  node_monitor, calibrate, node_flash) exposed as CLI verbs + a
  dependency-free MCP stdio server.
- The "prove everything" rule made executable: `ruview.claim_check`
  flags untagged accuracy claims and the retracted "100%" framing.
- 5 host-neutral skills (onboard/provision-node/calibrate-room/
  train-pose/verify) + bundled .claude/ config + provenance manifest.

Validated: 17/17 unit tests, live MCP handshake, `ruview.verify` ran the
real verify.py to VERDICT: PASS, clean `npx @ruvnet/ruview` from registry.
Packs to 16.7 kB / 21 files; kernel+host are optionalDependencies so the
operator tools install lightweight.

README: documented as the portable, multi-host companion to the in-repo
plugins/ruview/ Claude Code plugin (not a replacement).
2026-06-17 17:46:31 -04:00
..
.claude feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
.harness feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
bin feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
skills feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
src feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
test feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
CLAUDE.md feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
LICENSE feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
README.md feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00
package.json feat(harness): npx @ruvnet/ruview operator harness + ADR-182 (#1123) 2026-06-17 17:46:31 -04:00

README.md

npx @ruvnet/ruview — RuView WiFi-sensing operator harness

An AI agent harness that knows how to operate RuView (WiFi-DensePose): onboard a newcomer, provision an ESP32 CSI node, calibrate a room, train pose models, and — crucially — refuse to overstate accuracy. Minted from the RuView monorepo via metaharness and hardened per ADR-182.

WiFi sensing infers coarse pose/presence/breathing from Channel State Information. It is not a camera. Every accuracy number this harness emits must be MEASURED against a baseline — that rule is enforced in code (ruview.claim_check).

Quick start

npx @ruvnet/ruview                       # onboard — pick a setup path
npx @ruvnet/ruview claim-check --text "we hit 100% accuracy"   # the honesty guardrail
npx @ruvnet/ruview verify                # run the deterministic proof (VERDICT: PASS)
npx @ruvnet/ruview doctor                # self-check (tools + optional kernel/host)
npx @ruvnet/ruview --help

The operator tools are pure Node and run with zero install weight. The @metaharness/kernel + host adapter are optionalDependencies — only doctor / install use them, only if present.

Tools (ruview.*)

Exposed both as CLI verbs and as an MCP server (npx @ruvnet/ruview mcp start):

Tool What it does
ruview.onboard Pick docker-demo / repo-build / live-esp32; print the next command
ruview.claim_check Lint text for untagged / overstated accuracy claims (guardrail)
ruview.verify Run verify.py deterministic proof → VERDICT
ruview.node_monitor Assert CSI is flowing on an ESP32 (read-only)
ruview.calibrate ADR-151 room pipeline (baseline→enroll→train-room→room-watch)
ruview.node_flash Build+flash firmware (Windows/ESP-IDF; mutating, guarded)

Every tool is fail-closed: missing repo / python / binary / port → an honest negative, never a fabricated success.

Skills

Host-neutral playbooks in skills/ (onboard, provision-node, calibrate-room, train-pose, verify). npx @ruvnet/ruview skill <name> prints one.

Use as a Claude Code MCP server

The bundled .claude/settings.json registers the ruview MCP server (npx -y @ruvnet/ruview mcp start). Drop this package's .claude/ into a repo, or run npx @ruvnet/ruview install --host claude-code.

Hosts

claude-code (bundled), and via metaharness host adapters: codex, opencode, copilot, pi-dev, hermes, rvm, github-actions.

License

MIT © ruvnet