From 264dc609455b435fa737961c3feeebc61990c488 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Tue, 8 Sep 2026 05:48:01 +0000 Subject: [PATCH] runtime: publish NEWFI-260908-A-STAGINGEDGE-APPLY4 --- .../NEWFI-260908-A-STAGINGEDGE-APPLY4.json | 38 ++++++++++ .../NEWFI-260908-A-STAGINGEDGE-APPLY4.txt | 63 ++++++++++++++++ runtime/latest.json | 36 ++++----- runtime/latest.txt | 73 +++++++++++-------- 4 files changed, 162 insertions(+), 48 deletions(-) create mode 100644 runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.json create mode 100644 runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.txt diff --git a/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.json b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.json new file mode 100644 index 00000000..b6cce78d --- /dev/null +++ b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "NEWFI-260908-A-STAGINGEDGE-APPLY4", + "status": "FAIL", + "rc": 1, + "host": "pve01", + "mode": "change", + "component": "newfi-staging-preflight-scaffold-safe-dns01-route-dns", + "started_at_utc": "2026-09-08T05:46:53Z", + "finished_at_utc": "2026-09-08T05:48:00Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "ea2d8f3b55e1d111464c41fa70a63df02a29a66a1bdb6b2651865c3cfa63e412", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": true, + "result_contract_valid": true, + "result_contract_status": "FAIL", + "result_contract_error": null, + "command_rc": 1, + "changes_made": true, + "rollback_started": true, + "rollback_restored": true, + "mutation_outcome": "ROLLED_BACK", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "e911b5505b28889db0a7d2a1bebb45c93903d7b5da08c0476d26d4948efb006f", + "sanitized_output_sha256": "c234e2e57bdd35db69ed048912a551e41e2cbd52e3400bfad2eadc5bbf8eaa1b", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "STAGINGEDGE_APPLY4_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY4\nCOMPONENT=newfi-staging-preflight-scaffold-safe-dns01-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_APPLY3_HISTORY_SHA256=c50616cc09ce25a6743d4fbd8ec80bd38b191bb8f0ee96f8cc0df92cc7683c4b\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\"}\nCERTBOT_ROOT_PRESTATE={\"classification\":\"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD\",\"entries\":[{\"kind\":\"dir\",\"path\":\"config\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks/deploy\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks/post\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks/pre\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"logs\",\"size\":4096},{\"kind\":\"file\",\"path\":\"logs/letsencrypt.log\",\"size\":846},{\"kind\":\"file\",\"path\":\"logs/letsencrypt.log.1\",\"size\":0},{\"kind\":\"dir\",\"path\":\"work\",\"size\":4096}],\"entry_count\":9}\nCERTBOT_PERSISTENCE_GATE={\"certbot\":\"/usr/local/bin/certbot\",\"config_dir\":\"/data/newfi-staging-certbot/config\",\"dedicated_root_prestate\":\"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD\",\"logs_dir\":\"/data/newfi-staging-certbot/logs\",\"mount_destination\":\"/data\",\"mount_source\":\"/opt/npmplus\",\"work_dir\":\"/data/newfi-staging-certbot/work\"}\nKNOWN_INGRESS_PREFLIGHT={\"git_http\":\"200\",\"ip\":\"185.225.35.6\"}\nEDGE_BACKEND_REACH={\"backend\":\"[PRIVATE_IP]\",\"http\":\"503\"}\nPREFLIGHT_COMPLETE_NO_MUTATION=PASS\nTEMP_CLOUDFLARE_CREDENTIAL=CREATED_0600_SECRET_NOT_EMITTED\nCERTBOT_DNS01={\"rc\":0,\"stderr_tail\":\"\",\"stdout_tail\":\"\"}\nTEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS\nSTAGINGEDGE_FAILURE=ChangeError:CERTBOT_CERTIFICATES_POSTREAD_FAIL\nTEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS\nACME_TXT_CLEANUP=PASS\nROLLBACK_CERTIFICATE=PASS\nFINAL_DECISION=FAIL_NEWFI_STAGING_EDGE_ROLLBACK_RESTORED\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY4\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" +} diff --git a/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.txt b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.txt new file mode 100644 index 00000000..7ddc8490 --- /dev/null +++ b/runtime/history/NEWFI-260908-A-STAGINGEDGE-APPLY4.txt @@ -0,0 +1,63 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY4 +STATUS=FAIL +RC=1 +HOST=pve01 +MODE=change +COMPONENT=newfi-staging-preflight-scaffold-safe-dns01-route-dns +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=ea2d8f3b55e1d111464c41fa70a63df02a29a66a1bdb6b2651865c3cfa63e412 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=true +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=1 +CHANGES_MADE=true +ROLLBACK_STARTED=true +ROLLBACK_RESTORED=true +MUTATION_OUTCOME=ROLLED_BACK +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=e911b5505b28889db0a7d2a1bebb45c93903d7b5da08c0476d26d4948efb006f +SANITIZED_OUTPUT_SHA256=c234e2e57bdd35db69ed048912a551e41e2cbd52e3400bfad2eadc5bbf8eaa1b +OUTPUT_BEGIN +STAGINGEDGE_APPLY4_BEGIN=true +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY4 +COMPONENT=newfi-staging-preflight-scaffold-safe-dns01-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_APPLY3_HISTORY_SHA256=c50616cc09ce25a6743d4fbd8ec80bd38b191bb8f0ee96f8cc0df92cc7683c4b +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"} +CERTBOT_ROOT_PRESTATE={"classification":"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD","entries":[{"kind":"dir","path":"config","size":4096},{"kind":"dir","path":"config/renewal-hooks","size":4096},{"kind":"dir","path":"config/renewal-hooks/deploy","size":4096},{"kind":"dir","path":"config/renewal-hooks/post","size":4096},{"kind":"dir","path":"config/renewal-hooks/pre","size":4096},{"kind":"dir","path":"logs","size":4096},{"kind":"file","path":"logs/letsencrypt.log","size":846},{"kind":"file","path":"logs/letsencrypt.log.1","size":0},{"kind":"dir","path":"work","size":4096}],"entry_count":9} +CERTBOT_PERSISTENCE_GATE={"certbot":"/usr/local/bin/certbot","config_dir":"/data/newfi-staging-certbot/config","dedicated_root_prestate":"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD","logs_dir":"/data/newfi-staging-certbot/logs","mount_destination":"/data","mount_source":"/opt/npmplus","work_dir":"/data/newfi-staging-certbot/work"} +KNOWN_INGRESS_PREFLIGHT={"git_http":"200","ip":"185.225.35.6"} +EDGE_BACKEND_REACH={"backend":"[PRIVATE_IP]","http":"503"} +PREFLIGHT_COMPLETE_NO_MUTATION=PASS +TEMP_CLOUDFLARE_CREDENTIAL=CREATED_0600_SECRET_NOT_EMITTED +CERTBOT_DNS01={"rc":0,"stderr_tail":"","stdout_tail":""} +TEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS +STAGINGEDGE_FAILURE=ChangeError:CERTBOT_CERTIFICATES_POSTREAD_FAIL +TEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS +ACME_TXT_CLEANUP=PASS +ROLLBACK_CERTIFICATE=PASS +FINAL_DECISION=FAIL_NEWFI_STAGING_EDGE_ROLLBACK_RESTORED +HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY4","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index f5e644b6..b6cce78d 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SIGNALBOT-260908-CONNECT-POLICY-RCA-038", - "status": "OK", - "rc": 0, + "command_id": "NEWFI-260908-A-STAGINGEDGE-APPLY4", + "status": "FAIL", + "rc": 1, "host": "pve01", - "mode": "read-only", - "component": "signalbot-cr0116-connect-policy-rca", - "started_at_utc": "2026-09-08T05:42:15Z", - "finished_at_utc": "2026-09-08T05:42:16Z", + "mode": "change", + "component": "newfi-staging-preflight-scaffold-safe-dns01-route-dns", + "started_at_utc": "2026-09-08T05:46:53Z", + "finished_at_utc": "2026-09-08T05:48:00Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "07ce1cf96c685ff689f8a9a2d34f1dc1b9876f40b2813255123ec0e1a286ab96", + "command_sha256": "ea2d8f3b55e1d111464c41fa70a63df02a29a66a1bdb6b2651865c3cfa63e412", "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": "FAIL", "result_contract_error": null, - "command_rc": 0, - "changes_made": false, - "rollback_started": false, - "rollback_restored": null, - "mutation_outcome": "NO_MUTATION", + "command_rc": 1, + "changes_made": true, + "rollback_started": true, + "rollback_restored": true, + "mutation_outcome": "ROLLED_BACK", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "42af5cc0018db20c59cc42cad276379dc496b379592154fffc5afaa24a726969", - "sanitized_output_sha256": "42af5cc0018db20c59cc42cad276379dc496b379592154fffc5afaa24a726969", + "raw_evidence_sha256": "e911b5505b28889db0a7d2a1bebb45c93903d7b5da08c0476d26d4948efb006f", + "sanitized_output_sha256": "c234e2e57bdd35db69ed048912a551e41e2cbd52e3400bfad2eadc5bbf8eaa1b", "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\nSB038_COLLECTOR={\"id\":\"a546a70c3e8c\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"name\":\"demonov-shadow-8020-collector-1\",\"ok\":true,\"pid\":210213,\"restart_count\":13,\"running\":true,\"started_at\":\"2026-09-08T05:01:08.70385245Z\",\"status\":\"running\"}\nSB038_RECONNECT_STATE={\"activity_count\":181306,\"fail_closed_reason\":\"source reconnect detected\",\"gap_detected\":false,\"last_reconnect_at\":\"2026-09-08T05:01:09.298101+00:00\",\"max_event_seq\":181306,\"max_received_at\":\"2026-09-08T05:42:13.860438+00:00\",\"post_finality_revision\":false,\"prospective_fail_closed_reason\":\"\",\"prospective_gap_detected\":false,\"prospective_reconnect_detected\":false,\"quick_check\":\"ok\",\"reconnect_count\":10,\"reconnect_detected\":true}\nSB038_SOURCE_ID={\"lines\":1246,\"path\":\"/app/demonov_forward_map/bitfinex_trade_collector.py\",\"sha256\":\"d21cf0c3a0d4fcaf9210a57da04fd560dba4952ac1dd5a085abcc4e76ccf2eb0\",\"websockets_version\":\"15.0.1\"}\nSB038_CONNECT_CALLS=[{\"args\":[\"str(self.path)\"],\"end_lineno\":128,\"keywords\":{\"isolation_level\":\"None\",\"timeout\":\"5\"},\"lineno\":124},{\"args\":[\"BITFINEX_WS_URL\"],\"end_lineno\":1157,\"keywords\":{\"close_timeout\":\"5\",\"open_timeout\":\"10\"},\"lineno\":1153}]\nSB038_TRANSPORT_KNOBS=[{\"line\":1155,\"text\":\"open_timeout=10,\"},{\"line\":1156,\"text\":\"close_timeout=5,\"}]\nSB038_WINDOW_00={\"around\":124,\"lines\":[{\"line\":120,\"text\":\"collection_start_at,\"},{\"line\":121,\"text\":\"\\\"collection_start_at\\\",\"},{\"line\":122,\"text\":\")\"},{\"line\":123,\"text\":\"self.path.parent.mkdir(parents=True, exist_ok=True)\"},{\"line\":124,\"text\":\"self._db = sqlite3.connect(\"},{\"line\":125,\"text\":\"str(self.path),\"},{\"line\":126,\"text\":\"timeout=5,\"},{\"line\":127,\"text\":\"isolation_level=None,\"},{\"line\":128,\"text\":\")\"},{\"line\":129,\"text\":\"self._db.row_factory = sqlite3.Row\"}]}\nSB038_WINDOW_01={\"around\":1135,\"lines\":[{\"line\":1131,\"text\":\"\"},{\"line\":1132,\"text\":\"\"},{\"line\":1133,\"text\":\"def main() -> int:\"},{\"line\":1134,\"text\":\"try:\"},{\"line\":1135,\"text\":\"from websockets.sync.client import connect\"},{\"line\":1136,\"text\":\"except ImportError as exc:\"},{\"line\":1137,\"text\":\"raise DemonovError(\"},{\"line\":1138,\"text\":\"\\\"websockets runtime dependency is required\\\"\"},{\"line\":1139,\"text\":\") from exc\"},{\"line\":1140,\"text\":\"\"}]}\nSB038_WINDOW_02={\"around\":1136,\"lines\":[{\"line\":1132,\"text\":\"\"},{\"line\":1133,\"text\":\"def main() -> int:\"},{\"line\":1134,\"text\":\"try:\"},{\"line\":1135,\"text\":\"from websockets.sync.client import connect\"},{\"line\":1136,\"text\":\"except ImportError as exc:\"},{\"line\":1137,\"text\":\"raise DemonovError(\"},{\"line\":1138,\"text\":\"\\\"websockets runtime dependency is required\\\"\"},{\"line\":1139,\"text\":\") from exc\"},{\"line\":1140,\"text\":\"\"},{\"line\":1141,\"text\":\"data_dir = Path(os.environ.get(\\\"DATA_DIR\\\", \\\"/data\\\"))\"}]}\nSB038_WINDOW_03={\"around\":1138,\"lines\":[{\"line\":1134,\"text\":\"try:\"},{\"line\":1135,\"text\":\"from websockets.sync.client import connect\"},{\"line\":1136,\"text\":\"except ImportError as exc:\"},{\"line\":1137,\"text\":\"raise DemonovError(\"},{\"line\":1138,\"text\":\"\\\"websockets runtime dependency is required\\\"\"},{\"line\":1139,\"text\":\") from exc\"},{\"line\":1140,\"text\":\"\"},{\"line\":1141,\"text\":\"data_dir = Path(os.environ.get(\\\"DATA_DIR\\\", \\\"/data\\\"))\"},{\"line\":1142,\"text\":\"path = data_dir / \\\"bitfinex_source.db\\\"\"},{\"line\":1143,\"text\":\"collection_start_at = _dt(\"}]}\nSB038_WINDOW_04={\"around\":1153,\"lines\":[{\"line\":1149,\"text\":\"with SQLiteBitfinexSourceJournal(\"},{\"line\":1150,\"text\":\"path,\"},{\"line\":1151,\"text\":\"collection_start_at=collection_start_at,\"},{\"line\":1152,\"text\":\") as journal:\"},{\"line\":1153,\"text\":\"with connect(\"},{\"line\":1154,\"text\":\"BITFINEX_WS_URL,\"},{\"line\":1155,\"text\":\"open_timeout=10,\"},{\"line\":1156,\"text\":\"close_timeout=5,\"},{\"line\":1157,\"text\":\") as ws:\"},{\"line\":1158,\"text\":\"ws.send(\"}]}\nSB038_WINDOW_05={\"around\":1175,\"lines\":[{\"line\":1171,\"text\":\"\\\"symbol\\\": BITFINEX_TRADE_SYMBOL,\"},{\"line\":1172,\"text\":\"}\"},{\"line\":1173,\"text\":\")\"},{\"line\":1174,\"text\":\")\"},{\"line\":1175,\"text\":\"for raw in ws:\"},{\"line\":1176,\"text\":\"message = json.loads(raw)\"},{\"line\":1177,\"text\":\"if isinstance(message, dict):\"},{\"line\":1178,\"text\":\"if (\"},{\"line\":1179,\"text\":\"message.get(\\\"event\\\") == \\\"subscribed\\\"\"},{\"line\":1180,\"text\":\"and message.get(\\\"channel\\\") == \\\"trades\\\"\"}]}\nSB038_DECISION=CONNECT_POLICY_EVIDENCE_READY\nSB038_MUTATION_SCOPE=NONE_READ_ONLY\nSIGNALBOT038_DECISION=CONNECT_POLICY_EVIDENCE_READY\nSIGNALBOT038_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\n" + "output": "STAGINGEDGE_APPLY4_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY4\nCOMPONENT=newfi-staging-preflight-scaffold-safe-dns01-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_APPLY3_HISTORY_SHA256=c50616cc09ce25a6743d4fbd8ec80bd38b191bb8f0ee96f8cc0df92cc7683c4b\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\"}\nCERTBOT_ROOT_PRESTATE={\"classification\":\"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD\",\"entries\":[{\"kind\":\"dir\",\"path\":\"config\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks/deploy\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks/post\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"config/renewal-hooks/pre\",\"size\":4096},{\"kind\":\"dir\",\"path\":\"logs\",\"size\":4096},{\"kind\":\"file\",\"path\":\"logs/letsencrypt.log\",\"size\":846},{\"kind\":\"file\",\"path\":\"logs/letsencrypt.log.1\",\"size\":0},{\"kind\":\"dir\",\"path\":\"work\",\"size\":4096}],\"entry_count\":9}\nCERTBOT_PERSISTENCE_GATE={\"certbot\":\"/usr/local/bin/certbot\",\"config_dir\":\"/data/newfi-staging-certbot/config\",\"dedicated_root_prestate\":\"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD\",\"logs_dir\":\"/data/newfi-staging-certbot/logs\",\"mount_destination\":\"/data\",\"mount_source\":\"/opt/npmplus\",\"work_dir\":\"/data/newfi-staging-certbot/work\"}\nKNOWN_INGRESS_PREFLIGHT={\"git_http\":\"200\",\"ip\":\"185.225.35.6\"}\nEDGE_BACKEND_REACH={\"backend\":\"[PRIVATE_IP]\",\"http\":\"503\"}\nPREFLIGHT_COMPLETE_NO_MUTATION=PASS\nTEMP_CLOUDFLARE_CREDENTIAL=CREATED_0600_SECRET_NOT_EMITTED\nCERTBOT_DNS01={\"rc\":0,\"stderr_tail\":\"\",\"stdout_tail\":\"\"}\nTEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS\nSTAGINGEDGE_FAILURE=ChangeError:CERTBOT_CERTIFICATES_POSTREAD_FAIL\nTEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS\nACME_TXT_CLEANUP=PASS\nROLLBACK_CERTIFICATE=PASS\nFINAL_DECISION=FAIL_NEWFI_STAGING_EDGE_ROLLBACK_RESTORED\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY4\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 8d0568b4..7ddc8490 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,50 +1,63 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SIGNALBOT-260908-CONNECT-POLICY-RCA-038 -STATUS=OK -RC=0 +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY4 +STATUS=FAIL +RC=1 HOST=pve01 -MODE=read-only -COMPONENT=signalbot-cr0116-connect-policy-rca +MODE=change +COMPONENT=newfi-staging-preflight-scaffold-safe-dns01-route-dns REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=07ce1cf96c685ff689f8a9a2d34f1dc1b9876f40b2813255123ec0e1a286ab96 +COMMAND_SHA256=ea2d8f3b55e1d111464c41fa70a63df02a29a66a1bdb6b2651865c3cfa63e412 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=FAIL RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=0 -CHANGES_MADE=false -ROLLBACK_STARTED=false -ROLLBACK_RESTORED=null -MUTATION_OUTCOME=NO_MUTATION +COMMAND_RC=1 +CHANGES_MADE=true +ROLLBACK_STARTED=true +ROLLBACK_RESTORED=true +MUTATION_OUTCOME=ROLLED_BACK SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=42af5cc0018db20c59cc42cad276379dc496b379592154fffc5afaa24a726969 -SANITIZED_OUTPUT_SHA256=42af5cc0018db20c59cc42cad276379dc496b379592154fffc5afaa24a726969 +RAW_EVIDENCE_SHA256=e911b5505b28889db0a7d2a1bebb45c93903d7b5da08c0476d26d4948efb006f +SANITIZED_OUTPUT_SHA256=c234e2e57bdd35db69ed048912a551e41e2cbd52e3400bfad2eadc5bbf8eaa1b OUTPUT_BEGIN +STAGINGEDGE_APPLY4_BEGIN=true +COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY4 +COMPONENT=newfi-staging-preflight-scaffold-safe-dns01-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 -SB038_COLLECTOR={"id":"a546a70c3e8c","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","name":"demonov-shadow-8020-collector-1","ok":true,"pid":210213,"restart_count":13,"running":true,"started_at":"2026-09-08T05:01:08.70385245Z","status":"running"} -SB038_RECONNECT_STATE={"activity_count":181306,"fail_closed_reason":"source reconnect detected","gap_detected":false,"last_reconnect_at":"2026-09-08T05:01:09.298101+00:00","max_event_seq":181306,"max_received_at":"2026-09-08T05:42:13.860438+00:00","post_finality_revision":false,"prospective_fail_closed_reason":"","prospective_gap_detected":false,"prospective_reconnect_detected":false,"quick_check":"ok","reconnect_count":10,"reconnect_detected":true} -SB038_SOURCE_ID={"lines":1246,"path":"/app/demonov_forward_map/bitfinex_trade_collector.py","sha256":"d21cf0c3a0d4fcaf9210a57da04fd560dba4952ac1dd5a085abcc4e76ccf2eb0","websockets_version":"15.0.1"} -SB038_CONNECT_CALLS=[{"args":["str(self.path)"],"end_lineno":128,"keywords":{"isolation_level":"None","timeout":"5"},"lineno":124},{"args":["BITFINEX_WS_URL"],"end_lineno":1157,"keywords":{"close_timeout":"5","open_timeout":"10"},"lineno":1153}] -SB038_TRANSPORT_KNOBS=[{"line":1155,"text":"open_timeout=10,"},{"line":1156,"text":"close_timeout=5,"}] -SB038_WINDOW_00={"around":124,"lines":[{"line":120,"text":"collection_start_at,"},{"line":121,"text":"\"collection_start_at\","},{"line":122,"text":")"},{"line":123,"text":"self.path.parent.mkdir(parents=True, exist_ok=True)"},{"line":124,"text":"self._db = sqlite3.connect("},{"line":125,"text":"str(self.path),"},{"line":126,"text":"timeout=5,"},{"line":127,"text":"isolation_level=None,"},{"line":128,"text":")"},{"line":129,"text":"self._db.row_factory = sqlite3.Row"}]} -SB038_WINDOW_01={"around":1135,"lines":[{"line":1131,"text":""},{"line":1132,"text":""},{"line":1133,"text":"def main() -> int:"},{"line":1134,"text":"try:"},{"line":1135,"text":"from websockets.sync.client import connect"},{"line":1136,"text":"except ImportError as exc:"},{"line":1137,"text":"raise DemonovError("},{"line":1138,"text":"\"websockets runtime dependency is required\""},{"line":1139,"text":") from exc"},{"line":1140,"text":""}]} -SB038_WINDOW_02={"around":1136,"lines":[{"line":1132,"text":""},{"line":1133,"text":"def main() -> int:"},{"line":1134,"text":"try:"},{"line":1135,"text":"from websockets.sync.client import connect"},{"line":1136,"text":"except ImportError as exc:"},{"line":1137,"text":"raise DemonovError("},{"line":1138,"text":"\"websockets runtime dependency is required\""},{"line":1139,"text":") from exc"},{"line":1140,"text":""},{"line":1141,"text":"data_dir = Path(os.environ.get(\"DATA_DIR\", \"/data\"))"}]} -SB038_WINDOW_03={"around":1138,"lines":[{"line":1134,"text":"try:"},{"line":1135,"text":"from websockets.sync.client import connect"},{"line":1136,"text":"except ImportError as exc:"},{"line":1137,"text":"raise DemonovError("},{"line":1138,"text":"\"websockets runtime dependency is required\""},{"line":1139,"text":") from exc"},{"line":1140,"text":""},{"line":1141,"text":"data_dir = Path(os.environ.get(\"DATA_DIR\", \"/data\"))"},{"line":1142,"text":"path = data_dir / \"bitfinex_source.db\""},{"line":1143,"text":"collection_start_at = _dt("}]} -SB038_WINDOW_04={"around":1153,"lines":[{"line":1149,"text":"with SQLiteBitfinexSourceJournal("},{"line":1150,"text":"path,"},{"line":1151,"text":"collection_start_at=collection_start_at,"},{"line":1152,"text":") as journal:"},{"line":1153,"text":"with connect("},{"line":1154,"text":"BITFINEX_WS_URL,"},{"line":1155,"text":"open_timeout=10,"},{"line":1156,"text":"close_timeout=5,"},{"line":1157,"text":") as ws:"},{"line":1158,"text":"ws.send("}]} -SB038_WINDOW_05={"around":1175,"lines":[{"line":1171,"text":"\"symbol\": BITFINEX_TRADE_SYMBOL,"},{"line":1172,"text":"}"},{"line":1173,"text":")"},{"line":1174,"text":")"},{"line":1175,"text":"for raw in ws:"},{"line":1176,"text":"message = json.loads(raw)"},{"line":1177,"text":"if isinstance(message, dict):"},{"line":1178,"text":"if ("},{"line":1179,"text":"message.get(\"event\") == \"subscribed\""},{"line":1180,"text":"and message.get(\"channel\") == \"trades\""}]} -SB038_DECISION=CONNECT_POLICY_EVIDENCE_READY -SB038_MUTATION_SCOPE=NONE_READ_ONLY -SIGNALBOT038_DECISION=CONNECT_POLICY_EVIDENCE_READY -SIGNALBOT038_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION +RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d +PRIOR_STAGINGEDGE_APPLY3_HISTORY_SHA256=c50616cc09ce25a6743d4fbd8ec80bd38b191bb8f0ee96f8cc0df92cc7683c4b +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"} +CERTBOT_ROOT_PRESTATE={"classification":"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD","entries":[{"kind":"dir","path":"config","size":4096},{"kind":"dir","path":"config/renewal-hooks","size":4096},{"kind":"dir","path":"config/renewal-hooks/deploy","size":4096},{"kind":"dir","path":"config/renewal-hooks/post","size":4096},{"kind":"dir","path":"config/renewal-hooks/pre","size":4096},{"kind":"dir","path":"logs","size":4096},{"kind":"file","path":"logs/letsencrypt.log","size":846},{"kind":"file","path":"logs/letsencrypt.log.1","size":0},{"kind":"dir","path":"work","size":4096}],"entry_count":9} +CERTBOT_PERSISTENCE_GATE={"certbot":"/usr/local/bin/certbot","config_dir":"/data/newfi-staging-certbot/config","dedicated_root_prestate":"PREVIOUS_CERTIFICATES_LIST_SCAFFOLD","logs_dir":"/data/newfi-staging-certbot/logs","mount_destination":"/data","mount_source":"/opt/npmplus","work_dir":"/data/newfi-staging-certbot/work"} +KNOWN_INGRESS_PREFLIGHT={"git_http":"200","ip":"185.225.35.6"} +EDGE_BACKEND_REACH={"backend":"[PRIVATE_IP]","http":"503"} +PREFLIGHT_COMPLETE_NO_MUTATION=PASS +TEMP_CLOUDFLARE_CREDENTIAL=CREATED_0600_SECRET_NOT_EMITTED +CERTBOT_DNS01={"rc":0,"stderr_tail":"","stdout_tail":""} +TEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS +STAGINGEDGE_FAILURE=ChangeError:CERTBOT_CERTIFICATES_POSTREAD_FAIL +TEMP_CLOUDFLARE_CREDENTIAL_REMOVAL=PASS +ACME_TXT_CLEANUP=PASS +ROLLBACK_CERTIFICATE=PASS +FINAL_DECISION=FAIL_NEWFI_STAGING_EDGE_ROLLBACK_RESTORED +HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY4","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1} OUTPUT_END CHAT_OUTPUT_END