ruview @ v1583
integrity
- size
- 61.1 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: fix(mat): never triage a survivor with a heartbeat as Deceased (safety) (#926)
Both triage paths in the Mass Casualty Assessment tool classified a survivor as Deceased (Black) on "no breathing + no movement" while completely ignoring the heartbeat signal:
- domain
TriageCalculator::calculate→combine_assessments(Absent, None)returned Deceased. That branch is in fact only reachable because a heartbeat makeshas_vitals()true (breathing+movement absent alone → Unknown) — so every "Deceased" was a live person with a pulse. - detection
EnsembleClassifier::determine_triage(the path used byclassify()) returned Deceased on!has_breathing && !has_movement, also ignoringreading.heartbeat.
A survivor with a detectable pulse but no sensed breathing/movement is in respiratory arrest — the most time-critical savable state. Reporting them Deceased would deprioritize a rescuable person. WiFi-CSI also cannot confirm death (no airway-repositioning step), so a pulse must override.
Fix: in both paths, if the result would be Deceased but a heartbeat is present, return Immediate. Total absence of breathing, movement AND heartbeat is unchanged (domain → Unknown, ensemble → Deceased).
2 safety regression tests added. Full MAT suite: 168 + 6 + 3 passed, 0 failed (existing test_no_vitals_is_deceased still green — no heartbeat → Deceased).
Docker Image:
ghcr.io/ruvnet/RuView:c453268002fe242769ce9ae059569a3cfcac9912
download
curl -fL -o v1583.zip https://ratatoskr.space/pkg/ruview/v1583.zip
printf '%s %s\n' '1fae998c91111ee33127e5780d587fa55c24bb3f3edbfb180d52f9acf113e182' 'v1583.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1583.zip"
$out = "v1583.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "1fae998c91111ee33127e5780d587fa55c24bb3f3edbfb180d52f9acf113e182") { throw "sha256 mismatch" }
curl -fL -o v1583.tar.gz https://ratatoskr.space/pkg/ruview/v1583.tar.gz
printf '%s %s\n' '72f132cbddd43129e2371703133d1352c25a903384cbed3ae976a2cc469cc675' 'v1583.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1583.tar.gz"
$out = "v1583.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "72f132cbddd43129e2371703133d1352c25a903384cbed3ae976a2cc469cc675") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1583.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1583.zip
printf '%s %s\n' '1fae998c91111ee33127e5780d587fa55c24bb3f3edbfb180d52f9acf113e182' 'v1583.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1583.zip"
$out = "v1583.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "1fae998c91111ee33127e5780d587fa55c24bb3f3edbfb180d52f9acf113e182") { throw "sha256 mismatch" }
curl -fL -o v1583.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1583.tar.gz
printf '%s %s\n' '72f132cbddd43129e2371703133d1352c25a903384cbed3ae976a2cc469cc675' 'v1583.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1583.tar.gz"
$out = "v1583.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "72f132cbddd43129e2371703133d1352c25a903384cbed3ae976a2cc469cc675") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1583.zip | zip | 61.1 MiB |
blake3-24 3f497221c3023624907580ffd2b632271711bd4d1595d24e
sha256 1fae998c91111ee33127e5780d587fa55c24bb3f3edbfb180d52f9acf113e182
sha1 fd98e498c49636be215aa7dd944e7b9602d31f5f
|
| v1583.tar.gz | tar.gz | 59.3 MiB |
blake3-24 e32436c86a7c504f915e0999f2ea515bc657db54ba418530
sha256 72f132cbddd43129e2371703133d1352c25a903384cbed3ae976a2cc469cc675
sha1 a0b7354c07ea1003571b879ec9569eceb2ceb4a2
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1583.tar.gz"],
integrity = "sha256-cvEyy93UMSniNxcDEz0TUsJakDOEy+066XaizEacxnU=",
strip_prefix = "ruview-v1583",
)
.url = "https://ratatoskr.space/pkg/ruview/v1583.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1583.tar.gz"],
integrity = "sha256-cvEyy93UMSniNxcDEz0TUsJakDOEy+066XaizEacxnU=",
strip_prefix = "ruview-v1583",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1583.tar.gz",