--- name: ruview-rvagent description: Explore and prototype rvAgent + RVF integration for RuView agentic flows. Use when working on cross-cog coordination, operator-facing agents reading BFLD / pose / vitals events live, or persisting agent state alongside sensing data in the same RVF container. --- # RuView rvAgent + RVF integration Surface area for wiring `vendor/ruvector/crates/rvAgent/` into RuView so the existing sensing pipeline becomes the substrate an agentic flow can read, reason about, and respond to. ## When to use this skill - "I want an agent that reacts to BFLD presence in the kitchen and pages the carer." - "I need cog-pose-estimation and cog-bfld to negotiate before publishing a synthesized event." - "Can the witness chain attest both the sensing event AND the agent decision in one RVF blob?" - "How do we keep rvAgent's tool outputs class-3 compliant when the source BFLD event is Restricted?" ## Key surfaces | Surface | File | Notes | |---------|------|-------| | rvAgent core | `vendor/ruvector/crates/rvAgent/rvagent-core/src/agi_container.rs` (627 LOC) | RVF-compatible state container | | rvAgent middleware | `vendor/ruvector/crates/rvAgent/rvagent-middleware/` | Witness, sanitizer, SONA, HNSW | | Agent personas | `vendor/ruvector/crates/rvAgent/.ruv/agents/rvagent-{queen,coder,tester,security}.md` | Reference patterns | | RVF container | `v2/crates/wifi-densepose-sensing-server/src/rvf_container.rs` | Add `SEG_AGENT_STATE`, `SEG_DECISION` | | BFLD event | `v2/crates/wifi-densepose-bfld/src/event.rs` | `BfldEvent::to_json()` → `ToolOutput` | | BFLD pipeline handle | `v2/crates/wifi-densepose-bfld/src/pipeline_handle.rs` | `BfldPipelineHandle::send` | ## Research dossier Full integration analysis lives at `docs/research/rvagent-rvf-integration/README.md`. Three shippable touchpoints, each independent: 1. **RVF wire**: two new segment types (`SEG_AGENT_STATE = 0x08`, `SEG_DECISION = 0x09`) let rvAgent sessions interleave with RuView sensing sessions in the same blob. 2. **Tool surface**: `BfldEvent → ToolOutput` shim turns BFLD events into agent context with no new IPC. 3. **Cog subagents**: `cog-pose-estimation` / `cog-person-count` / `cog-ha-matter` / `cog-bfld` register as rvAgent subagents under a queen-agent router. ## Open questions - Workspace inclusion of `vendor/ruvector/crates/rvAgent/` (path dep vs published crate) - Sync ↔ async adapter (BFLD `Publish` is sync, rvAgent backends are tokio) - Privacy-class composition (does rvAgent's sanitizer consume `PrivacyClass`?) - Soul Signature ↔ `SoulMatchOracle` bridge - Whether `BfldPipelineHandle::send` lands as a public MCP tool via `rvagent-mcp` ## Next decision ADR-124 (proposed) — "rvAgent + RVF integration for RuView agentic flows" — would capture segment assignments, cog-subagent contract, and the privacy-class composition rule. Land before scaffolding `v2/crates/wifi-densepose-agent`.