github ruvnet/RuView v1224
Release v1224

latest releases: v1226, v1223
one hour ago

Automated release from CI pipeline

Changes:
cog-ha-matter (ADR-116 P4): pure mDNS service-record builder

Opens P4 with the smallest extractable unit: a pure builder that
produces the wire-format MdnsService the responder will publish
next iter. Splitting the record-builder from the responder lets
us:

  • lock the TXT-record surface with named unit tests so drift
    between the cog and the HA-side YAML auto-discovery binding
    fires a test instead of silently breaking deployments,
  • swap the responder library (mdns-sd / zeroconf / pnet) without
    touching content,
  • include the advertisement in --print-manifest for Seed
    integration tests that can't boot tokio.

TXT surface (sorted, RFC 6763):

| cog_id | "ha-matter" |
| cog_version | CARGO_PKG_VERSION |
| node_id | identity.node_id |
| mqtt_port | u16 stringified |
| privacy | "1" | "0" |
| proto | "ruview-ha/1" |

9 new tests:

  • service_type locked to _ruview-ha._tcp
  • instance_name carries node_id
  • control_port advertises the control plane, not MQTT
  • privacy flag is "1"/"0" (HA config flow reads it byte-stable)
  • proto version locked to ruview-ha/1 (bump is deliberate)
  • cog_id in TXT matches crate constant
  • txt_records sorted for byte-stable mDNS responses
  • PII leak guard: TXT must NOT carry hr_bpm, br_bpm, pose_*,
    keypoint, ssid, lat, lon, mac, rssi — broadcasts in cleartext
    so a future "let's add hr_bpm for convenience" patch fires
    here, not in a privacy incident.
  • required-keys lock — adding is fine, removing/renaming breaks
    every deployed Seed.

21/21 cog tests green (12 → 21).

ADR-116 P4 flipped pending → in progress, with the responder /
embedded broker / witness chain enumerated as the remaining P4
sub-units.

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

Docker Image:
ghcr.io/ruvnet/RuView:35722529bfded89adab12136d113713df51643bf

Don't miss a new RuView release

NewReleases is sending notifications on new releases.