diff --git a/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY5.json b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY5.json new file mode 100644 index 00000000..80502f9e --- /dev/null +++ b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY5.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "NEWFI-260908-A-STAGINGEDGE-APPLY5", + "status": "BLOCKED", + "rc": 2, + "host": "pve01", + "mode": "change", + "component": "newfi-staging-deterministic-certpath-route-dns", + "started_at_utc": "2026-09-08T05:53:48Z", + "finished_at_utc": "2026-09-08T05:54:06Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "444b6ad15c7a66e47630276a9ac4f4dccd2a6ca7e3a0844374895c472fdec62b", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": true, + "result_contract_valid": true, + "result_contract_status": "BLOCKED", + "result_contract_error": null, + "command_rc": 2, + "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": "abede6372eb4c5ed81ebbf003dcbee82e29b6d83e36c2150e1ce15e1aba1fece", + "sanitized_output_sha256": "00aceebe4e8f4bf262c577492aa809afe66eb595143b4373bc08ff30354e94b9", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "STAGINGEDGE_APPLY5_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5\nCOMPONENT=newfi-staging-deterministic-certpath-route-dns\nMODE=change\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nPRIOR_STAGINGEDGE_APPLY4_HISTORY_SHA256=a40dbae4b1b72df8e334c74375add47c68c65cad133c83b81d403465e5c2bb6c\nPORTAL_PRODUCT_STATE_GATE=PASS\nNEWFI_STAGING_IDENTITY={\"name\":\"newfi-staging\",\"node\":\"pve03\",\"vmid\":211}\nSTAGING_BACKEND_PREFLIGHT={\"ip\":\"[PRIVATE_IP]\",\"local_http\":\"503\"}\nEDGE_VM_IDENTITY={\"name\":\"edge-vm\",\"node\":\"pve03\",\"vmid\":130}\nNPMPLUS_PREFLIGHT={\"container\":\"npmplus\",\"data_source\":\"/opt/npmplus\",\"nginx\":\"/usr/local/nginx/sbin/nginx\"}\nEDGE_CF_TOKEN_GATE={\"source_path\":\"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before\",\"valid_count\":1,\"zone_id_sha256\":\"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7\"}\nSTAGINGEDGE_BLOCKED_REASON=CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE\nFINAL_DECISION=BLOCKED_NEWFI_STAGING_EDGE_CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY5\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"BLOCKED\",\"version\":1}\n" +} diff --git a/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY5.txt b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY5.txt new file mode 100644 index 00000000..653f1b3b --- /dev/null +++ b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY5.txt @@ -0,0 +1,52 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5 +STATUS=BLOCKED +RC=2 +HOST=pve01 +MODE=change +COMPONENT=newfi-staging-deterministic-certpath-route-dns +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=444b6ad15c7a66e47630276a9ac4f4dccd2a6ca7e3a0844374895c472fdec62b +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=true +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=BLOCKED +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=2 +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=abede6372eb4c5ed81ebbf003dcbee82e29b6d83e36c2150e1ce15e1aba1fece +SANITIZED_OUTPUT_SHA256=00aceebe4e8f4bf262c577492aa809afe66eb595143b4373bc08ff30354e94b9 +OUTPUT_BEGIN +STAGINGEDGE_APPLY5_BEGIN=true +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5 +COMPONENT=newfi-staging-deterministic-certpath-route-dns +MODE=change +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +REFERENCE_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d +PRIOR_STAGINGEDGE_APPLY4_HISTORY_SHA256=a40dbae4b1b72df8e334c74375add47c68c65cad133c83b81d403465e5c2bb6c +PORTAL_PRODUCT_STATE_GATE=PASS +NEWFI_STAGING_IDENTITY={"name":"newfi-staging","node":"pve03","vmid":211} +STAGING_BACKEND_PREFLIGHT={"ip":"[PRIVATE_IP]","local_http":"503"} +EDGE_VM_IDENTITY={"name":"edge-vm","node":"pve03","vmid":130} +NPMPLUS_PREFLIGHT={"container":"npmplus","data_source":"/opt/npmplus","nginx":"/usr/local/nginx/sbin/nginx"} +EDGE_CF_TOKEN_GATE={"source_path":"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before","valid_count":1,"zone_id_sha256":"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7"} +STAGINGEDGE_BLOCKED_REASON=CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE +FINAL_DECISION=BLOCKED_NEWFI_STAGING_EDGE_CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY5","rollback_restored":null,"rollback_started":false,"status":"BLOCKED","version":1} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index dffe4b22..80502f9e 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,27 +1,27 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039", - "status": "FAIL", - "rc": 1, + "command_id": "NEWFI-260908-A-STAGINGEDGE-APPLY5", + "status": "BLOCKED", + "rc": 2, "host": "pve01", - "mode": "read-only", - "component": "signalbot-cr0116-deploy-contract-rca", - "started_at_utc": "2026-09-08T05:49:32Z", - "finished_at_utc": "2026-09-08T05:49:32Z", + "mode": "change", + "component": "newfi-staging-deterministic-certpath-route-dns", + "started_at_utc": "2026-09-08T05:53:48Z", + "finished_at_utc": "2026-09-08T05:54:06Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "1c2d4a7ef2495582b913839b4cf2627ec74465fafdbed8c9e606f6ee33b5ac83", + "command_sha256": "444b6ad15c7a66e47630276a9ac4f4dccd2a6ca7e3a0844374895c472fdec62b", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": false, + "change_declared": true, "result_contract_valid": true, - "result_contract_status": null, + "result_contract_status": "BLOCKED", "result_contract_error": null, - "command_rc": 1, + "command_rc": 2, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "431c10379ac5d5db38a1ba77ce00c14dc11254bd1d8b01895cacd34f5a252900", - "sanitized_output_sha256": "431c10379ac5d5db38a1ba77ce00c14dc11254bd1d8b01895cacd34f5a252900", + "raw_evidence_sha256": "abede6372eb4c5ed81ebbf003dcbee82e29b6d83e36c2150e1ce15e1aba1fece", + "sanitized_output_sha256": "00aceebe4e8f4bf262c577492aa809afe66eb595143b4373bc08ff30354e94b9", "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\nTraceback (most recent call last):\n File \"\", line 1, in \n import base64,zlib;exec(compile(zlib.decompress(base64.b64decode('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')).decode('utf-8'),'','exec'))\n ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"\", line 99, in \n File \"\", line 75, in main\n File \"\", line 34, in pve01_repo_candidates\n File \"\", line 12, in run\n File \"/usr/lib/python3.13/subprocess.py\", line 556, in run\n stdout, stderr = process.communicate(input, timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.13/subprocess.py\", line 1222, in communicate\n stdout, stderr = self._communicate(input, endtime, timeout)\n ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/lib/python3.13/subprocess.py\", line 2108, in _communicate\n input_view = memoryview(self._input)\nTypeError: memoryview: a bytes-like object is required, not 'int'\n" + "output": "STAGINGEDGE_APPLY5_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5\nCOMPONENT=newfi-staging-deterministic-certpath-route-dns\nMODE=change\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nPRIOR_STAGINGEDGE_APPLY4_HISTORY_SHA256=a40dbae4b1b72df8e334c74375add47c68c65cad133c83b81d403465e5c2bb6c\nPORTAL_PRODUCT_STATE_GATE=PASS\nNEWFI_STAGING_IDENTITY={\"name\":\"newfi-staging\",\"node\":\"pve03\",\"vmid\":211}\nSTAGING_BACKEND_PREFLIGHT={\"ip\":\"[PRIVATE_IP]\",\"local_http\":\"503\"}\nEDGE_VM_IDENTITY={\"name\":\"edge-vm\",\"node\":\"pve03\",\"vmid\":130}\nNPMPLUS_PREFLIGHT={\"container\":\"npmplus\",\"data_source\":\"/opt/npmplus\",\"nginx\":\"/usr/local/nginx/sbin/nginx\"}\nEDGE_CF_TOKEN_GATE={\"source_path\":\"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before\",\"valid_count\":1,\"zone_id_sha256\":\"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7\"}\nSTAGINGEDGE_BLOCKED_REASON=CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE\nFINAL_DECISION=BLOCKED_NEWFI_STAGING_EDGE_CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY5\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"BLOCKED\",\"version\":1}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index ccf3cc62..653f1b3b 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039 -STATUS=FAIL -RC=1 +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5 +STATUS=BLOCKED +RC=2 HOST=pve01 -MODE=read-only -COMPONENT=signalbot-cr0116-deploy-contract-rca +MODE=change +COMPONENT=newfi-staging-deterministic-certpath-route-dns REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=1c2d4a7ef2495582b913839b4cf2627ec74465fafdbed8c9e606f6ee33b5ac83 +COMMAND_SHA256=444b6ad15c7a66e47630276a9ac4f4dccd2a6ca7e3a0844374895c472fdec62b DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=false +CHANGE_DECLARED=true RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_STATUS=BLOCKED RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=1 +COMMAND_RC=2 CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null @@ -24,29 +24,29 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=431c10379ac5d5db38a1ba77ce00c14dc11254bd1d8b01895cacd34f5a252900 -SANITIZED_OUTPUT_SHA256=431c10379ac5d5db38a1ba77ce00c14dc11254bd1d8b01895cacd34f5a252900 +RAW_EVIDENCE_SHA256=abede6372eb4c5ed81ebbf003dcbee82e29b6d83e36c2150e1ce15e1aba1fece +SANITIZED_OUTPUT_SHA256=00aceebe4e8f4bf262c577492aa809afe66eb595143b4373bc08ff30354e94b9 OUTPUT_BEGIN +STAGINGEDGE_APPLY5_BEGIN=true +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5 +COMPONENT=newfi-staging-deterministic-certpath-route-dns +MODE=change ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 REFERENCE_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -Traceback (most recent call last): - File "", line 1, in - import base64,zlib;exec(compile(zlib.decompress(base64.b64decode('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')).decode('utf-8'),'','exec')) - ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "", line 99, in - File "", line 75, in main - File "", line 34, in pve01_repo_candidates - File "", line 12, in run - File "/usr/lib/python3.13/subprocess.py", line 556, in run - stdout, stderr = process.communicate(input, timeout=timeout) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/subprocess.py", line 1222, in communicate - stdout, stderr = self._communicate(input, endtime, timeout) - ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib/python3.13/subprocess.py", line 2108, in _communicate - input_view = memoryview(self._input) -TypeError: memoryview: a bytes-like object is required, not 'int' +RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d +PRIOR_STAGINGEDGE_APPLY4_HISTORY_SHA256=a40dbae4b1b72df8e334c74375add47c68c65cad133c83b81d403465e5c2bb6c +PORTAL_PRODUCT_STATE_GATE=PASS +NEWFI_STAGING_IDENTITY={"name":"newfi-staging","node":"pve03","vmid":211} +STAGING_BACKEND_PREFLIGHT={"ip":"[PRIVATE_IP]","local_http":"503"} +EDGE_VM_IDENTITY={"name":"edge-vm","node":"pve03","vmid":130} +NPMPLUS_PREFLIGHT={"container":"npmplus","data_source":"/opt/npmplus","nginx":"/usr/local/nginx/sbin/nginx"} +EDGE_CF_TOKEN_GATE={"source_path":"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before","valid_count":1,"zone_id_sha256":"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7"} +STAGINGEDGE_BLOCKED_REASON=CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE +FINAL_DECISION=BLOCKED_NEWFI_STAGING_EDGE_CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY5","rollback_restored":null,"rollback_started":false,"status":"BLOCKED","version":1} OUTPUT_END CHAT_OUTPUT_END