ruview @ v1222
integrity
- size
- 59.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: cog-ha-matter (ADR-116 P3): extract pure publisher-input builder
Adds runtime::build_publisher_inputs(host, port, privacy, identity) —
the side-effect-free helper that turns the cog's CLI surface into the
(MqttConfig, OwnedDiscoveryBuilder) pair ADR-115's publisher::spawn
consumes. Keeps the tokio runtime wiring out of the pure unit so the
mDNS responder + Seed control plane (P4) can build the same inputs
from different sources without going through clap.
8 new tests lock the wire-format invariants:
- host/port round-trip into MqttConfig
- privacy_mode propagation (P1 dossier item 7, FDA Jan 2026)
- discovery_prefix defaults to "homeassistant"
- discovery carries node_id + sw_version + friendly_name
- via_device advertises COG_ID (ADR-101/102 device-registry shape)
- client_id includes node_id (lesson from ADR-115 iter 45-48 session takeover post-mortem — two publishers sharing a client_id loop)
- tls defaults to Off for v1 LAN-only (lock against silent enablement)
- default_identity carries CARGO_PKG_VERSION + PID for uniqueness
Plus the existing 2 manifest tests → 10/10 green
(cargo test -p cog-ha-matter --no-default-features --lib).
Also lands the deep-researcher dossier (docs/research/ADR-116-ha-...)
that the ADR §3+§4 reference — it was produced last iter but only the
ADR was committed; this puts the source-of-truth into the tree so the
ADR's "8 sections, 30+ citations" claim is actually verifiable.
P3 status in the ADR phase table flipped from "pending" to "in progress" with the helper named; next iter tokio::spawns publisher::run(...) in main.rs and registers the mDNS responder.
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:5723f505b7c3cacd376673fa4fb73e84cdc24960
download
curl -fL -o v1222.zip https://ratatoskr.space/pkg/ruview/v1222.zip
printf '%s %s\n' '66a4bfd68f844e3b74a62e7bac7e6015a4e1e2cd4663e2cdc2da82df9ba533b4' 'v1222.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1222.zip"
$out = "v1222.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "66a4bfd68f844e3b74a62e7bac7e6015a4e1e2cd4663e2cdc2da82df9ba533b4") { throw "sha256 mismatch" }
curl -fL -o v1222.tar.gz https://ratatoskr.space/pkg/ruview/v1222.tar.gz
printf '%s %s\n' '101fbe3aff762db835df0be1dd59591e85f1252a79f6ee22f6a513a8c32cdb8e' 'v1222.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1222.tar.gz"
$out = "v1222.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "101fbe3aff762db835df0be1dd59591e85f1252a79f6ee22f6a513a8c32cdb8e") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1222.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1222.zip
printf '%s %s\n' '66a4bfd68f844e3b74a62e7bac7e6015a4e1e2cd4663e2cdc2da82df9ba533b4' 'v1222.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1222.zip"
$out = "v1222.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "66a4bfd68f844e3b74a62e7bac7e6015a4e1e2cd4663e2cdc2da82df9ba533b4") { throw "sha256 mismatch" }
curl -fL -o v1222.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1222.tar.gz
printf '%s %s\n' '101fbe3aff762db835df0be1dd59591e85f1252a79f6ee22f6a513a8c32cdb8e' 'v1222.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1222.tar.gz"
$out = "v1222.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "101fbe3aff762db835df0be1dd59591e85f1252a79f6ee22f6a513a8c32cdb8e") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1222.zip | zip | 59.6 MiB |
blake3-24 957385c7c66839d5beb111722ae3ec374d88f70d9dc16a43
sha256 66a4bfd68f844e3b74a62e7bac7e6015a4e1e2cd4663e2cdc2da82df9ba533b4
sha1 570fe0ae0683b94530868122a9ced9127644e935
|
| v1222.tar.gz | tar.gz | 58.1 MiB |
blake3-24 3f7f16e9dfffd48ae5be65dfe12c3bc0659433ae9c652d80
sha256 101fbe3aff762db835df0be1dd59591e85f1252a79f6ee22f6a513a8c32cdb8e
sha1 d7e6b099e1206006d29144e67ebabb50113821df
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1222.tar.gz"],
integrity = "sha256-EB++Ov92Lbg13wvh3VlZHoXxJSp59u4i9qUTqMMs244=",
strip_prefix = "ruview-v1222",
)
.url = "https://ratatoskr.space/pkg/ruview/v1222.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1222.tar.gz"],
integrity = "sha256-EB++Ov92Lbg13wvh3VlZHoXxJSp59u4i9qUTqMMs244=",
strip_prefix = "ruview-v1222",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1222.tar.gz",