ruview @ v1231
integrity
- size
- 59.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: cog-ha-matter (ADR-116): P4 ✅ — mDNS wired into main, broker deferred
Two landings that flip P4 to shipped:
-
main.rs now actually registers the mDNS responder. New CLI: --mdns-hostname (default: cog-ha-matter.local.) --mdns-ipv4 (default: 127.0.0.1) --no-mdns (skip for restrictive CI / multi-instance)
Responder boots after the publisher; failure logs WARN + falls back to manual HA config instead of killing the cog. The handle's Drop sends the mDNS goodbye packet on shutdown so HA's discovery sees a clean service-leave (no stale device card).
-
Embedded rumqttd broker DEFERRED to v0.7 per dossier §8 ranking.
The dossier's prioritised v1 scope is:
- --privacy-mode audit-only
- cog manifest + Ed25519 signing + store listing
- local SONA fine-tuning loop
- HACS gold-tier integration
- Matter Bridge (v0.8)
Embedded broker is not in that list. Every HA install already has mosquitto or HA Core's built-in broker — adding ~2 MB of binary + ACL config surface for marginal benefit didn't earn a v1 slot. Documented as row 6 of §4 v1 scope table with explicit v0.7 target.
P4 row updated to ✅: mDNS half complete (record-builder + ServiceInfo + live responder + main.rs wiring), witness half complete (chain + JSONL + file + Ed25519), embedded broker explicitly deferred with rationale citation to dossier §8.
Stop-condition check:
- dossier has "Recommended scope" section ✅ (§8, folded into ADR §4)
- P2 (cog scaffold) ✅
- P3 (MQTT publisher wrap) ✅
- P4 (Seed-native enhancements) ✅
Cron's stop predicate evaluates: P2-P4 shipped AND dossier has the recommended-scope section → STOP. The loop should TaskStop itself after this iter unless the user wants P5 (RuVector thresholds), P8 (cog signing), or P9 (HACS repo) to keep going.
64/64 tests green.
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:d4f0e120738703bf58ba666fc56447feea85425a
download
curl -fL -o v1231.zip https://ratatoskr.space/pkg/ruview/v1231.zip
printf '%s %s\n' '286b91897da070e5d210ae29391a52ab44abf73011b024faa079b252d8ee339e' 'v1231.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1231.zip"
$out = "v1231.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "286b91897da070e5d210ae29391a52ab44abf73011b024faa079b252d8ee339e") { throw "sha256 mismatch" }
curl -fL -o v1231.tar.gz https://ratatoskr.space/pkg/ruview/v1231.tar.gz
printf '%s %s\n' '026e39fe7e2a53e38bf4dc4197b26c5d890ffe138b75884ace08f09ee3b49516' 'v1231.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1231.tar.gz"
$out = "v1231.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "026e39fe7e2a53e38bf4dc4197b26c5d890ffe138b75884ace08f09ee3b49516") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1231.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1231.zip
printf '%s %s\n' '286b91897da070e5d210ae29391a52ab44abf73011b024faa079b252d8ee339e' 'v1231.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1231.zip"
$out = "v1231.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "286b91897da070e5d210ae29391a52ab44abf73011b024faa079b252d8ee339e") { throw "sha256 mismatch" }
curl -fL -o v1231.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1231.tar.gz
printf '%s %s\n' '026e39fe7e2a53e38bf4dc4197b26c5d890ffe138b75884ace08f09ee3b49516' 'v1231.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1231.tar.gz"
$out = "v1231.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "026e39fe7e2a53e38bf4dc4197b26c5d890ffe138b75884ace08f09ee3b49516") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1231.zip | zip | 59.6 MiB |
blake3-24 d72383b45ab4d90d27fed1bad0119cc9660d7da5b2199982
sha256 286b91897da070e5d210ae29391a52ab44abf73011b024faa079b252d8ee339e
sha1 8712011c7e06174b44572af423681ae0da740861
|
| v1231.tar.gz | tar.gz | 58.1 MiB |
blake3-24 2234ad7cb72f6e629f0df4a572873aebe4694d9d409e42c9
sha256 026e39fe7e2a53e38bf4dc4197b26c5d890ffe138b75884ace08f09ee3b49516
sha1 e0b03435fa5ca2d0a432562b44200f08790870eb
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1231.tar.gz"],
integrity = "sha256-Am45/n4qU+OL9NxBl7JsXYkP/hOLdYhKzgjwnuO0lRY=",
strip_prefix = "ruview-v1231",
)
.url = "https://ratatoskr.space/pkg/ruview/v1231.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1231.tar.gz"],
integrity = "sha256-Am45/n4qU+OL9NxBl7JsXYkP/hOLdYhKzgjwnuO0lRY=",
strip_prefix = "ruview-v1231",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1231.tar.gz",