github ruvnet/RuView v0.9.0
v0.9.0 — ADR-125 APPLE-FABRIC: native Apple Home / HomePod integration

latest releases: v1365, v1362
3 hours ago

ADR-125 (codename APPLE-FABRIC) lands: RuView advertises itself as a HomeKit Accessory Protocol (HAP-1.1) bridge on the LAN, so HomePod (acting as Home Hub) discovers it, Apple Home becomes the operator UX, and Siri voices presence/vitals by room — with zero Home Assistant intermediary.

Validated end-to-end on real hardware (ESP32-C6 on ruv.net, no mocks/sims, 8 iters tracked live on #796).

What's new

Native Apple Home integration (ADR-125)

  • HAP-1.1 bridge RuView Sensing with N child accessories — one per room (ADR-125 §2.1.c topology). Single pairing covers all rooms; children remain individually addressable for Siri ("is anyone in the kitchen?") and Home automations.
  • Three services per room: MotionSensor (immediate movement), OccupancySensor (sustained presence — "Unknown Presence"), StatelessProgrammableSwitch (BFLD anomaly drift — "Unrecognized Activity Pattern"). ADR-125 §2.1.d semantic-event naming, never security/threat framing.
  • Privacy gate enforced at FIVE boundaries: HAP characteristic, HTTP /api/v1/bfld/..., semantic-events endpoint, MCP boundary, Python BFLD gate. identity_risk_score, soul_match_probability, and rf_signature_hash never cross any of them.

Agentic capabilities

  • @ruvnet/rvagent 0.1.0 (npm) — published in this release window — wired through a Python sensing-server bridge so any MCP-aware agent (Claude Code, Codex, custom LLM) can consume the BFLD-gated C6 stream through the standard 12-tool catalog.
  • New scripts/rvagent-mcp-consumer.py — JSON-RPC 2.0 stdio MCP client that round-trips real C6 data through npx -y @ruvnet/rvagent.

HomePod announcements (Shortcuts-as-glue)

  • scripts/macos-shortcuts/ — launchd + osascript glue that triggers operator-defined Shortcuts on RuView events, routing HomePod announcements via the iCloud Home graph instead of local Bonjour (works even when the AP doesn't reflect mDNS).

SOTA path

  • python/src/bindings/privacy_gate.rs — PyO3 binding over the published wifi-densepose-bfld 0.3.0 Rust crate. Verified cargo check green; wheel-deploy is ADR-117 P5 scope.

Docker

  • Multi-arch image (amd64 + linux/arm64) restored. Apple Silicon docker pull ruvnet/wifi-densepose:latest works again (closes #794).
  • Image now bundles cog-ha-matter binary + HA-DISCO MQTT publisher.

Documentation

  • New ADR: docs/adr/ADR-125-ruview-apple-home-native-hap-bridge.md (with §2.1.c and §2.1.d decisions captured during operator review)
  • New user guide: docs/user-guide-apple-homepod.md (~4,500 words) — quickstart to HomePod-announces-RuView in 5 steps
  • HomePod Integration badge added to README.md

Release artifacts

  • crates.io: cog-ha-matter 0.3.0, cog-person-count 0.3.0, cog-pose-estimation 0.3.0 (published earlier this session)
  • crates.io: wifi-densepose-signal 0.3.1, wifi-densepose-sensing-server 0.3.1 (cascade for cog-ha-matter)
  • npm: @ruvnet/rvagent 0.1.0
  • Docker Hub: ruvnet/wifi-densepose:latest (multi-arch)

Deferred to future releases

  • HAP-python custom characteristic JSON-loader (runtime activation of the BFLD privacy class UUID)
  • ADR-117 P5 wheel build for the PyO3 BFLD binding
  • AirPlay 2 voice synthesis via pyatv (blocked on operator's Nighthawk MR60 Bonjour reflector)
  • P2 Rust-native HAP via the hap crate (closes ADR-116 §P7)
  • P3 Matter Controller path (awaiting matter-rs stabilization)

References

  • ADR-125 — RuView ↔ Apple Home native HAP bridge
  • ADR-118 — BFLD beamforming feedback layer
  • ADR-124 — @ruvnet/rvagent MCP/ruvector integration
  • Issue #796 — live tracking thread (8 iter close-outs)
  • Issue #794 — Docker Apple Silicon pull fix (closed)

Co-Authored-By: claude-flow ruv@ruv.net

Don't miss a new RuView release

NewReleases is sending notifications on new releases.