{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "SIGNALBOT-260908-WS-KEEPALIVE-FIX-040", "status": "FAIL", "rc": 1, "host": "pve01", "mode": "change", "component": "signalbot-cr0116-ws-keepalive-fix-git", "started_at_utc": "2026-09-08T06:01:55Z", "finished_at_utc": "2026-09-08T06:01:56Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "c1fd85391423270104b27a9683f99bff992ab001846d9dcec1f5ac9307673500", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "change_declared": true, "result_contract_valid": true, "result_contract_status": "FAIL", "result_contract_error": null, "command_rc": 1, "changes_made": true, "rollback_started": true, "rollback_restored": true, "mutation_outcome": "ROLLED_BACK", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, "raw_evidence_sha256": "03e57cee0bd2d2f3e7f13ecb1c5ca6f152384507206ad5b4488e61767c43c595", "sanitized_output_sha256": "03e57cee0bd2d2f3e7f13ecb1c5ca6f152384507206ad5b4488e61767c43c595", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSB040_PRESTATE={\"remote_fix_branch_absent\":true,\"remote_main\":\"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce\",\"repo_branch\":\"cr-2026-0105-demonov-shadow-orchestrator\",\"repo_clean\":true,\"repo_head\":\"559948bcb6baead49a47d9953b0cc0090e332fd7\"}\nSB040_SCOPE={\"exchange_execution\":false,\"ping_interval\":20,\"ping_timeout\":60,\"runtime_mutation\":false,\"target_files\":[\"src/demonov_forward_map/bitfinex_trade_collector.py\",\"tests/test_bitfinex_collector_websocket_keepalive_policy.py\"]}\nSB040_FAILURE={\"detail\":\"[Errno 2] No such file or directory: '/root/signalbot-run-SIGNALBOT-260908-WS-KEEPALIVE-FIX-040/repo/src/demonov_forward_map/bitfinex_trade_collector.py'\",\"type\":\"FileNotFoundError\"}\nSB040_ROLLBACK_STARTED=true\nSB040_ROLLBACK_RESTORED=true\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260908-WS-KEEPALIVE-FIX-040\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" }