{
  "schema_version": 1,
  "channel": "homelab-runtime",
  "command_id": "RUN5-CURRENT-STATE-READONLY-20260726T115048Z",
  "status": "FAIL",
  "rc": 1,
  "host": "pve01",
  "mode": "verify",
  "component": "command-control-plane",
  "started_at_utc": "2026-07-26T11:57:39Z",
  "finished_at_utc": "2026-07-26T11:57:48Z",
  "reference_register_checked": true,
  "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
  "error_register_checked": true,
  "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
  "command_sha256": "35bedfbf9a281687c60d70ccb18d0e132d4cfe6ba396954261af2c59bfa20673",
  "duplicate_failed_command_blocked": false,
  "block_reason": null,
  "execution_started": true,
  "changes_made": false,
  "sanitized": true,
  "secrets_included": false,
  "private_addresses_included": false,
  "raw_evidence_retained_locally": true,
  "raw_evidence_sha256": "e31ec46e83926efa8688790bf56442d768181590405f102829f43ebe11c7ec46",
  "sanitized_output_sha256": "51089cb42b66558532ae645b1961b6bdfef861a24e23d15d6888b339b5a20d08",
  "output_truncated_in_json": false,
  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
  "output": "RUN5_CURRENT_STATE_READONLY=BLOCKED\n{\"anti_regression_checks_exercised\":[\"QG-001-SOURCE-EVIDENCE-LOCK\",\"QG-003-SERVICE-IDENTITY-REHEARSAL\",\"QG-005-DIAGNOSTICS-BEFORE-ROLLBACK\",\"QG-008-FAILED-CAPSULE-REPLAN-REQUIRED\",\"QG-009-EXECUTABLE-SYMLINK-TARGET-VERIFIED\",\"QG-010-PORTAL-SERVICE-USER-FILE-ACCESS\",\"QG-011-BOUNDED-HEALTH-AND-RESTART-LOOP\",\"QG-014-OVERLAY-TECHNOLOGY-DETECTED-NOT-ASSUMED\"],\"backup_changed\":false,\"checked_at_utc\":\"2026-07-26T11:57:48.018107+00:00\",\"cluster_changed\":false,\"command_id\":\"RUN5-CURRENT-STATE-READONLY-20260726T115048Z\",\"diagnostics_collected_before_any_rollback\":true,\"dns\":{\"evidence.vpn.gram1.ru\":[\"95.84.154.183\"],\"run.vpn.gram1.ru\":[\"100.100.60.182\"]},\"executables\":{\"/usr/bin/journalctl\":{\"is_symlink\":false,\"path\":\"/usr/bin/journalctl\",\"resolved_mode\":\"0o755\",\"resolved_path\":\"/usr/bin/journalctl\",\"resolved_sha256\":\"6ad392fc8f1a10ac892fdb328e67761944c32707db5e97602cb84eed502e47f1\"},\"/usr/bin/python3\":{\"is_symlink\":true,\"path\":\"/usr/bin/python3\",\"resolved_mode\":\"0o755\",\"resolved_path\":\"/usr/bin/python3.13\",\"resolved_sha256\":\"4703a3d15898c0b5d81c3f939e93bdd8ca6116342093fb160ab1e01860dd7d8b\"},\"/usr/bin/systemctl\":{\"is_symlink\":false,\"path\":\"/usr/bin/systemctl\",\"resolved_mode\":\"0o755\",\"resolved_path\":\"/usr/bin/systemctl\",\"resolved_sha256\":\"848c70d7e2c2f43f4f93287897ac8946e8eda45e7daa5f2975d9728071856b1a\"},\"/usr/sbin/runuser\":{\"is_symlink\":false,\"path\":\"/usr/sbin/runuser\",\"resolved_mode\":\"0o755\",\"resolved_path\":\"/usr/sbin/runuser\",\"resolved_sha256\":\"572f3c018101cb1bb8885951388d4f4501e1354cb8ab986e18265265b54970d7\"}},\"failures\":[\"local health request failed\",\"overlay health request failed\"],\"files\":{\"/etc/systemd/system/homelab-command-adapter.service\":{\"bytes\":665,\"gid\":0,\"group\":\"root\",\"is_symlink\":false,\"mode\":\"0o644\",\"owner\":\"root\",\"path\":\"/etc/systemd/system/homelab-command-adapter.service\",\"sha256\":\"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7\",\"uid\":0},\"/etc/systemd/system/homelab-command-portal.service\":{\"bytes\":981,\"gid\":0,\"group\":\"root\",\"is_symlink\":false,\"mode\":\"0o644\",\"owner\":\"root\",\"path\":\"/etc/systemd/system/homelab-command-portal.service\",\"sha256\":\"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263\",\"uid\":0},\"/root/_1/run3d.json\":{\"bytes\":6966,\"gid\":0,\"group\":\"root\",\"is_symlink\":false,\"mode\":\"0o600\",\"owner\":\"root\",\"path\":\"/root/_1/run3d.json\",\"sha256\":\"700db9263402ea88b838f04f971c768e1f1f9b7e8746d96ca73fa0f8a9789f69\",\"uid\":0},\"/root/_1/run4.json\":{\"bytes\":3115,\"gid\":0,\"group\":\"root\",\"is_symlink\":false,\"mode\":\"0o600\",\"owner\":\"root\",\"path\":\"/root/_1/run4.json\",\"sha256\":\"f6da0ca4cf8ca18d301e4b45c683d1f2d6de103dfa7649cf91f600493d90ec07\",\"uid\":0},\"/usr/local/sbin/homelab-chat-run\":{\"bytes\":11864,\"gid\":0,\"group\":\"root\",\"is_symlink\":false,\"mode\":\"0o750\",\"owner\":\"root\",\"path\":\"/usr/local/sbin/homelab-chat-run\",\"sha256\":\"2a88defef9517f89bc60934dce82097f8e316b08af9417e95167ea5d759a10d9\",\"uid\":0},\"/usr/local/sbin/homelab-command-adapter\":{\"bytes\":77441,\"gid\":0,\"group\":\"root\",\"is_symlink\":false,\"mode\":\"0o750\",\"owner\":\"root\",\"path\":\"/usr/local/sbin/homelab-command-adapter\",\"sha256\":\"f2410cd328e2837b99e8ce4a28e25cb031a6bdd596d0286ac77a1822ef1cecd0\",\"uid\":0},\"/usr/local/sbin/homelab-command-portal\":{\"bytes\":39362,\"gid\":990,\"group\":\"homelab-command-portal\",\"is_symlink\":false,\"mode\":\"0o750\",\"owner\":\"root\",\"path\":\"/usr/local/sbin/homelab-command-portal\",\"sha256\":\"8056faf4ef6348f0b06319ad3c49fbfeeadf25b6370f857ea19569bd27652ee2\",\"uid\":0}},\"gitea_changed\":false,\"health\":{\"local\":{\"attempts\":5,\"errors\":[\"attempt=1:HTTPError:HTTP Error 403: Forbidden\",\"attempt=2:HTTPError:HTTP Error 403: Forbidden\",\"attempt=3:HTTPError:HTTP Error 403: Forbidden\",\"attempt=4:HTTPError:HTTP Error 403: Forbidden\",\"attempt=5:HTTPError:HTTP Error 403: Forbidden\"],\"ok\":false},\"overlay\":{\"attempts\":5,\"errors\":[\"attempt=1:HTTPError:HTTP Error 404: Not Found\",\"attempt=2:HTTPError:HTTP Error 404: Not Found\",\"attempt=3:HTTPError:HTTP Error 404: Not Found\",\"attempt=4:HTTPError:HTTP Error 404: Not Found\",\"attempt=5:HTTPError:HTTP Error 404: Not Found\"],\"ok\":false}},\"journals\":{\"adapter\":{\"entries\":4,\"rc\":0,\"stderr_tail\":\"\",\"suspicious_count\":0,\"suspicious_tail\":[]},\"portal\":{\"entries\":35,\"rc\":0,\"stderr_tail\":\"\",\"suspicious_count\":0,\"suspicious_tail\":[]}},\"listeners\":{\"adapter_expected_socket_count\":1,\"adapter_main_pid\":\"364681\",\"adapter_socket_exists\":true,\"adapter_socket_lines\":[\"u_str LISTEN 0      5                                                                         /run/homelab-command-adapter/adapter.sock 21903727 * 0 users:((\\\"python3\\\",pid=364681,fd=3))                                                                                                                   \"],\"adapter_tcp_listener_count\":0,\"adapter_unix_listener_count\":1,\"portal_expected_listener_count\":1,\"portal_listener_lines\":[\"LISTEN 0      5       [PRIVATE_IP]:18094 0.0.0.0:* users:((\\\"python3\\\",pid=536586,fd=3))                                                                                                               \"],\"portal_main_pid\":\"536586\",\"portal_tcp_listener_count\":1,\"ss_path\":\"/usr/bin/ss\"},\"next_safe_action\":\"DIAGNOSE_FROM_THIS_EVIDENCE;DO_NOT_ROLLBACK_YET\",\"production_changed\":false,\"rollback_started\":false,\"schema_version\":1,\"service_identity_tests\":{\"adapter_as_root_identity\":{\"rc\":0,\"status\":\"PASS\",\"stderr_tail\":\"\",\"stdout_marker_present\":true},\"portal_as_service_user\":{\"rc\":0,\"status\":\"PASS\",\"stderr_tail\":\"\",\"stdout_marker_present\":true}},\"source_anchor\":{\"note\":\"Evidence archive SHA is an external handoff anchor; live server state is checked separately.\",\"run5_capsule_sha256\":\"ad5eee7ccd3e72fe59adbf0cd9985ba2f40735a32626b6753a6700f88376e3ff\",\"run5_command_id\":\"RUN5-QUALITY-GATE-PLAN-20260726T064045Z\",\"run5_evidence_archive_sha256\":\"2f5e4fe6eba2c985bade1d1623aeae6a57459f2fce8d6bfe1455c72b8c0eaec5\",\"run5_expires_at_utc\":\"2026-07-27T06:40:45.886243+00:00\",\"run5_plan_sha256\":\"99fac83369ee8d5098c07cf243398d8b6b144e4fbc9ef9b39ef75436b109d607\",\"run5_plan_unexpired\":true},\"stage\":\"RUN5_CURRENT_STATE_READONLY\",\"state_inventory\":{\"active_rollbacks\":[],\"capsule_root\":\"/var/lib/homelab-command-adapter/capsules\",\"capsule_root_present\":true,\"counts\":{\"BLOCKED\":0,\"FAIL\":0,\"IMPORTED\":1,\"OK\":2,\"RUNNING\":1,\"UNKNOWN\":0},\"duplicate_command_ids\":[],\"imported_nonfailure_count\":1,\"items\":[{\"command_id\":\"PORTAL-BROWSER-TEST-20260726T062104Z\",\"is_current\":false,\"mode\":\"read-only\",\"state_file\":\"7DOGTE6NK5.json\",\"status\":\"OK\",\"updated_at_utc\":null},{\"command_id\":\"RUN5-CURRENT-STATE-READONLY-20260726T115048Z\",\"is_current\":true,\"mode\":\"verify\",\"state_file\":\"CIIPI7AQFM.json\",\"status\":\"RUNNING\",\"updated_at_utc\":null},{\"command_id\":\"PORTAL-LINK-TEST-20260726T060415Z\",\"is_current\":false,\"mode\":\"read-only\",\"state_file\":\"MHM2MLFB3M.json\",\"status\":\"IMPORTED\",\"updated_at_utc\":null},{\"command_id\":\"RUN5-QUALITY-GATE-PLAN-20260726T064045Z\",\"is_current\":false,\"mode\":\"verify\",\"state_file\":\"VVPO47GNHZ.json\",\"status\":\"OK\",\"updated_at_utc\":null}],\"previous_running\":[],\"run5_plan_state\":{\"capsule_sha256\":\"ad5eee7ccd3e72fe59adbf0cd9985ba2f40735a32626b6753a6700f88376e3ff\",\"command_id\":\"RUN5-QUALITY-GATE-PLAN-20260726T064045Z\",\"contains_plan_sha256\":false,\"evidence_sha256\":null,\"is_current\":false,\"mode\":\"verify\",\"state_file\":\"VVPO47GNHZ.json\",\"status\":\"OK\",\"updated_at_utc\":null},\"state_root\":\"/var/lib/homelab-command-adapter/state\",\"terminal_failures\":[],\"total\":4,\"unfinished_change_capsules\":[],\"unknown_states\":[]},\"status\":\"BLOCKED\",\"target\":{\"expected\":\"pve01\",\"hostname\":\"pve01\"},\"units\":{\"adapter\":{\"ActiveState\":\"active\",\"ExecMainStatus\":\"0\",\"ExecStart\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -B /usr/local/sbin/homelab-command-adapter --serve ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=364681 ; code=(null) ; status=0/0 }\",\"FragmentPath\":\"/etc/systemd/system/homelab-command-adapter.service\",\"Group\":\"homelab-command-portal\",\"Id\":\"homelab-command-adapter.service\",\"LoadState\":\"loaded\",\"MainPID\":\"364681\",\"NRestarts\":\"0\",\"Result\":\"success\",\"SubState\":\"running\",\"UnitFileState\":\"enabled\",\"User\":\"root\",\"is_active_rc\":\"0\",\"is_active_value\":\"active\",\"is_enabled_rc\":\"0\",\"is_enabled_value\":\"enabled\"},\"portal\":{\"ActiveState\":\"active\",\"ExecMainStatus\":\"0\",\"ExecStart\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -B /usr/local/sbin/homelab-command-portal ; ignore_errors=no ; start_time=[Sun 2026-07-26 09:18:49 MSK] ; stop_time=[n/a] ; pid=536586 ; code=(null) ; status=0/0 }\",\"ExecStartPre\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -B /usr/local/sbin/homelab-command-portal --self-test ; ignore_errors=no ; start_time=[Sun 2026-07-26 09:18:49 MSK] ; stop_time=[Sun 2026-07-26 09:18:49 MSK] ; pid=536585 ; code=exited ; status=0 }\",\"FragmentPath\":\"/etc/systemd/system/homelab-command-portal.service\",\"Group\":\"homelab-command-portal\",\"Id\":\"homelab-command-portal.service\",\"LoadState\":\"loaded\",\"MainPID\":\"536586\",\"NRestarts\":\"0\",\"Result\":\"success\",\"SubState\":\"running\",\"UnitFileState\":\"enabled\",\"User\":\"homelab-command-portal\",\"is_active_rc\":\"0\",\"is_active_value\":\"active\",\"is_enabled_rc\":\"0\",\"is_enabled_value\":\"enabled\"}},\"warnings\":[],\"windows_bridge_verification_boundary\":{\"association_and_upload_proven_only_if_opened_through_installed_hcmd_bridge\":true,\"client_token_acl_checked_by_server\":false,\"client_token_content_read\":false,\"server_side_checks\":\"This capsule checks Portal/Adapter/runner after import and approval.\"}}\n"
}
