From 5b7e0220bad3fe3eebe7317b131985ebd9363ad8 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Wed, 5 Aug 2026 12:50:53 +0000 Subject: [PATCH] runtime: publish HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z --- ...OURCE-BIND-READ-ONLY-20260805T124700Z.json | 38 +++++++++++++++++++ ...SOURCE-BIND-READ-ONLY-20260805T124700Z.txt | 34 +++++++++++++++++ runtime/latest.json | 16 ++++---- runtime/latest.txt | 14 +++---- 4 files changed, 87 insertions(+), 15 deletions(-) create mode 100644 runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.json create mode 100644 runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.txt diff --git a/runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.json b/runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.json new file mode 100644 index 0000000..c2007a7 --- /dev/null +++ b/runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "verify", + "component": "skladchik-handoff-source-bind-read-only", + "started_at_utc": "2026-08-05T12:50:52Z", + "finished_at_utc": "2026-08-05T12:50:52Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "a8213c80cd21274548acfd1063b3b782d58a80e98599b151eeab8b5d53e4deb3", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af", + "sanitized_output_sha256": "eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z\",\"command_rc\":0,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"active_files\":[{\"bytes\":665,\"mode\":\"0o644\",\"requested\":{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\"},\"resolved\":{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\"},\"sha256\":\"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7\",\"symlink_chain\":[{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"mode\":\"0o644\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\",\"symlink\":false}],\"unit\":\"homelab-command-adapter.service\"},{\"bytes\":86019,\"mode\":\"0o755\",\"python\":{\"error\":null,\"functions\":[{\"args\":[\"args\"],\"line\":658,\"name\":\"run_command\",\"segment_sha256\":\"9cc54e923af387a0d707394fca81eb7f7c23a9f0933ee69281ef97a2a9073146\"},{\"args\":[\"state\"],\"line\":1547,\"name\":\"sanitize_state\",\"segment_sha256\":\"f65062417f5cc3835ae7f91984be733e10348eb56b52d66e258abc013533e0b9\"},{\"args\":[\"argv\",\"payload_root\"],\"line\":1670,\"name\":\"substitute_argv\",\"segment_sha256\":\"0adfb439cbbe53225dac3941b6e79a6a669ea02e413e2f4134a3fd61eb82f3f0\"},{\"args\":[\"args\"],\"line\":2049,\"name\":\"run_existing_runner\",\"segment_sha256\":\"ca5964725e800420a886192740771da2099500c76ed10a7f3fd7a2e9ff4134ae\"},{\"args\":[\"request\"],\"line\":2639,\"name\":\"dispatch\",\"segment_sha256\":\"7b4d4e9ff23b1177453e51bbe7b2ce3dd10fd48f6e56e000d7ae69d6917834f4\"},{\"args\":[\"self\"],\"line\":2749,\"name\":\"handle\",\"segment_sha256\":\"ce948fe6248f462115796fcee91ec72f891339d9b603b98ce84a8842eaeb3926\"}],\"imports\":[\"__future__\",\"argparse\",\"base64\",\"datetime\",\"fcntl\",\"gzip\",\"hashlib\",\"hmac\",\"html\",\"io\",\"json\",\"os\",\"pathlib\",\"pwd\",\"re\",\"secrets\",\"shutil\",\"signal\",\"socket\",\"socketserver\",\"stat\",\"struct\",\"subprocess\",\"sys\",\"tarfile\",\"tempfile\",\"threading\",\"time\",\"typing\",\"urllib.parse\"],\"parse_ok\":true,\"process_calls\":[{\"call\":\"subprocess.run\",\"has_env\":true,\"has_stdin\":true,\"keywords\":[\"check\",\"env\",\"stderr\",\"stdin\",\"stdout\",\"text\",\"timeout\"],\"line\":664,\"segment_sha256\":\"fbe36f5d1ed7b23d545f105135de2993138aa4a8dafc9f5419d7c37b36deebae\"},{\"call\":\"subprocess.Popen\",\"has_env\":true,\"has_stdin\":true,\"keywords\":[\"close_fds\",\"env\",\"start_new_session\",\"stderr\",\"stdin\",\"stdout\"],\"line\":1626,\"segment_sha256\":\"90bb736720d2877f6704459828dc5551619ba00834a4660e9ed9c7f86e05b8c6\"},{\"call\":\"subprocess.Popen\",\"has_env\":true,\"has_stdin\":true,\"keywords\":[\"close_fds\",\"env\",\"start_new_session\",\"stderr\",\"stdin\",\"stdout\",\"text\"],\"line\":2056,\"segment_sha256\":\"4582da2d6b8e31108deedee5a5d6b877788db5da0f6d52120a605d76d0037d97\"}],\"redaction_symbols\":[\"create_evidence_bundle\",\"evidence_url\",\"remote_evidence_presign\",\"sanitize_state\",\"sign_evidence\",\"upload_evidence\"],\"request_sites\":[{\"call\":\"json.loads\",\"line\":245,\"segment_sha256\":\"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4\"},{\"call\":\"json.loads\",\"line\":288,\"segment_sha256\":\"bf67e3bbc5d4ac5ab0d15340108bb5410b74494961d88fa35c556acbf64afbd4\"},{\"call\":\"json.loads\",\"line\":706,\"segment_sha256\":\"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4\"},{\"call\":\"json.loads\",\"line\":2009,\"segment_sha256\":\"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4\"},{\"call\":\"self.rfile.readline\",\"line\":2765,\"segment_sha256\":\"e42346ea97b7870f278aaf7cb87b9e20c01dd1a2e3f34f561e1fae6d4febb592\"},{\"call\":\"json.loads\",\"line\":2772,\"segment_sha256\":\"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4\"}],\"routes\":[{\"kind\":\"startswith\",\"line\":529,\"owner\":\"\",\"path\":\"/\",\"segment_sha256\":\"b1af8a6dd713e6a332c44625432a263eab2c49721398367ee1277e38f7e8623b\"}],\"schema_fields\":[\"argv\",\"content_b64\",\"mode\",\"payload\",\"risk\",\"secret\"]},\"requested\":{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\"},\"resolved\":{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\"},\"sha256\":\"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d\",\"symlink_chain\":[{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"mode\":\"0o755\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\",\"symlink\":false}],\"unit\":\"homelab-command-adapter.service\"},{\"bytes\":981,\"mode\":\"0o644\",\"requested\":{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\"},\"resolved\":{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\"},\"sha256\":\"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263\",\"symlink_chain\":[{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"mode\":\"0o644\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\",\"symlink\":false}],\"unit\":\"homelab-command-portal.service\"},{\"bytes\":39936,\"mode\":\"0o755\",\"python\":{\"error\":null,\"functions\":[{\"args\":[\"request\"],\"line\":44,\"name\":\"adapter_call\",\"segment_sha256\":\"facf24c434f624f6a97482acbc7d053e595dc3cb1389f4b7d73ecce0f7934ac4\"},{\"args\":[\"self\",\"status\",\"content_type\",\"body\"],\"line\":471,\"name\":\"reply\",\"segment_sha256\":\"1e3a858264d98399a6e3fa9d3be77250b9afd667890f67f7172131cfc3121e8b\"},{\"args\":[\"self\"],\"line\":553,\"name\":\"do_GET\",\"segment_sha256\":\"b7332de76c63c8b6609c9e303c4b9b05943b0c0a1d544bd48a78e54a69e0f2ac\"},{\"args\":[\"self\"],\"line\":766,\"name\":\"do_POST\",\"segment_sha256\":\"11c1ce3f3c6425cbbfaf9a04211ff4025e40a8eed7628cd57bdfbee32544b035\"},{\"args\":[\"request\"],\"line\":1041,\"name\":\"fake_adapter_call\",\"segment_sha256\":\"26cdff236d21fb0a7d4799ab6de0e80dbe9104ad11836ca7ade55ecf9f66c42d\"}],\"imports\":[\"__future__\",\"argparse\",\"hashlib\",\"hmac\",\"html\",\"http.cookies\",\"http.server\",\"ipaddress\",\"json\",\"os\",\"pathlib\",\"re\",\"secrets\",\"socket\",\"sys\",\"time\",\"typing\",\"urllib.parse\"],\"parse_ok\":true,\"process_calls\":[],\"redaction_symbols\":[],\"request_sites\":[{\"call\":\"json.loads\",\"line\":81,\"segment_sha256\":\"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4\"},{\"call\":\"self.rfile.read\",\"line\":541,\"segment_sha256\":\"e88ccc84bddb9730bf85279cc75080f708954fea1522420d79deeef7f4d4022e\"},{\"call\":\"urllib.parse.parse_qs\",\"line\":548,\"segment_sha256\":\"db330b7137c377ba69515c420495114e333999d1d4f22ed4a476b59e8130c937\"},{\"call\":\"urllib.parse.parse_qs\",\"line\":852,\"segment_sha256\":\"24f22df8901b81aff82756ae2c8010bb392d60f2d336a6e75562a87c7bfd5adb\"}],\"routes\":[{\"kind\":\"compare\",\"line\":596,\"owner\":\"\",\"path\":\"/bridge/bridge.cmd\",\"segment_sha256\":\"bea803e2bf945e9c5008a239e11936ecdbd8475018029010553aae5d638af370\"},{\"kind\":\"startswith\",\"line\":609,\"owner\":\"\",\"path\":\"/enroll/\",\"segment_sha256\":\"902d0c2af350b77c90fcd32dbf60dd2362c9e0d7ec504ad185488cc97161ef56\"},{\"kind\":\"compare\",\"line\":771,\"owner\":\"\",\"path\":\"/api/enroll\",\"segment_sha256\":\"d1e94b164fcc17d1db52d30967b862e840416d96902d98986ba7d831796985dd\"},{\"kind\":\"compare\",\"line\":791,\"owner\":\"\",\"path\":\"/api/import\",\"segment_sha256\":\"528504d107f4e3a9c88fb94943e594ed199c19d14b7398d0499ed62a41c176f9\"}],\"schema_fields\":[\"Authorization\",\"Cookie\",\"argv\",\"mode\",\"payload\",\"risk\"]},\"requested\":{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\"},\"resolved\":{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\"},\"sha256\":\"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52\",\"symlink_chain\":[{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"mode\":\"0o755\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\",\"symlink\":false}],\"unit\":\"homelab-command-portal.service\"}],\"analysis_ready\":true,\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z\",\"command_rc\":0,\"git\":{\"anchor\":{\"basename\":\"cr-2026-0015\",\"class\":\"srv\",\"path_sha256\":\"1b3beda8fc19beb489d31ac23276ec633dbe86b73185a75cab96cb5fe244fc9f\"},\"anchor_present\":true,\"provenance\":{\"homelab-command-adapter\":{\"active_sha256\":\"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d\",\"current_worktree_matches\":[],\"exact_source_bound\":false,\"history_matches\":[]},\"homelab-command-portal\":{\"active_sha256\":\"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52\",\"current_worktree_matches\":[],\"exact_source_bound\":false,\"history_matches\":[]}},\"worktree_count\":3},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"BUILD_SHA_GUARDED_EPHEMERAL_SECRET_HANDOFF_TRANSACTION\",\"output_truncated_in_json\":false,\"rc\":0,\"read_only\":true,\"readiness\":{\"adapter_ready\":true,\"exact_files_ready\":true,\"portal_ready\":true,\"source_bound\":false},\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"ACTIVE_EXECUTION_VERIFIED_GIT_SOURCE_UNBOUND\",\"schema\":1,\"source_bound\":false,\"status\":\"OK\",\"units\":[{\"active_state\":\"active\",\"environment_files_declared\":false,\"show_rc\":0,\"sources\":[{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\"},{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\"}],\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"sub_state\":\"running\",\"unit\":\"homelab-command-adapter.service\",\"user_class\":\"root\",\"working_directory_declared\":false},{\"active_state\":\"active\",\"environment_files_declared\":false,\"show_rc\":0,\"sources\":[{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\"},{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\"}],\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"sub_state\":\"running\",\"unit\":\"homelab-command-portal.service\",\"user_class\":\"non_root\",\"working_directory_declared\":false}]}\n" +} diff --git a/runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.txt b/runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.txt new file mode 100644 index 0000000..52c7946 --- /dev/null +++ b/runtime/history/HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z +STATUS=OK +RC=0 +HOST=pve01 +MODE=verify +COMPONENT=skladchik-handoff-source-bind-read-only +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=a8213c80cd21274548acfd1063b3b782d58a80e98599b151eeab8b5d53e4deb3 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af +SANITIZED_OUTPUT_SHA256=eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z","command_rc":0,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"active_files":[{"bytes":665,"mode":"0o644","requested":{"basename":"homelab-command-adapter.service","class":"etc","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045"},"resolved":{"basename":"homelab-command-adapter.service","class":"etc","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045"},"sha256":"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7","symlink_chain":[{"basename":"homelab-command-adapter.service","class":"etc","mode":"0o644","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045","symlink":false}],"unit":"homelab-command-adapter.service"},{"bytes":86019,"mode":"0o755","python":{"error":null,"functions":[{"args":["args"],"line":658,"name":"run_command","segment_sha256":"9cc54e923af387a0d707394fca81eb7f7c23a9f0933ee69281ef97a2a9073146"},{"args":["state"],"line":1547,"name":"sanitize_state","segment_sha256":"f65062417f5cc3835ae7f91984be733e10348eb56b52d66e258abc013533e0b9"},{"args":["argv","payload_root"],"line":1670,"name":"substitute_argv","segment_sha256":"0adfb439cbbe53225dac3941b6e79a6a669ea02e413e2f4134a3fd61eb82f3f0"},{"args":["args"],"line":2049,"name":"run_existing_runner","segment_sha256":"ca5964725e800420a886192740771da2099500c76ed10a7f3fd7a2e9ff4134ae"},{"args":["request"],"line":2639,"name":"dispatch","segment_sha256":"7b4d4e9ff23b1177453e51bbe7b2ce3dd10fd48f6e56e000d7ae69d6917834f4"},{"args":["self"],"line":2749,"name":"handle","segment_sha256":"ce948fe6248f462115796fcee91ec72f891339d9b603b98ce84a8842eaeb3926"}],"imports":["__future__","argparse","base64","datetime","fcntl","gzip","hashlib","hmac","html","io","json","os","pathlib","pwd","re","secrets","shutil","signal","socket","socketserver","stat","struct","subprocess","sys","tarfile","tempfile","threading","time","typing","urllib.parse"],"parse_ok":true,"process_calls":[{"call":"subprocess.run","has_env":true,"has_stdin":true,"keywords":["check","env","stderr","stdin","stdout","text","timeout"],"line":664,"segment_sha256":"fbe36f5d1ed7b23d545f105135de2993138aa4a8dafc9f5419d7c37b36deebae"},{"call":"subprocess.Popen","has_env":true,"has_stdin":true,"keywords":["close_fds","env","start_new_session","stderr","stdin","stdout"],"line":1626,"segment_sha256":"90bb736720d2877f6704459828dc5551619ba00834a4660e9ed9c7f86e05b8c6"},{"call":"subprocess.Popen","has_env":true,"has_stdin":true,"keywords":["close_fds","env","start_new_session","stderr","stdin","stdout","text"],"line":2056,"segment_sha256":"4582da2d6b8e31108deedee5a5d6b877788db5da0f6d52120a605d76d0037d97"}],"redaction_symbols":["create_evidence_bundle","evidence_url","remote_evidence_presign","sanitize_state","sign_evidence","upload_evidence"],"request_sites":[{"call":"json.loads","line":245,"segment_sha256":"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4"},{"call":"json.loads","line":288,"segment_sha256":"bf67e3bbc5d4ac5ab0d15340108bb5410b74494961d88fa35c556acbf64afbd4"},{"call":"json.loads","line":706,"segment_sha256":"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4"},{"call":"json.loads","line":2009,"segment_sha256":"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4"},{"call":"self.rfile.readline","line":2765,"segment_sha256":"e42346ea97b7870f278aaf7cb87b9e20c01dd1a2e3f34f561e1fae6d4febb592"},{"call":"json.loads","line":2772,"segment_sha256":"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4"}],"routes":[{"kind":"startswith","line":529,"owner":"","path":"/","segment_sha256":"b1af8a6dd713e6a332c44625432a263eab2c49721398367ee1277e38f7e8623b"}],"schema_fields":["argv","content_b64","mode","payload","risk","secret"]},"requested":{"basename":"homelab-command-adapter","class":"usr_local","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739"},"resolved":{"basename":"homelab-command-adapter","class":"usr_local","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739"},"sha256":"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d","symlink_chain":[{"basename":"homelab-command-adapter","class":"usr_local","mode":"0o755","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739","symlink":false}],"unit":"homelab-command-adapter.service"},{"bytes":981,"mode":"0o644","requested":{"basename":"homelab-command-portal.service","class":"etc","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a"},"resolved":{"basename":"homelab-command-portal.service","class":"etc","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a"},"sha256":"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263","symlink_chain":[{"basename":"homelab-command-portal.service","class":"etc","mode":"0o644","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a","symlink":false}],"unit":"homelab-command-portal.service"},{"bytes":39936,"mode":"0o755","python":{"error":null,"functions":[{"args":["request"],"line":44,"name":"adapter_call","segment_sha256":"facf24c434f624f6a97482acbc7d053e595dc3cb1389f4b7d73ecce0f7934ac4"},{"args":["self","status","content_type","body"],"line":471,"name":"reply","segment_sha256":"1e3a858264d98399a6e3fa9d3be77250b9afd667890f67f7172131cfc3121e8b"},{"args":["self"],"line":553,"name":"do_GET","segment_sha256":"b7332de76c63c8b6609c9e303c4b9b05943b0c0a1d544bd48a78e54a69e0f2ac"},{"args":["self"],"line":766,"name":"do_POST","segment_sha256":"11c1ce3f3c6425cbbfaf9a04211ff4025e40a8eed7628cd57bdfbee32544b035"},{"args":["request"],"line":1041,"name":"fake_adapter_call","segment_sha256":"26cdff236d21fb0a7d4799ab6de0e80dbe9104ad11836ca7ade55ecf9f66c42d"}],"imports":["__future__","argparse","hashlib","hmac","html","http.cookies","http.server","ipaddress","json","os","pathlib","re","secrets","socket","sys","time","typing","urllib.parse"],"parse_ok":true,"process_calls":[],"redaction_symbols":[],"request_sites":[{"call":"json.loads","line":81,"segment_sha256":"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4"},{"call":"self.rfile.read","line":541,"segment_sha256":"e88ccc84bddb9730bf85279cc75080f708954fea1522420d79deeef7f4d4022e"},{"call":"urllib.parse.parse_qs","line":548,"segment_sha256":"db330b7137c377ba69515c420495114e333999d1d4f22ed4a476b59e8130c937"},{"call":"urllib.parse.parse_qs","line":852,"segment_sha256":"24f22df8901b81aff82756ae2c8010bb392d60f2d336a6e75562a87c7bfd5adb"}],"routes":[{"kind":"compare","line":596,"owner":"","path":"/bridge/bridge.cmd","segment_sha256":"bea803e2bf945e9c5008a239e11936ecdbd8475018029010553aae5d638af370"},{"kind":"startswith","line":609,"owner":"","path":"/enroll/","segment_sha256":"902d0c2af350b77c90fcd32dbf60dd2362c9e0d7ec504ad185488cc97161ef56"},{"kind":"compare","line":771,"owner":"","path":"/api/enroll","segment_sha256":"d1e94b164fcc17d1db52d30967b862e840416d96902d98986ba7d831796985dd"},{"kind":"compare","line":791,"owner":"","path":"/api/import","segment_sha256":"528504d107f4e3a9c88fb94943e594ed199c19d14b7398d0499ed62a41c176f9"}],"schema_fields":["Authorization","Cookie","argv","mode","payload","risk"]},"requested":{"basename":"homelab-command-portal","class":"usr_local","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be"},"resolved":{"basename":"homelab-command-portal","class":"usr_local","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be"},"sha256":"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52","symlink_chain":[{"basename":"homelab-command-portal","class":"usr_local","mode":"0o755","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be","symlink":false}],"unit":"homelab-command-portal.service"}],"analysis_ready":true,"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z","command_rc":0,"git":{"anchor":{"basename":"cr-2026-0015","class":"srv","path_sha256":"1b3beda8fc19beb489d31ac23276ec633dbe86b73185a75cab96cb5fe244fc9f"},"anchor_present":true,"provenance":{"homelab-command-adapter":{"active_sha256":"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d","current_worktree_matches":[],"exact_source_bound":false,"history_matches":[]},"homelab-command-portal":{"active_sha256":"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52","current_worktree_matches":[],"exact_source_bound":false,"history_matches":[]}},"worktree_count":3},"mutation_outcome":"NO_MUTATION","next_action":"BUILD_SHA_GUARDED_EPHEMERAL_SECRET_HANDOFF_TRANSACTION","output_truncated_in_json":false,"rc":0,"read_only":true,"readiness":{"adapter_ready":true,"exact_files_ready":true,"portal_ready":true,"source_bound":false},"rollback_restored":null,"rollback_started":false,"root_cause_classification":"ACTIVE_EXECUTION_VERIFIED_GIT_SOURCE_UNBOUND","schema":1,"source_bound":false,"status":"OK","units":[{"active_state":"active","environment_files_declared":false,"show_rc":0,"sources":[{"basename":"homelab-command-adapter.service","class":"etc","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045"},{"basename":"homelab-command-adapter","class":"usr_local","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739"}],"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sub_state":"running","unit":"homelab-command-adapter.service","user_class":"root","working_directory_declared":false},{"active_state":"active","environment_files_declared":false,"show_rc":0,"sources":[{"basename":"homelab-command-portal.service","class":"etc","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a"},{"basename":"homelab-command-portal","class":"usr_local","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be"}],"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sub_state":"running","unit":"homelab-command-portal.service","user_class":"non_root","working_directory_declared":false}]} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 522ce51..c2007a7 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "HOMELAB-CLUSTER-ADMIN-UPDATES-V14-PUBLICATION-ROOT-READ-ONLY-20260805T123800Z", + "command_id": "HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", - "component": "homelab-cluster-admin-update-visibility", - "started_at_utc": "2026-08-05T12:46:39Z", - "finished_at_utc": "2026-08-05T12:46:39Z", + "component": "skladchik-handoff-source-bind-read-only", + "started_at_utc": "2026-08-05T12:50:52Z", + "finished_at_utc": "2026-08-05T12:50:52Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "1e53329d0c6dba95372ad989224a229a943173336501ab6a6925bac0600bcc55", + "command_sha256": "a8213c80cd21274548acfd1063b3b782d58a80e98599b151eeab8b5d53e4deb3", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "cc30d7f4e6be0ab5e78545d4537a39178b59e9f1a79227efaec134b78f6fc233", - "sanitized_output_sha256": "cc30d7f4e6be0ab5e78545d4537a39178b59e9f1a79227efaec134b78f6fc233", + "raw_evidence_sha256": "eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af", + "sanitized_output_sha256": "eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V14-PUBLICATION-ROOT-READ-ONLY-20260805T123800Z\",\"command_rc\":0,\"control_plane_error\":null,\"index_candidate_count\":1,\"literal_path_count\":14,\"mutation_outcome\":\"NO_MUTATION\",\"publication_index_sha256\":null,\"publication_root\":null,\"publication_root_unique\":false,\"rc\":0,\"ready_for_corrected_transaction\":false,\"report_bytes\":9909,\"report_sha256\":\"fe300b0680f335cddc570f2fdafc350eab247fe9e5a0f5c2db71f7d9e2292156\",\"rollback_restored\":false,\"rollback_started\":false,\"status\":\"OK\",\"sync_line_count\":1,\"top_candidate_count\":1,\"top_candidate_score\":17,\"v13_exact_error\":\"webpanel publication root not found from exact script\",\"v13_exact_result_identity_confirmed\":true,\"version\":1,\"webpanel_script_sha256\":\"2c57cca503cb0734e5114c2ab46b892a810bdc40c2baa7387b4094373db19276\"}\n{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V14-PUBLICATION-ROOT-READ-ONLY-20260805T123800Z\",\"index_scan\":{\"allowed_roots\":[\"/var/lib/homelab\",\"/var/www\",\"/srv\",\"/opt\",\"/root\",\"/usr/local/share\"],\"candidate_count\":1,\"candidates\":[{\"evidence\":[\"cluster-admin-content\"],\"index\":\"/root/parked-domains-kit/site/index.html\",\"index_bytes\":4129,\"index_sha256\":\"20f756af0324ae2e97156808bd4260ae641d9c805468ae063cf8d2e80211b940\",\"mode\":\"0o644\",\"root\":\"/root/parked-domains-kit/site\",\"score\":17,\"siblings\":[\"index.html\"],\"title_lines\":[\" Домен припаркован\",\"
PARKED_PAGE_OK · homelab
\"]}],\"directories_scanned\":2209},\"literal_paths\":[{\"allowed\":false,\"bytes\":56144,\"exists\":true,\"expanded\":\"/usr/bin/env\",\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"raw\":\"/usr/bin/env\",\"sha256\":\"eb1c64bbc9908afcdf8cb48524f17112d8dd76a249f80dee2f01da14747b3b6e\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/tmp/cluster-admin-webpanel-sync\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/tmp/cluster-admin-webpanel-sync\"},{\"allowed\":false,\"bytes\":217,\"exists\":true,\"expanded\":\"/var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt\",\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt\",\"sha256\":\"e03b236f41f8d66f070ecd3234b3ff0836a44d972fd6f6abc721b9683fa22053\"},{\"allowed\":false,\"bytes\":1535,\"exists\":true,\"expanded\":\"/var/lib/homelab-health/overall.txt\",\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/overall.txt\",\"sha256\":\"0ec7f8bcad6d2578f209b222be1135e7fa03f801e1e07bdbb634ba5f536a101b\"},{\"allowed\":false,\"bytes\":128,\"exists\":true,\"expanded\":\"/var/lib/homelab-health/final-readiness.txt\",\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/final-readiness.txt\",\"sha256\":\"a15ee89bc9826b84a5b52e81f63a133b127bd7e263223eabf6b9ec62930e35ac\"},{\"allowed\":false,\"bytes\":380,\"exists\":true,\"expanded\":\"/var/lib/homelab-health/cluster-admin-strict-final-seal.txt\",\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/cluster-admin-strict-final-seal.txt\",\"sha256\":\"03a07c2be6dd4900c328c05aded594879117efbc02a8d2a7e89ae2d9847dfe8e\"},{\"allowed\":false,\"exists\":true,\"expanded\":\"/tmp/\",\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/tmp/\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/var/lib/homelab-health/pve01-pushed\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/pve01-pushed\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/tmp/cluster-admin-vm-mail-cloud-backup.txt\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/tmp/cluster-admin-vm-mail-cloud-backup.txt\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/tmp/overall.txt\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/tmp/overall.txt\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/tmp/final-readiness.txt\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/tmp/final-readiness.txt\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/tmp/cluster-admin-strict-final-seal.txt\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/tmp/cluster-admin-strict-final-seal.txt\"},{\"allowed\":null,\"exists\":false,\"expanded\":\"/var/lib/homelab-health/pve01-pushed/\",\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/pve01-pushed/\"},{\"allowed\":false,\"bytes\":215,\"exists\":true,\"expanded\":\"/var/lib/homelab-health/cluster-admin-webpanel-sync.txt\",\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"raw\":\"/var/lib/homelab-health/cluster-admin-webpanel-sync.txt\",\"sha256\":\"c7a363c1a68111eb09de7911e5ae66a28f4d6abbd16cfcde89b39dbde850b56d\"}],\"mutation_outcome\":\"NO_MUTATION\",\"publication_root_gate\":{\"next_required_action\":\"resolve only remaining publication-root ambiguity\",\"ready_for_corrected_transaction\":false,\"top_candidate_count\":1,\"top_score\":17,\"unique_candidate\":null},\"read_only\":true,\"rollback_restored\":false,\"rollback_started\":false,\"schema\":14,\"status\":\"OK\",\"sync_lines\":[{\"command\":\"scp\",\"expanded\":\"scp -q -o BatchMode=yes -o ConnectTimeout=8 \\\"/tmp/cluster-admin-webpanel-sync\\\"/*.txt debian@:/tmp/\",\"line\":21,\"operands\":[\"/tmp/cluster-admin-webpanel-sync/*.txt\",\"debian@:/tmp/\"],\"raw\":\"scp -q -o BatchMode=yes -o ConnectTimeout=8 \\\"$TMP\\\"/*.txt debian@:/tmp/\",\"tokens\":[\"scp\",\"-q\",\"-o\",\"BatchMode=yes\",\"-o\",\"ConnectTimeout=8\",\"/tmp/cluster-admin-webpanel-sync/*.txt\",\"debian@:/tmp/\"]}],\"systemd\":{\"homelab-cluster-admin-webpanel-sync.service\":{\"cat_rc\":0,\"cat_stderr\":\"\",\"show\":{\"ActiveState\":\"inactive\",\"DropInPaths\":\"\",\"ExecStart\":\"{ path=/usr/local/sbin/homelab-cluster-admin-webpanel-sync ; argv[]=/usr/local/sbin/homelab-cluster-admin-webpanel-sync ; ignore_errors=no ; start_time=[Wed 2026-08-05 15:46:26 MSK] ; stop_time=[Wed 2026-08-05 15:46:27 MSK] ; pid=2863599 ; code=exited ; status=0 }\",\"FragmentPath\":\"/etc/systemd/system/homelab-cluster-admin-webpanel-sync.service\",\"Group\":\"\",\"LoadState\":\"loaded\",\"SubState\":\"dead\",\"TriggeredBy\":\"homelab-cluster-admin-webpanel-sync.timer\",\"Triggers\":\"\",\"UnitFileState\":\"static\",\"User\":\"\",\"WorkingDirectory\":\"\"},\"show_rc\":0,\"show_stderr\":\"\",\"unit_text\":\"# /etc/systemd/system/homelab-cluster-admin-webpanel-sync.service\\n[Unit]\\nDescription=Push public pve01 health files to cluster-admin webpanel\\n\\n[Service]\\nType=oneshot\\nExecStart=/usr/local/sbin/homelab-cluster-admin-webpanel-sync\"},\"homelab-cluster-admin-webpanel-sync.timer\":{\"cat_rc\":0,\"cat_stderr\":\"\",\"show\":{\"ActiveState\":\"active\",\"DropInPaths\":\"\",\"FragmentPath\":\"/etc/systemd/system/homelab-cluster-admin-webpanel-sync.timer\",\"LoadState\":\"loaded\",\"SubState\":\"waiting\",\"TriggeredBy\":\"\",\"Triggers\":\"homelab-cluster-admin-webpanel-sync.service\",\"UnitFileState\":\"enabled\"},\"show_rc\":0,\"show_stderr\":\"\",\"unit_text\":\"# /etc/systemd/system/homelab-cluster-admin-webpanel-sync.timer\\n[Unit]\\nDescription=Refresh pushed health files for cluster-admin webpanel\\n\\n[Timer]\\nOnBootSec=2min\\nOnUnitActiveSec=1min\\nPersistent=true\\n\\n[Install]\\nWantedBy=timers.target\"}},\"v13_exact_result\":{\"changes_made\":false,\"control_plane_error\":null,\"exact_error\":\"webpanel publication root not found from exact script\",\"identity_confirmed\":true,\"mutation_outcome\":\"NO_MUTATION\",\"output_bytes\":731,\"output_sha256\":\"a331f7d1e8d501d6295505a832d4717c5eef1246780789980ea20c5670370e62\",\"output_source\":\"runner_json\",\"rollback_restored\":false,\"rollback_started\":false,\"runner_document_rc\":1,\"runner_json_sha256\":\"a210a7acf0f14396a3d55864beb0e1a43e28d5ba83bb9f2e774b9669166a6b01\",\"runner_rc\":1,\"runner_status\":\"FAIL\",\"runner_text_sha256\":\"b5883d67631c9988a99eb6c2a5200da012c08b123c7f7baac7d69b914a5cee5f\",\"runner_wrapper_matches_document\":true,\"state_document_sha256\":\"95bfb7834ba65882a7843a3acd4c8b0d9a5fd4487439d05c959af677223fa17b\",\"state_path_sha256\":\"258275b227d6092dfba94f821359a125ed44d0f39043749d79868071551327d3\",\"state_status\":\"FAIL\"},\"variables\":{\"0\":\"/usr/local/sbin/homelab-cluster-admin-webpanel-sync\",\"BAD\":\"$((BAD+1))\",\"BASH_SOURCE\":\"/usr/local/sbin/homelab-cluster-admin-webpanel-sync\",\"BASH_SOURCE[0]\":\"/usr/local/sbin/homelab-cluster-admin-webpanel-sync\",\"SCP_RC\":\"$?\",\"SCRIPT_DIR\":\"/usr/local/sbin\",\"SCRIPT_PATH\":\"/usr/local/sbin/homelab-cluster-admin-webpanel-sync\",\"SSH_RC\":\"$?\",\"TMP\":\"/tmp/cluster-admin-webpanel-sync\",\"TS\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"dst\":\"$2\",\"src\":\"$1\"},\"webpanel_script\":{\"bash_n_rc\":0,\"bytes\":1609,\"mode\":\"0o755\",\"path\":\"/usr/local/sbin/homelab-cluster-admin-webpanel-sync\",\"sha256\":\"2c57cca503cb0734e5114c2ab46b892a810bdc40c2baa7387b4094373db19276\",\"source\":[{\"line\":1,\"text\":\"#!/usr/bin/env bash\"},{\"line\":2,\"text\":\"set +e\"},{\"line\":3,\"text\":\"TS=$(date -u +%Y-%m-%dT%H:%M:%SZ)\"},{\"line\":4,\"text\":\"TMP=/tmp/cluster-admin-webpanel-sync\"},{\"line\":5,\"text\":\"mkdir -p \\\"$TMP\\\"\"},{\"line\":6,\"text\":\"BAD=0\"},{\"line\":7,\"text\":\"copy_health() {\"},{\"line\":8,\"text\":\" src=\\\"$1\\\"\"},{\"line\":9,\"text\":\" dst=\\\"$2\\\"\"},{\"line\":10,\"text\":\" if [ -s \\\"$src\\\" ]; then\"},{\"line\":11,\"text\":\" cp \\\"$src\\\" \\\"$TMP/$dst\\\"\"},{\"line\":12,\"text\":\" else\"},{\"line\":13,\"text\":\" echo \\\"STATUS=WARN TS=$TS TYPE=missing-health BAD=1 SRC=$src\\\" > \\\"$TMP/$dst\\\"\"},{\"line\":14,\"text\":\" BAD=$((BAD+1))\"},{\"line\":15,\"text\":\" fi\"},{\"line\":16,\"text\":\"}\"},{\"line\":17,\"text\":\"copy_health /var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt cluster-admin-vm-mail-cloud-backup.txt\"},{\"line\":18,\"text\":\"copy_health /var/lib/homelab-health/overall.txt overall.txt\"},{\"line\":19,\"text\":\"copy_health /var/lib/homelab-health/final-readiness.txt final-readiness.txt\"},{\"line\":20,\"text\":\"copy_health /var/lib/homelab-health/cluster-admin-strict-final-seal.txt cluster-admin-strict-final-seal.txt\"},{\"line\":21,\"text\":\"scp -q -o BatchMode=yes -o ConnectTimeout=8 \\\"$TMP\\\"/*.txt debian@:/tmp/\"},{\"line\":22,\"text\":\"SCP_RC=$?\"},{\"line\":23,\"text\":\"[ \\\"$SCP_RC\\\" = 0 ] || BAD=$((BAD+1))\"},{\"line\":24,\"text\":\"ssh -n -o BatchMode=yes -o ConnectTimeout=8 debian@ 'sudo install -d -m 0755 /var/lib/homelab-health/pve01-pushed; for f in /tmp/cluster-admin-vm-mail-cloud-backup.txt /tmp/overall.txt /tmp/final-readiness.txt /tmp/cluster-admin-strict-final-seal.txt; do test -s \\\"$f\\\" && sudo install -m 0644 \\\"$f\\\" /var/lib/homelab-health/pve01-pushed/; done'\"},{\"line\":25,\"text\":\"SSH_RC=$?\"},{\"line\":26,\"text\":\"[ \\\"$SSH_RC\\\" = 0 ] || BAD=$((BAD+1))\"},{\"line\":27,\"text\":\"if [ \\\"$BAD\\\" = 0 ]; then STATUS=OK; else STATUS=WARN; fi\"},{\"line\":28,\"text\":\"echo \\\"STATUS=$STATUS TS=$TS TYPE=cluster-admin-webpanel-sync BAD=$BAD VMID=180 IP= SCP_RC=$SCP_RC SSH_RC=$SSH_RC PUSHED=cluster-admin-vm-mail-cloud-backup,overall,final-readiness,cluster-admin-strict-final-seal\\\" > /var/lib/homelab-health/cluster-admin-webpanel-sync.txt\"},{\"line\":29,\"text\":\"cat /var/lib/homelab-health/cluster-admin-webpanel-sync.txt\"}]}}\n" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z\",\"command_rc\":0,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"active_files\":[{\"bytes\":665,\"mode\":\"0o644\",\"requested\":{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\"},\"resolved\":{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\"},\"sha256\":\"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7\",\"symlink_chain\":[{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"mode\":\"0o644\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\",\"symlink\":false}],\"unit\":\"homelab-command-adapter.service\"},{\"bytes\":86019,\"mode\":\"0o755\",\"python\":{\"error\":null,\"functions\":[{\"args\":[\"args\"],\"line\":658,\"name\":\"run_command\",\"segment_sha256\":\"9cc54e923af387a0d707394fca81eb7f7c23a9f0933ee69281ef97a2a9073146\"},{\"args\":[\"state\"],\"line\":1547,\"name\":\"sanitize_state\",\"segment_sha256\":\"f65062417f5cc3835ae7f91984be733e10348eb56b52d66e258abc013533e0b9\"},{\"args\":[\"argv\",\"payload_root\"],\"line\":1670,\"name\":\"substitute_argv\",\"segment_sha256\":\"0adfb439cbbe53225dac3941b6e79a6a669ea02e413e2f4134a3fd61eb82f3f0\"},{\"args\":[\"args\"],\"line\":2049,\"name\":\"run_existing_runner\",\"segment_sha256\":\"ca5964725e800420a886192740771da2099500c76ed10a7f3fd7a2e9ff4134ae\"},{\"args\":[\"request\"],\"line\":2639,\"name\":\"dispatch\",\"segment_sha256\":\"7b4d4e9ff23b1177453e51bbe7b2ce3dd10fd48f6e56e000d7ae69d6917834f4\"},{\"args\":[\"self\"],\"line\":2749,\"name\":\"handle\",\"segment_sha256\":\"ce948fe6248f462115796fcee91ec72f891339d9b603b98ce84a8842eaeb3926\"}],\"imports\":[\"__future__\",\"argparse\",\"base64\",\"datetime\",\"fcntl\",\"gzip\",\"hashlib\",\"hmac\",\"html\",\"io\",\"json\",\"os\",\"pathlib\",\"pwd\",\"re\",\"secrets\",\"shutil\",\"signal\",\"socket\",\"socketserver\",\"stat\",\"struct\",\"subprocess\",\"sys\",\"tarfile\",\"tempfile\",\"threading\",\"time\",\"typing\",\"urllib.parse\"],\"parse_ok\":true,\"process_calls\":[{\"call\":\"subprocess.run\",\"has_env\":true,\"has_stdin\":true,\"keywords\":[\"check\",\"env\",\"stderr\",\"stdin\",\"stdout\",\"text\",\"timeout\"],\"line\":664,\"segment_sha256\":\"fbe36f5d1ed7b23d545f105135de2993138aa4a8dafc9f5419d7c37b36deebae\"},{\"call\":\"subprocess.Popen\",\"has_env\":true,\"has_stdin\":true,\"keywords\":[\"close_fds\",\"env\",\"start_new_session\",\"stderr\",\"stdin\",\"stdout\"],\"line\":1626,\"segment_sha256\":\"90bb736720d2877f6704459828dc5551619ba00834a4660e9ed9c7f86e05b8c6\"},{\"call\":\"subprocess.Popen\",\"has_env\":true,\"has_stdin\":true,\"keywords\":[\"close_fds\",\"env\",\"start_new_session\",\"stderr\",\"stdin\",\"stdout\",\"text\"],\"line\":2056,\"segment_sha256\":\"4582da2d6b8e31108deedee5a5d6b877788db5da0f6d52120a605d76d0037d97\"}],\"redaction_symbols\":[\"create_evidence_bundle\",\"evidence_url\",\"remote_evidence_presign\",\"sanitize_state\",\"sign_evidence\",\"upload_evidence\"],\"request_sites\":[{\"call\":\"json.loads\",\"line\":245,\"segment_sha256\":\"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4\"},{\"call\":\"json.loads\",\"line\":288,\"segment_sha256\":\"bf67e3bbc5d4ac5ab0d15340108bb5410b74494961d88fa35c556acbf64afbd4\"},{\"call\":\"json.loads\",\"line\":706,\"segment_sha256\":\"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4\"},{\"call\":\"json.loads\",\"line\":2009,\"segment_sha256\":\"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4\"},{\"call\":\"self.rfile.readline\",\"line\":2765,\"segment_sha256\":\"e42346ea97b7870f278aaf7cb87b9e20c01dd1a2e3f34f561e1fae6d4febb592\"},{\"call\":\"json.loads\",\"line\":2772,\"segment_sha256\":\"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4\"}],\"routes\":[{\"kind\":\"startswith\",\"line\":529,\"owner\":\"\",\"path\":\"/\",\"segment_sha256\":\"b1af8a6dd713e6a332c44625432a263eab2c49721398367ee1277e38f7e8623b\"}],\"schema_fields\":[\"argv\",\"content_b64\",\"mode\",\"payload\",\"risk\",\"secret\"]},\"requested\":{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\"},\"resolved\":{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\"},\"sha256\":\"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d\",\"symlink_chain\":[{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"mode\":\"0o755\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\",\"symlink\":false}],\"unit\":\"homelab-command-adapter.service\"},{\"bytes\":981,\"mode\":\"0o644\",\"requested\":{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\"},\"resolved\":{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\"},\"sha256\":\"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263\",\"symlink_chain\":[{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"mode\":\"0o644\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\",\"symlink\":false}],\"unit\":\"homelab-command-portal.service\"},{\"bytes\":39936,\"mode\":\"0o755\",\"python\":{\"error\":null,\"functions\":[{\"args\":[\"request\"],\"line\":44,\"name\":\"adapter_call\",\"segment_sha256\":\"facf24c434f624f6a97482acbc7d053e595dc3cb1389f4b7d73ecce0f7934ac4\"},{\"args\":[\"self\",\"status\",\"content_type\",\"body\"],\"line\":471,\"name\":\"reply\",\"segment_sha256\":\"1e3a858264d98399a6e3fa9d3be77250b9afd667890f67f7172131cfc3121e8b\"},{\"args\":[\"self\"],\"line\":553,\"name\":\"do_GET\",\"segment_sha256\":\"b7332de76c63c8b6609c9e303c4b9b05943b0c0a1d544bd48a78e54a69e0f2ac\"},{\"args\":[\"self\"],\"line\":766,\"name\":\"do_POST\",\"segment_sha256\":\"11c1ce3f3c6425cbbfaf9a04211ff4025e40a8eed7628cd57bdfbee32544b035\"},{\"args\":[\"request\"],\"line\":1041,\"name\":\"fake_adapter_call\",\"segment_sha256\":\"26cdff236d21fb0a7d4799ab6de0e80dbe9104ad11836ca7ade55ecf9f66c42d\"}],\"imports\":[\"__future__\",\"argparse\",\"hashlib\",\"hmac\",\"html\",\"http.cookies\",\"http.server\",\"ipaddress\",\"json\",\"os\",\"pathlib\",\"re\",\"secrets\",\"socket\",\"sys\",\"time\",\"typing\",\"urllib.parse\"],\"parse_ok\":true,\"process_calls\":[],\"redaction_symbols\":[],\"request_sites\":[{\"call\":\"json.loads\",\"line\":81,\"segment_sha256\":\"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4\"},{\"call\":\"self.rfile.read\",\"line\":541,\"segment_sha256\":\"e88ccc84bddb9730bf85279cc75080f708954fea1522420d79deeef7f4d4022e\"},{\"call\":\"urllib.parse.parse_qs\",\"line\":548,\"segment_sha256\":\"db330b7137c377ba69515c420495114e333999d1d4f22ed4a476b59e8130c937\"},{\"call\":\"urllib.parse.parse_qs\",\"line\":852,\"segment_sha256\":\"24f22df8901b81aff82756ae2c8010bb392d60f2d336a6e75562a87c7bfd5adb\"}],\"routes\":[{\"kind\":\"compare\",\"line\":596,\"owner\":\"\",\"path\":\"/bridge/bridge.cmd\",\"segment_sha256\":\"bea803e2bf945e9c5008a239e11936ecdbd8475018029010553aae5d638af370\"},{\"kind\":\"startswith\",\"line\":609,\"owner\":\"\",\"path\":\"/enroll/\",\"segment_sha256\":\"902d0c2af350b77c90fcd32dbf60dd2362c9e0d7ec504ad185488cc97161ef56\"},{\"kind\":\"compare\",\"line\":771,\"owner\":\"\",\"path\":\"/api/enroll\",\"segment_sha256\":\"d1e94b164fcc17d1db52d30967b862e840416d96902d98986ba7d831796985dd\"},{\"kind\":\"compare\",\"line\":791,\"owner\":\"\",\"path\":\"/api/import\",\"segment_sha256\":\"528504d107f4e3a9c88fb94943e594ed199c19d14b7398d0499ed62a41c176f9\"}],\"schema_fields\":[\"Authorization\",\"Cookie\",\"argv\",\"mode\",\"payload\",\"risk\"]},\"requested\":{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\"},\"resolved\":{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\"},\"sha256\":\"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52\",\"symlink_chain\":[{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"mode\":\"0o755\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\",\"symlink\":false}],\"unit\":\"homelab-command-portal.service\"}],\"analysis_ready\":true,\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z\",\"command_rc\":0,\"git\":{\"anchor\":{\"basename\":\"cr-2026-0015\",\"class\":\"srv\",\"path_sha256\":\"1b3beda8fc19beb489d31ac23276ec633dbe86b73185a75cab96cb5fe244fc9f\"},\"anchor_present\":true,\"provenance\":{\"homelab-command-adapter\":{\"active_sha256\":\"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d\",\"current_worktree_matches\":[],\"exact_source_bound\":false,\"history_matches\":[]},\"homelab-command-portal\":{\"active_sha256\":\"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52\",\"current_worktree_matches\":[],\"exact_source_bound\":false,\"history_matches\":[]}},\"worktree_count\":3},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"BUILD_SHA_GUARDED_EPHEMERAL_SECRET_HANDOFF_TRANSACTION\",\"output_truncated_in_json\":false,\"rc\":0,\"read_only\":true,\"readiness\":{\"adapter_ready\":true,\"exact_files_ready\":true,\"portal_ready\":true,\"source_bound\":false},\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"ACTIVE_EXECUTION_VERIFIED_GIT_SOURCE_UNBOUND\",\"schema\":1,\"source_bound\":false,\"status\":\"OK\",\"units\":[{\"active_state\":\"active\",\"environment_files_declared\":false,\"show_rc\":0,\"sources\":[{\"basename\":\"homelab-command-adapter.service\",\"class\":\"etc\",\"path_sha256\":\"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045\"},{\"basename\":\"homelab-command-adapter\",\"class\":\"usr_local\",\"path_sha256\":\"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739\"}],\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"sub_state\":\"running\",\"unit\":\"homelab-command-adapter.service\",\"user_class\":\"root\",\"working_directory_declared\":false},{\"active_state\":\"active\",\"environment_files_declared\":false,\"show_rc\":0,\"sources\":[{\"basename\":\"homelab-command-portal.service\",\"class\":\"etc\",\"path_sha256\":\"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a\"},{\"basename\":\"homelab-command-portal\",\"class\":\"usr_local\",\"path_sha256\":\"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be\"}],\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"sub_state\":\"running\",\"unit\":\"homelab-command-portal.service\",\"user_class\":\"non_root\",\"working_directory_declared\":false}]}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 8573e9e..52c7946 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=HOMELAB-CLUSTER-ADMIN-UPDATES-V14-PUBLICATION-ROOT-READ-ONLY-20260805T123800Z +COMMAND_ID=HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z STATUS=OK RC=0 HOST=pve01 MODE=verify -COMPONENT=homelab-cluster-admin-update-visibility +COMPONENT=skladchik-handoff-source-bind-read-only REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=1e53329d0c6dba95372ad989224a229a943173336501ab6a6925bac0600bcc55 +COMMAND_SHA256=a8213c80cd21274548acfd1063b3b782d58a80e98599b151eeab8b5d53e4deb3 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,11 +24,11 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=cc30d7f4e6be0ab5e78545d4537a39178b59e9f1a79227efaec134b78f6fc233 -SANITIZED_OUTPUT_SHA256=cc30d7f4e6be0ab5e78545d4537a39178b59e9f1a79227efaec134b78f6fc233 +RAW_EVIDENCE_SHA256=eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af +SANITIZED_OUTPUT_SHA256=eaa72e6c2d598300db8afc0fbb3d209fed2d940f9382077bbe5951f3f12432af OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V14-PUBLICATION-ROOT-READ-ONLY-20260805T123800Z","command_rc":0,"control_plane_error":null,"index_candidate_count":1,"literal_path_count":14,"mutation_outcome":"NO_MUTATION","publication_index_sha256":null,"publication_root":null,"publication_root_unique":false,"rc":0,"ready_for_corrected_transaction":false,"report_bytes":9909,"report_sha256":"fe300b0680f335cddc570f2fdafc350eab247fe9e5a0f5c2db71f7d9e2292156","rollback_restored":false,"rollback_started":false,"status":"OK","sync_line_count":1,"top_candidate_count":1,"top_candidate_score":17,"v13_exact_error":"webpanel publication root not found from exact script","v13_exact_result_identity_confirmed":true,"version":1,"webpanel_script_sha256":"2c57cca503cb0734e5114c2ab46b892a810bdc40c2baa7387b4094373db19276"} -{"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V14-PUBLICATION-ROOT-READ-ONLY-20260805T123800Z","index_scan":{"allowed_roots":["/var/lib/homelab","/var/www","/srv","/opt","/root","/usr/local/share"],"candidate_count":1,"candidates":[{"evidence":["cluster-admin-content"],"index":"/root/parked-domains-kit/site/index.html","index_bytes":4129,"index_sha256":"20f756af0324ae2e97156808bd4260ae641d9c805468ae063cf8d2e80211b940","mode":"0o644","root":"/root/parked-domains-kit/site","score":17,"siblings":["index.html"],"title_lines":[" Домен припаркован","
PARKED_PAGE_OK · homelab
"]}],"directories_scanned":2209},"literal_paths":[{"allowed":false,"bytes":56144,"exists":true,"expanded":"/usr/bin/env","is_dir":false,"is_file":true,"is_symlink":false,"raw":"/usr/bin/env","sha256":"eb1c64bbc9908afcdf8cb48524f17112d8dd76a249f80dee2f01da14747b3b6e"},{"allowed":null,"exists":false,"expanded":"/tmp/cluster-admin-webpanel-sync","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/tmp/cluster-admin-webpanel-sync"},{"allowed":false,"bytes":217,"exists":true,"expanded":"/var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt","is_dir":false,"is_file":true,"is_symlink":false,"raw":"/var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt","sha256":"e03b236f41f8d66f070ecd3234b3ff0836a44d972fd6f6abc721b9683fa22053"},{"allowed":false,"bytes":1535,"exists":true,"expanded":"/var/lib/homelab-health/overall.txt","is_dir":false,"is_file":true,"is_symlink":false,"raw":"/var/lib/homelab-health/overall.txt","sha256":"0ec7f8bcad6d2578f209b222be1135e7fa03f801e1e07bdbb634ba5f536a101b"},{"allowed":false,"bytes":128,"exists":true,"expanded":"/var/lib/homelab-health/final-readiness.txt","is_dir":false,"is_file":true,"is_symlink":false,"raw":"/var/lib/homelab-health/final-readiness.txt","sha256":"a15ee89bc9826b84a5b52e81f63a133b127bd7e263223eabf6b9ec62930e35ac"},{"allowed":false,"bytes":380,"exists":true,"expanded":"/var/lib/homelab-health/cluster-admin-strict-final-seal.txt","is_dir":false,"is_file":true,"is_symlink":false,"raw":"/var/lib/homelab-health/cluster-admin-strict-final-seal.txt","sha256":"03a07c2be6dd4900c328c05aded594879117efbc02a8d2a7e89ae2d9847dfe8e"},{"allowed":false,"exists":true,"expanded":"/tmp/","is_dir":true,"is_file":false,"is_symlink":false,"raw":"/tmp/"},{"allowed":null,"exists":false,"expanded":"/var/lib/homelab-health/pve01-pushed","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/var/lib/homelab-health/pve01-pushed"},{"allowed":null,"exists":false,"expanded":"/tmp/cluster-admin-vm-mail-cloud-backup.txt","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/tmp/cluster-admin-vm-mail-cloud-backup.txt"},{"allowed":null,"exists":false,"expanded":"/tmp/overall.txt","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/tmp/overall.txt"},{"allowed":null,"exists":false,"expanded":"/tmp/final-readiness.txt","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/tmp/final-readiness.txt"},{"allowed":null,"exists":false,"expanded":"/tmp/cluster-admin-strict-final-seal.txt","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/tmp/cluster-admin-strict-final-seal.txt"},{"allowed":null,"exists":false,"expanded":"/var/lib/homelab-health/pve01-pushed/","is_dir":false,"is_file":false,"is_symlink":false,"raw":"/var/lib/homelab-health/pve01-pushed/"},{"allowed":false,"bytes":215,"exists":true,"expanded":"/var/lib/homelab-health/cluster-admin-webpanel-sync.txt","is_dir":false,"is_file":true,"is_symlink":false,"raw":"/var/lib/homelab-health/cluster-admin-webpanel-sync.txt","sha256":"c7a363c1a68111eb09de7911e5ae66a28f4d6abbd16cfcde89b39dbde850b56d"}],"mutation_outcome":"NO_MUTATION","publication_root_gate":{"next_required_action":"resolve only remaining publication-root ambiguity","ready_for_corrected_transaction":false,"top_candidate_count":1,"top_score":17,"unique_candidate":null},"read_only":true,"rollback_restored":false,"rollback_started":false,"schema":14,"status":"OK","sync_lines":[{"command":"scp","expanded":"scp -q -o BatchMode=yes -o ConnectTimeout=8 \"/tmp/cluster-admin-webpanel-sync\"/*.txt debian@:/tmp/","line":21,"operands":["/tmp/cluster-admin-webpanel-sync/*.txt","debian@:/tmp/"],"raw":"scp -q -o BatchMode=yes -o ConnectTimeout=8 \"$TMP\"/*.txt debian@:/tmp/","tokens":["scp","-q","-o","BatchMode=yes","-o","ConnectTimeout=8","/tmp/cluster-admin-webpanel-sync/*.txt","debian@:/tmp/"]}],"systemd":{"homelab-cluster-admin-webpanel-sync.service":{"cat_rc":0,"cat_stderr":"","show":{"ActiveState":"inactive","DropInPaths":"","ExecStart":"{ path=/usr/local/sbin/homelab-cluster-admin-webpanel-sync ; argv[]=/usr/local/sbin/homelab-cluster-admin-webpanel-sync ; ignore_errors=no ; start_time=[Wed 2026-08-05 15:46:26 MSK] ; stop_time=[Wed 2026-08-05 15:46:27 MSK] ; pid=2863599 ; code=exited ; status=0 }","FragmentPath":"/etc/systemd/system/homelab-cluster-admin-webpanel-sync.service","Group":"","LoadState":"loaded","SubState":"dead","TriggeredBy":"homelab-cluster-admin-webpanel-sync.timer","Triggers":"","UnitFileState":"static","User":"","WorkingDirectory":""},"show_rc":0,"show_stderr":"","unit_text":"# /etc/systemd/system/homelab-cluster-admin-webpanel-sync.service\n[Unit]\nDescription=Push public pve01 health files to cluster-admin webpanel\n\n[Service]\nType=oneshot\nExecStart=/usr/local/sbin/homelab-cluster-admin-webpanel-sync"},"homelab-cluster-admin-webpanel-sync.timer":{"cat_rc":0,"cat_stderr":"","show":{"ActiveState":"active","DropInPaths":"","FragmentPath":"/etc/systemd/system/homelab-cluster-admin-webpanel-sync.timer","LoadState":"loaded","SubState":"waiting","TriggeredBy":"","Triggers":"homelab-cluster-admin-webpanel-sync.service","UnitFileState":"enabled"},"show_rc":0,"show_stderr":"","unit_text":"# /etc/systemd/system/homelab-cluster-admin-webpanel-sync.timer\n[Unit]\nDescription=Refresh pushed health files for cluster-admin webpanel\n\n[Timer]\nOnBootSec=2min\nOnUnitActiveSec=1min\nPersistent=true\n\n[Install]\nWantedBy=timers.target"}},"v13_exact_result":{"changes_made":false,"control_plane_error":null,"exact_error":"webpanel publication root not found from exact script","identity_confirmed":true,"mutation_outcome":"NO_MUTATION","output_bytes":731,"output_sha256":"a331f7d1e8d501d6295505a832d4717c5eef1246780789980ea20c5670370e62","output_source":"runner_json","rollback_restored":false,"rollback_started":false,"runner_document_rc":1,"runner_json_sha256":"a210a7acf0f14396a3d55864beb0e1a43e28d5ba83bb9f2e774b9669166a6b01","runner_rc":1,"runner_status":"FAIL","runner_text_sha256":"b5883d67631c9988a99eb6c2a5200da012c08b123c7f7baac7d69b914a5cee5f","runner_wrapper_matches_document":true,"state_document_sha256":"95bfb7834ba65882a7843a3acd4c8b0d9a5fd4487439d05c959af677223fa17b","state_path_sha256":"258275b227d6092dfba94f821359a125ed44d0f39043749d79868071551327d3","state_status":"FAIL"},"variables":{"0":"/usr/local/sbin/homelab-cluster-admin-webpanel-sync","BAD":"$((BAD+1))","BASH_SOURCE":"/usr/local/sbin/homelab-cluster-admin-webpanel-sync","BASH_SOURCE[0]":"/usr/local/sbin/homelab-cluster-admin-webpanel-sync","SCP_RC":"$?","SCRIPT_DIR":"/usr/local/sbin","SCRIPT_PATH":"/usr/local/sbin/homelab-cluster-admin-webpanel-sync","SSH_RC":"$?","TMP":"/tmp/cluster-admin-webpanel-sync","TS":"$(date -u +%Y-%m-%dT%H:%M:%SZ)","dst":"$2","src":"$1"},"webpanel_script":{"bash_n_rc":0,"bytes":1609,"mode":"0o755","path":"/usr/local/sbin/homelab-cluster-admin-webpanel-sync","sha256":"2c57cca503cb0734e5114c2ab46b892a810bdc40c2baa7387b4094373db19276","source":[{"line":1,"text":"#!/usr/bin/env bash"},{"line":2,"text":"set +e"},{"line":3,"text":"TS=$(date -u +%Y-%m-%dT%H:%M:%SZ)"},{"line":4,"text":"TMP=/tmp/cluster-admin-webpanel-sync"},{"line":5,"text":"mkdir -p \"$TMP\""},{"line":6,"text":"BAD=0"},{"line":7,"text":"copy_health() {"},{"line":8,"text":" src=\"$1\""},{"line":9,"text":" dst=\"$2\""},{"line":10,"text":" if [ -s \"$src\" ]; then"},{"line":11,"text":" cp \"$src\" \"$TMP/$dst\""},{"line":12,"text":" else"},{"line":13,"text":" echo \"STATUS=WARN TS=$TS TYPE=missing-health BAD=1 SRC=$src\" > \"$TMP/$dst\""},{"line":14,"text":" BAD=$((BAD+1))"},{"line":15,"text":" fi"},{"line":16,"text":"}"},{"line":17,"text":"copy_health /var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt cluster-admin-vm-mail-cloud-backup.txt"},{"line":18,"text":"copy_health /var/lib/homelab-health/overall.txt overall.txt"},{"line":19,"text":"copy_health /var/lib/homelab-health/final-readiness.txt final-readiness.txt"},{"line":20,"text":"copy_health /var/lib/homelab-health/cluster-admin-strict-final-seal.txt cluster-admin-strict-final-seal.txt"},{"line":21,"text":"scp -q -o BatchMode=yes -o ConnectTimeout=8 \"$TMP\"/*.txt debian@:/tmp/"},{"line":22,"text":"SCP_RC=$?"},{"line":23,"text":"[ \"$SCP_RC\" = 0 ] || BAD=$((BAD+1))"},{"line":24,"text":"ssh -n -o BatchMode=yes -o ConnectTimeout=8 debian@ 'sudo install -d -m 0755 /var/lib/homelab-health/pve01-pushed; for f in /tmp/cluster-admin-vm-mail-cloud-backup.txt /tmp/overall.txt /tmp/final-readiness.txt /tmp/cluster-admin-strict-final-seal.txt; do test -s \"$f\" && sudo install -m 0644 \"$f\" /var/lib/homelab-health/pve01-pushed/; done'"},{"line":25,"text":"SSH_RC=$?"},{"line":26,"text":"[ \"$SSH_RC\" = 0 ] || BAD=$((BAD+1))"},{"line":27,"text":"if [ \"$BAD\" = 0 ]; then STATUS=OK; else STATUS=WARN; fi"},{"line":28,"text":"echo \"STATUS=$STATUS TS=$TS TYPE=cluster-admin-webpanel-sync BAD=$BAD VMID=180 IP= SCP_RC=$SCP_RC SSH_RC=$SSH_RC PUSHED=cluster-admin-vm-mail-cloud-backup,overall,final-readiness,cluster-admin-strict-final-seal\" > /var/lib/homelab-health/cluster-admin-webpanel-sync.txt"},{"line":29,"text":"cat /var/lib/homelab-health/cluster-admin-webpanel-sync.txt"}]}} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z","command_rc":0,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"active_files":[{"bytes":665,"mode":"0o644","requested":{"basename":"homelab-command-adapter.service","class":"etc","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045"},"resolved":{"basename":"homelab-command-adapter.service","class":"etc","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045"},"sha256":"74d0f37878652ed9d46b53ae8556bbb30ebd683741f293c3f59b3527876ed2d7","symlink_chain":[{"basename":"homelab-command-adapter.service","class":"etc","mode":"0o644","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045","symlink":false}],"unit":"homelab-command-adapter.service"},{"bytes":86019,"mode":"0o755","python":{"error":null,"functions":[{"args":["args"],"line":658,"name":"run_command","segment_sha256":"9cc54e923af387a0d707394fca81eb7f7c23a9f0933ee69281ef97a2a9073146"},{"args":["state"],"line":1547,"name":"sanitize_state","segment_sha256":"f65062417f5cc3835ae7f91984be733e10348eb56b52d66e258abc013533e0b9"},{"args":["argv","payload_root"],"line":1670,"name":"substitute_argv","segment_sha256":"0adfb439cbbe53225dac3941b6e79a6a669ea02e413e2f4134a3fd61eb82f3f0"},{"args":["args"],"line":2049,"name":"run_existing_runner","segment_sha256":"ca5964725e800420a886192740771da2099500c76ed10a7f3fd7a2e9ff4134ae"},{"args":["request"],"line":2639,"name":"dispatch","segment_sha256":"7b4d4e9ff23b1177453e51bbe7b2ce3dd10fd48f6e56e000d7ae69d6917834f4"},{"args":["self"],"line":2749,"name":"handle","segment_sha256":"ce948fe6248f462115796fcee91ec72f891339d9b603b98ce84a8842eaeb3926"}],"imports":["__future__","argparse","base64","datetime","fcntl","gzip","hashlib","hmac","html","io","json","os","pathlib","pwd","re","secrets","shutil","signal","socket","socketserver","stat","struct","subprocess","sys","tarfile","tempfile","threading","time","typing","urllib.parse"],"parse_ok":true,"process_calls":[{"call":"subprocess.run","has_env":true,"has_stdin":true,"keywords":["check","env","stderr","stdin","stdout","text","timeout"],"line":664,"segment_sha256":"fbe36f5d1ed7b23d545f105135de2993138aa4a8dafc9f5419d7c37b36deebae"},{"call":"subprocess.Popen","has_env":true,"has_stdin":true,"keywords":["close_fds","env","start_new_session","stderr","stdin","stdout"],"line":1626,"segment_sha256":"90bb736720d2877f6704459828dc5551619ba00834a4660e9ed9c7f86e05b8c6"},{"call":"subprocess.Popen","has_env":true,"has_stdin":true,"keywords":["close_fds","env","start_new_session","stderr","stdin","stdout","text"],"line":2056,"segment_sha256":"4582da2d6b8e31108deedee5a5d6b877788db5da0f6d52120a605d76d0037d97"}],"redaction_symbols":["create_evidence_bundle","evidence_url","remote_evidence_presign","sanitize_state","sign_evidence","upload_evidence"],"request_sites":[{"call":"json.loads","line":245,"segment_sha256":"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4"},{"call":"json.loads","line":288,"segment_sha256":"bf67e3bbc5d4ac5ab0d15340108bb5410b74494961d88fa35c556acbf64afbd4"},{"call":"json.loads","line":706,"segment_sha256":"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4"},{"call":"json.loads","line":2009,"segment_sha256":"49c73d21d24e89e31f7701c67025900b8b000fbdde1520e1ce4bbc04d0a543c4"},{"call":"self.rfile.readline","line":2765,"segment_sha256":"e42346ea97b7870f278aaf7cb87b9e20c01dd1a2e3f34f561e1fae6d4febb592"},{"call":"json.loads","line":2772,"segment_sha256":"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4"}],"routes":[{"kind":"startswith","line":529,"owner":"","path":"/","segment_sha256":"b1af8a6dd713e6a332c44625432a263eab2c49721398367ee1277e38f7e8623b"}],"schema_fields":["argv","content_b64","mode","payload","risk","secret"]},"requested":{"basename":"homelab-command-adapter","class":"usr_local","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739"},"resolved":{"basename":"homelab-command-adapter","class":"usr_local","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739"},"sha256":"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d","symlink_chain":[{"basename":"homelab-command-adapter","class":"usr_local","mode":"0o755","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739","symlink":false}],"unit":"homelab-command-adapter.service"},{"bytes":981,"mode":"0o644","requested":{"basename":"homelab-command-portal.service","class":"etc","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a"},"resolved":{"basename":"homelab-command-portal.service","class":"etc","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a"},"sha256":"8453eab30f5c3ccd285fc9f70fff18f564809bb27f7bf84f51f2ba593aa85263","symlink_chain":[{"basename":"homelab-command-portal.service","class":"etc","mode":"0o644","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a","symlink":false}],"unit":"homelab-command-portal.service"},{"bytes":39936,"mode":"0o755","python":{"error":null,"functions":[{"args":["request"],"line":44,"name":"adapter_call","segment_sha256":"facf24c434f624f6a97482acbc7d053e595dc3cb1389f4b7d73ecce0f7934ac4"},{"args":["self","status","content_type","body"],"line":471,"name":"reply","segment_sha256":"1e3a858264d98399a6e3fa9d3be77250b9afd667890f67f7172131cfc3121e8b"},{"args":["self"],"line":553,"name":"do_GET","segment_sha256":"b7332de76c63c8b6609c9e303c4b9b05943b0c0a1d544bd48a78e54a69e0f2ac"},{"args":["self"],"line":766,"name":"do_POST","segment_sha256":"11c1ce3f3c6425cbbfaf9a04211ff4025e40a8eed7628cd57bdfbee32544b035"},{"args":["request"],"line":1041,"name":"fake_adapter_call","segment_sha256":"26cdff236d21fb0a7d4799ab6de0e80dbe9104ad11836ca7ade55ecf9f66c42d"}],"imports":["__future__","argparse","hashlib","hmac","html","http.cookies","http.server","ipaddress","json","os","pathlib","re","secrets","socket","sys","time","typing","urllib.parse"],"parse_ok":true,"process_calls":[],"redaction_symbols":[],"request_sites":[{"call":"json.loads","line":81,"segment_sha256":"6a36fbe7611c83cf1f9a144d11feb88410bbc002bb2aeeffc19cd9b97fdab2b4"},{"call":"self.rfile.read","line":541,"segment_sha256":"e88ccc84bddb9730bf85279cc75080f708954fea1522420d79deeef7f4d4022e"},{"call":"urllib.parse.parse_qs","line":548,"segment_sha256":"db330b7137c377ba69515c420495114e333999d1d4f22ed4a476b59e8130c937"},{"call":"urllib.parse.parse_qs","line":852,"segment_sha256":"24f22df8901b81aff82756ae2c8010bb392d60f2d336a6e75562a87c7bfd5adb"}],"routes":[{"kind":"compare","line":596,"owner":"","path":"/bridge/bridge.cmd","segment_sha256":"bea803e2bf945e9c5008a239e11936ecdbd8475018029010553aae5d638af370"},{"kind":"startswith","line":609,"owner":"","path":"/enroll/","segment_sha256":"902d0c2af350b77c90fcd32dbf60dd2362c9e0d7ec504ad185488cc97161ef56"},{"kind":"compare","line":771,"owner":"","path":"/api/enroll","segment_sha256":"d1e94b164fcc17d1db52d30967b862e840416d96902d98986ba7d831796985dd"},{"kind":"compare","line":791,"owner":"","path":"/api/import","segment_sha256":"528504d107f4e3a9c88fb94943e594ed199c19d14b7398d0499ed62a41c176f9"}],"schema_fields":["Authorization","Cookie","argv","mode","payload","risk"]},"requested":{"basename":"homelab-command-portal","class":"usr_local","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be"},"resolved":{"basename":"homelab-command-portal","class":"usr_local","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be"},"sha256":"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52","symlink_chain":[{"basename":"homelab-command-portal","class":"usr_local","mode":"0o755","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be","symlink":false}],"unit":"homelab-command-portal.service"}],"analysis_ready":true,"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-HANDOFF-SOURCE-BIND-READ-ONLY-20260805T124700Z","command_rc":0,"git":{"anchor":{"basename":"cr-2026-0015","class":"srv","path_sha256":"1b3beda8fc19beb489d31ac23276ec633dbe86b73185a75cab96cb5fe244fc9f"},"anchor_present":true,"provenance":{"homelab-command-adapter":{"active_sha256":"a1a7a615c99568bf915d084cc476f0ebf54ab0eedf3ecd578c4b0e072f58c43d","current_worktree_matches":[],"exact_source_bound":false,"history_matches":[]},"homelab-command-portal":{"active_sha256":"97c69bd4fccf7272dadc911281c1503f411bae2dc11dac4b22b87f33d678ae52","current_worktree_matches":[],"exact_source_bound":false,"history_matches":[]}},"worktree_count":3},"mutation_outcome":"NO_MUTATION","next_action":"BUILD_SHA_GUARDED_EPHEMERAL_SECRET_HANDOFF_TRANSACTION","output_truncated_in_json":false,"rc":0,"read_only":true,"readiness":{"adapter_ready":true,"exact_files_ready":true,"portal_ready":true,"source_bound":false},"rollback_restored":null,"rollback_started":false,"root_cause_classification":"ACTIVE_EXECUTION_VERIFIED_GIT_SOURCE_UNBOUND","schema":1,"source_bound":false,"status":"OK","units":[{"active_state":"active","environment_files_declared":false,"show_rc":0,"sources":[{"basename":"homelab-command-adapter.service","class":"etc","path_sha256":"afe4d91c280ac4e6e9999498b5f5d8b8842a1f33e30fd45d984879a6392bc045"},{"basename":"homelab-command-adapter","class":"usr_local","path_sha256":"c2e3b43f1f858c6fa265dc276d6a6a29e0cd25e4a127fbc093b8c8d9512bb739"}],"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sub_state":"running","unit":"homelab-command-adapter.service","user_class":"root","working_directory_declared":false},{"active_state":"active","environment_files_declared":false,"show_rc":0,"sources":[{"basename":"homelab-command-portal.service","class":"etc","path_sha256":"adf87b0f1c821b17e3e2ff19cc024d783b55caf69460d01fa66f7d2579a71f5a"},{"basename":"homelab-command-portal","class":"usr_local","path_sha256":"1132c3c355ed18cdc6406935cd26a128df298f71df7f48df690c72b202ddd7be"}],"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sub_state":"running","unit":"homelab-command-portal.service","user_class":"non_root","working_directory_declared":false}]} OUTPUT_END CHAT_OUTPUT_END