Files
wifi-ruview/plugins/ruview/codex/AGENTS.md
ruv 4557f6f614 docs+plugins: rvAgent + RVF agentic-flow integration exploration
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>
2026-05-24 17:33:12 -04:00

3.1 KiB

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

# 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.