{"record":{"id":"f6e378b1f1753e71","repo":"zeroclaw-labs/zeroclaw","slug":"update-rolled-back-smoke-test-failed-e","errorCode":null,"errorMessage":"Update rolled back — smoke test failed: {e}","messagePattern":"Update rolled back — smoke test failed: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/commands/update.rs","lineNumber":316,"sourceCode":"            // the validated main binary is already in place and must not be\n            // rolled back if these fail.\n            install_companion_artifacts(&staging, &current_exe, &host_dashboard_candidates()).await;\n            println!(\"{}\", update_success_message(&update_info.latest_version));\n            println!(\"{}\", prebuilt_channel_note_message());\n            Ok(())\n        }\n        Err(e) => {\n            ::zeroclaw_log::record!(\n                WARN,\n                ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Note)\n                    .with_outcome(::zeroclaw_log::EventOutcome::Unknown)\n                    .with_attrs(::serde_json::json!({\"error\": format!(\"{}\", e)})),\n                \"Smoke test failed, rolling back\"\n            );\n            rollback_binary(&backup_path, &current_exe)\n                .await\n                .context(\"rollback after smoke test failure\")?;\n            bail!(\"Update rolled back — smoke test failed: {e}\");\n        }\n    }\n}\n\nfn find_asset_url(release: &serde_json::Value) -> Option<String> {\n    let target = current_target_triple()?;\n\n    release[\"assets\"].as_array()?.iter().find_map(|asset| {\n        let name = asset[\"name\"].as_str()?;\n        if !is_installable_release_asset(name, target) {\n            return None;\n        }\n        let url = asset[\"browser_download_url\"].as_str()?.trim();\n        (!url.is_empty()).then(|| url.to_string())\n    })\n}\n\nfn find_sha256sums_url(release: &serde_json::Value) -> Option<String> {","sourceCodeStart":298,"sourceCodeEnd":334,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/src/commands/update.rs#L298-L334","documentation":"Error \"Update rolled back — smoke test failed: {e}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at src/commands/update.rs:316 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check why the smoke test failed (missing config, port conflict, missing features), fix it, and retry the update.","Stay on the rolled-back version and report the smoke test failure with logs if it persists."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}