mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
4557f6f614
Land the rvAgent (vendor/ruvector/crates/rvAgent/) integration research
dossier and update both the Claude Code and Codex plugins so future
operators have a discoverable entry point for prototyping agentic flows
on top of RuView's existing sensing pipeline + RVF cognitive containers.
Added:
- docs/research/rvagent-rvf-integration/README.md
Full integration thesis: rvAgent's 8 crates + 14 middlewares share
RVF as their state-persistence format with RuView's existing
v2/crates/wifi-densepose-sensing-server/src/rvf_container.rs. Three
shippable touchpoints (each independent):
1. Two new RVF segment types (SEG_AGENT_STATE = 0x08,
SEG_DECISION = 0x09) so rvAgent sessions and RuView sensing
sessions interleave in one witness-bundle-attestable blob
2. BfldEvent → ToolOutput shim — agent reads BFLD events as
tool context with no new IPC
3. cog-* subagent registration under a queen-agent router
Open questions: workspace inclusion path, sync/async adapter
placement, privacy-class composition with rvagent-middleware
sanitizer, Soul Signature ↔ SoulMatchOracle bridge, MCP surface.
Proposed next: ADR-124 before scaffolding wifi-densepose-agent.
- plugins/ruview/skills/ruview-rvagent/SKILL.md
New Claude Code skill exposing the integration surface, links to
the research doc, and lists the three shippable touchpoints. Skill
description tuned so Claude auto-discovers it for queries like
"wire rvAgent into RuView" or "operator agent reacting to BFLD."
- plugins/ruview/codex/prompts/ruview-rvagent.md
Codex counterpart prompt with trigger phrasing, reading order,
same three touchpoints + open questions, and the ADR-124 next step.
Modified:
- plugins/ruview/.claude-plugin/plugin.json
Version 0.1.0 → 0.2.0; description extended to mention "BFLD
privacy layer" and "rvAgent + RVF agentic flows".
- plugins/ruview/codex/AGENTS.md
Prompt table grows one row: `ruview-rvagent` for the new prompt.
No code changes; no test impact.
Co-Authored-By: claude-flow <ruv@ruv.net>
57 lines
3.1 KiB
Markdown
57 lines
3.1 KiB
Markdown
# AGENTS.md — RuView (WiFi-DensePose)
|
|
|
|
Project rules for Codex (and any agent) working in the `ruvnet/RuView` / `wifi-densepose` repo. Mirrors the Claude Code `ruview` plugin.
|
|
|
|
## What this repo is
|
|
|
|
WiFi-based human sensing from Channel State Information (CSI). Dual codebase: Rust port in `v2/` (15 crates), Python v1 in `archive/v1/`. ESP32-S3 / ESP32-C6 firmware in `firmware/esp32-csi-node/`. 96 ADRs in `docs/adr/`.
|
|
|
|
## Hard rules
|
|
|
|
- Do exactly what's asked — nothing more, nothing less.
|
|
- Never create files (especially `*.md`/README) unless required for the task. Prefer editing an existing file.
|
|
- Never save working files/tests/notes to the repo root — use `v2/crates/`, `tests/`, `docs/`, `scripts/`, `examples/`.
|
|
- Read a file before editing it.
|
|
- Never commit secrets, credentials, or `.env`.
|
|
- Validate user input at system boundaries; sanitize file paths.
|
|
- ESP32-C3 and the original ESP32 are **not supported** (single-core). Use ESP32-S3 (8MB/4MB) or ESP32-C6.
|
|
|
|
## Build & test
|
|
|
|
```bash
|
|
# Rust workspace (1,400+ tests, ~2 min)
|
|
cd v2 && cargo test --workspace --no-default-features
|
|
# Single crate, no GPU
|
|
cargo check -p wifi-densepose-train --no-default-features
|
|
# Deterministic Python pipeline proof (SHA-256 Trust Kill Switch)
|
|
python archive/v1/data/proof/verify.py # must print VERDICT: PASS
|
|
# Python v1 tests
|
|
cd archive/v1 && python -m pytest tests/ -x -q
|
|
```
|
|
|
|
## ESP32 firmware (Windows)
|
|
|
|
ESP-IDF v5.4 does **not** work under Git Bash/MSYS2 and `cmd.exe /C` hangs when called from bash. Build/flash via the **Espressif Python venv as a subprocess with `MSYSTEM*` env vars stripped** — the exact command is in `CLAUDE.local.md`. Default ESP32 serial port: **COM8** (confirm with `mode` / Device Manager — older docs say COM7 or COM9). Provision WiFi: `python firmware/esp32-csi-node/provision.py --port COM8 --ssid ... --password ... --target-ip ... [--channel N] [--filter-mac MAC]`. Serial monitor via pyserial, not `idf.py monitor`. Always test with real WiFi CSI, never mock mode.
|
|
|
|
## Witness verification (ADR-028)
|
|
|
|
After significant changes: run the Rust tests + Python proof, then `bash scripts/generate-witness-bundle.sh`, then `cd dist/witness-bundle-ADR028-*/ && bash VERIFY.sh` (7/7 PASS). Pre-merge checklist lives in `CLAUDE.md`.
|
|
|
|
## Prompt files in `codex/prompts/`
|
|
|
|
| Prompt | Purpose |
|
|
|--------|---------|
|
|
| `ruview-start` | Onboarding — Docker demo / repo build / live ESP32 |
|
|
| `ruview-flash` | Build + flash ESP32 firmware (8MB / 4MB) |
|
|
| `ruview-provision` | Provision WiFi creds + sink IP + channel/MAC overrides |
|
|
| `ruview-app` | Run a sensing application (presence / vitals / pose / sleep / MAT / point cloud) |
|
|
| `ruview-train` | Train / evaluate / publish a model (incl. GPU on GCloud) |
|
|
| `ruview-verify` | Run the trust pipeline + pre-merge checklist |
|
|
| `ruview-rvagent` | Explore rvAgent + RVF agentic flows wiring into RuView |
|
|
|
|
Install: copy `codex/prompts/*.md` into `~/.codex/prompts/`, or run Codex with this directory on its prompt path.
|
|
|
|
## Reference
|
|
|
|
`README.md`, `docs/user-guide.md`, `docs/wifi-mat-user-guide.md`, `docs/build-guide.md`, `docs/TROUBLESHOOTING.md`, `docs/adr/`, `docs/tutorials/`, `examples/`, `CLAUDE.md`, `CLAUDE.local.md`.
|