mirror of
https://github.com/ruvnet/RuView
synced 2026-07-28 18:21:42 +00:00
4001e9e178
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).
1.5 KiB
1.5 KiB
name, description
| name | description |
|---|---|
| train-pose | Train/evaluate WiFi pose models honestly — camera-supervised (MediaPipe + CSI) and camera-free (WiFlow), always checked against the mean-pose baseline before any PCK is quoted. |
train-pose
Build a CSI→pose model without overstating it. The project has a retracted 92.9%/100% history — the discipline below exists so it never recurs.
The non-negotiable: mean-pose baseline first
A pose model that always predicts the dataset's mean pose already scores ~50% PCK. Quote PCK only as a delta over that baseline, on a held-out split with no subject or temporal leakage. Example honest result (ADR-181):
Held-out PCK@20 59.5% vs a 50% mean-pose baseline = +9.4 pp real signal — MEASURED.
Paths
- camera-supervised (ADR-079) — MediaPipe Pose labels the camera frame; paired CSI trains the net. Train/infer in one camera frame so the skeleton aligns.
- camera-free (WiFlow, ADR-152) — no camera at inference; geometry-conditioned.
- in-browser (ADR-181) — WebGPU/WASM trainer; the active backend is shown as a badge (honest about what's executing).
Before you publish a number
- Run the mean-pose baseline on the same split.
- Report
(model − baseline)in pp, with the split definition (chronological / blocked-gap / grouped-bucket; no leakage). ruview.claim_checkthe writeup — it flags any untagged or 100%/perfect claim.- If it's a benchmark vs SOTA, tag MEASURED-EQUIVALENT only with the reproducer.