From f4308c731e3a47df93df9367ad804da781c1923a Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Thu, 17 Sep 2026 13:46:46 +0000 Subject: [PATCH] runtime: publish SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1 --- ...ECT-RECONCILIATION-HEALTH-STAGE-050R1.json | 34 ++++---- ...NECT-RECONCILIATION-HEALTH-STAGE-050R1.txt | 86 ++++--------------- runtime/latest.json | 34 ++++---- runtime/latest.txt | 86 ++++--------------- 4 files changed, 70 insertions(+), 170 deletions(-) diff --git a/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.json b/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.json index ad679a8e..9b37a35e 100644 --- a/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.json +++ b/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.json @@ -2,37 +2,37 @@ "schema_version": 1, "channel": "homelab-runtime", "command_id": "SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1", - "status": "FAIL", - "rc": 2, + "status": "BLOCKED", + "rc": 73, "host": "pve01", "mode": "change", "component": "signalbot-cr0116-reconnect-reconciliation-health-stage", - "started_at_utc": "2026-09-17T13:46:16Z", - "finished_at_utc": "2026-09-17T13:46:19Z", + "started_at_utc": "2026-09-17T13:46:46Z", + "finished_at_utc": "2026-09-17T13:46:46Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8", - "duplicate_failed_command_blocked": false, - "block_reason": null, - "execution_started": true, + "duplicate_failed_command_blocked": true, + "block_reason": "EXACT_FAILED_COMMAND_REPEAT", + "execution_started": false, "change_declared": true, "result_contract_valid": true, - "result_contract_status": "FAIL", - "result_contract_error": null, - "command_rc": 2, - "changes_made": true, - "rollback_started": true, - "rollback_restored": true, - "mutation_outcome": "ROLLED_BACK", + "result_contract_status": "BLOCKED", + "result_contract_error": "RUNNER_PREEXECUTION_BLOCK", + "command_rc": null, + "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": "b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83", - "sanitized_output_sha256": "b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83", + "raw_evidence_sha256": "d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6", + "sanitized_output_sha256": "d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "SIGNALBOT050_BEGIN=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1\nSIGNALBOT050_PRE_HEAD=350b1bd3689a15c82b84b4b84b172732d9a8a0cc\nSIGNALBOT050_PREFLIGHT=PASS\nSIGNALBOT050_RED=PASS_EXPECTED_MISSING_RECONCILIATION_HEALTH\nSIGNALBOT050_COMPILE=PASS\nSIGNALBOT050_TARGETED_GREEN=6\nSIGNALBOT050_FULL_TAIL=..........................................................F............. [ 13%]\n........................................................................ [ 26%]\n........................................................................ [ 39%]\n........................................................................ [ 52%]\n........................................................................ [ 65%]\n........................................................................ [ 78%]\n........................................................................ [ 91%]\n................................................. [100%]\n=================================== FAILURES ===================================\n_ CR0116ReconnectScopeTests.test_historical_reconnect_is_not_global_prospective_poison _\n\nself = \n\n def test_historical_reconnect_is_not_global_prospective_poison(self):\n with tempfile.TemporaryDirectory() as td:\n path = Path(td) / \"source.db\"\n with SQLiteBitfinexSourceJournal(path, collection_start_at=T0) as journal:\n journal._db.execute(\n \"\"\"\n INSERT INTO sequence_events(\n session_id,source_sequence,received_at,event_kind\n ) VALUES(?,?,?,?)\n \"\"\",\n (\n \"old-session\",\n 10,\n (T0 + timedelta(hours=1)).isoformat(),\n \"RECONNECT\",\n ),\n )\n state = journal.current_prospective_source_state()\n> self.assertFalse(state.reconnect_detected)\nE AssertionError: True is not false\n\ntests/test_cr0116_reconnect_scope.py:42: AssertionError\n=========================== short test summary info ============================\nFAILED tests/test_cr0116_reconnect_scope.py::CR0116ReconnectScopeTests::test_historical_reconnect_is_not_global_prospective_poison\n1 failed, 552 passed in 1.23s\n\n\nSIGNALBOT050_EXCEPTION_CLASS=builtins.RuntimeError\nSIGNALBOT050_EXCEPTION_MSG_SHA256=d1f29e05182bf9414507df6ef381056bd58317ac3042ab37b013bab030b776d2\nSIGNALBOT050_ROLLBACK_STARTED=true\nSIGNALBOT050_ROLLBACK_RESTORED=true\nSIGNALBOT050_PRODUCTION_RUNTIME_MUTATION=NO\nSIGNALBOT050_REAL_EXCHANGE_EXECUTION=NO\nSIGNALBOT050_RETUNE_80_20=NO\nSIGNALBOT050_RETUNE_DEMONOV=NO\nSIGNALBOT050_MUTATION_OUTCOME=ROLLED_BACK\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" + "output": "COMMAND_EXECUTION_BLOCKED=yes\nREASON=EXACT_FAILED_COMMAND_REPEAT\nPREVIOUS_RC=2\nCOMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8\n\nSet HOMELAB_ALLOW_REPEAT=1 only after reviewing the previous failure.\n" } diff --git a/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.txt b/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.txt index 6256bd60..4cc3d7f2 100644 --- a/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.txt +++ b/runtime/history/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1.txt @@ -1,7 +1,7 @@ CHAT_OUTPUT_BEGIN COMMAND_ID=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1 -STATUS=FAIL -RC=2 +STATUS=BLOCKED +RC=73 HOST=pve01 MODE=change COMPONENT=signalbot-cr0116-reconnect-reconciliation-health-stage @@ -10,79 +10,29 @@ REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d6 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 COMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8 -DUPLICATE_FAILED_COMMAND_BLOCKED=false -EXECUTION_STARTED=true +DUPLICATE_FAILED_COMMAND_BLOCKED=true +EXECUTION_STARTED=false CHANGE_DECLARED=true RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL -RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=2 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=true -MUTATION_OUTCOME=ROLLED_BACK +RESULT_CONTRACT_STATUS=BLOCKED +RESULT_CONTRACT_ERROR=RUNNER_PREEXECUTION_BLOCK +COMMAND_RC= +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=b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83 -SANITIZED_OUTPUT_SHA256=b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83 +RAW_EVIDENCE_SHA256=d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6 +SANITIZED_OUTPUT_SHA256=d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6 OUTPUT_BEGIN -SIGNALBOT050_BEGIN=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1 -SIGNALBOT050_PRE_HEAD=350b1bd3689a15c82b84b4b84b172732d9a8a0cc -SIGNALBOT050_PREFLIGHT=PASS -SIGNALBOT050_RED=PASS_EXPECTED_MISSING_RECONCILIATION_HEALTH -SIGNALBOT050_COMPILE=PASS -SIGNALBOT050_TARGETED_GREEN=6 -SIGNALBOT050_FULL_TAIL=..........................................................F............. [ 13%] -........................................................................ [ 26%] -........................................................................ [ 39%] -........................................................................ [ 52%] -........................................................................ [ 65%] -........................................................................ [ 78%] -........................................................................ [ 91%] -................................................. [100%] -=================================== FAILURES =================================== -_ CR0116ReconnectScopeTests.test_historical_reconnect_is_not_global_prospective_poison _ +COMMAND_EXECUTION_BLOCKED=yes +REASON=EXACT_FAILED_COMMAND_REPEAT +PREVIOUS_RC=2 +COMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8 -self = - - def test_historical_reconnect_is_not_global_prospective_poison(self): - with tempfile.TemporaryDirectory() as td: - path = Path(td) / "source.db" - with SQLiteBitfinexSourceJournal(path, collection_start_at=T0) as journal: - journal._db.execute( - """ - INSERT INTO sequence_events( - session_id,source_sequence,received_at,event_kind - ) VALUES(?,?,?,?) - """, - ( - "old-session", - 10, - (T0 + timedelta(hours=1)).isoformat(), - "RECONNECT", - ), - ) - state = journal.current_prospective_source_state() -> self.assertFalse(state.reconnect_detected) -E AssertionError: True is not false - -tests/test_cr0116_reconnect_scope.py:42: AssertionError -=========================== short test summary info ============================ -FAILED tests/test_cr0116_reconnect_scope.py::CR0116ReconnectScopeTests::test_historical_reconnect_is_not_global_prospective_poison -1 failed, 552 passed in 1.23s - - -SIGNALBOT050_EXCEPTION_CLASS=builtins.RuntimeError -SIGNALBOT050_EXCEPTION_MSG_SHA256=d1f29e05182bf9414507df6ef381056bd58317ac3042ab37b013bab030b776d2 -SIGNALBOT050_ROLLBACK_STARTED=true -SIGNALBOT050_ROLLBACK_RESTORED=true -SIGNALBOT050_PRODUCTION_RUNTIME_MUTATION=NO -SIGNALBOT050_REAL_EXCHANGE_EXECUTION=NO -SIGNALBOT050_RETUNE_80_20=NO -SIGNALBOT050_RETUNE_DEMONOV=NO -SIGNALBOT050_MUTATION_OUTCOME=ROLLED_BACK -HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1} +Set HOMELAB_ALLOW_REPEAT=1 only after reviewing the previous failure. OUTPUT_END CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index ad679a8e..9b37a35e 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -2,37 +2,37 @@ "schema_version": 1, "channel": "homelab-runtime", "command_id": "SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1", - "status": "FAIL", - "rc": 2, + "status": "BLOCKED", + "rc": 73, "host": "pve01", "mode": "change", "component": "signalbot-cr0116-reconnect-reconciliation-health-stage", - "started_at_utc": "2026-09-17T13:46:16Z", - "finished_at_utc": "2026-09-17T13:46:19Z", + "started_at_utc": "2026-09-17T13:46:46Z", + "finished_at_utc": "2026-09-17T13:46:46Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8", - "duplicate_failed_command_blocked": false, - "block_reason": null, - "execution_started": true, + "duplicate_failed_command_blocked": true, + "block_reason": "EXACT_FAILED_COMMAND_REPEAT", + "execution_started": false, "change_declared": true, "result_contract_valid": true, - "result_contract_status": "FAIL", - "result_contract_error": null, - "command_rc": 2, - "changes_made": true, - "rollback_started": true, - "rollback_restored": true, - "mutation_outcome": "ROLLED_BACK", + "result_contract_status": "BLOCKED", + "result_contract_error": "RUNNER_PREEXECUTION_BLOCK", + "command_rc": null, + "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": "b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83", - "sanitized_output_sha256": "b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83", + "raw_evidence_sha256": "d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6", + "sanitized_output_sha256": "d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "SIGNALBOT050_BEGIN=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1\nSIGNALBOT050_PRE_HEAD=350b1bd3689a15c82b84b4b84b172732d9a8a0cc\nSIGNALBOT050_PREFLIGHT=PASS\nSIGNALBOT050_RED=PASS_EXPECTED_MISSING_RECONCILIATION_HEALTH\nSIGNALBOT050_COMPILE=PASS\nSIGNALBOT050_TARGETED_GREEN=6\nSIGNALBOT050_FULL_TAIL=..........................................................F............. [ 13%]\n........................................................................ [ 26%]\n........................................................................ [ 39%]\n........................................................................ [ 52%]\n........................................................................ [ 65%]\n........................................................................ [ 78%]\n........................................................................ [ 91%]\n................................................. [100%]\n=================================== FAILURES ===================================\n_ CR0116ReconnectScopeTests.test_historical_reconnect_is_not_global_prospective_poison _\n\nself = \n\n def test_historical_reconnect_is_not_global_prospective_poison(self):\n with tempfile.TemporaryDirectory() as td:\n path = Path(td) / \"source.db\"\n with SQLiteBitfinexSourceJournal(path, collection_start_at=T0) as journal:\n journal._db.execute(\n \"\"\"\n INSERT INTO sequence_events(\n session_id,source_sequence,received_at,event_kind\n ) VALUES(?,?,?,?)\n \"\"\",\n (\n \"old-session\",\n 10,\n (T0 + timedelta(hours=1)).isoformat(),\n \"RECONNECT\",\n ),\n )\n state = journal.current_prospective_source_state()\n> self.assertFalse(state.reconnect_detected)\nE AssertionError: True is not false\n\ntests/test_cr0116_reconnect_scope.py:42: AssertionError\n=========================== short test summary info ============================\nFAILED tests/test_cr0116_reconnect_scope.py::CR0116ReconnectScopeTests::test_historical_reconnect_is_not_global_prospective_poison\n1 failed, 552 passed in 1.23s\n\n\nSIGNALBOT050_EXCEPTION_CLASS=builtins.RuntimeError\nSIGNALBOT050_EXCEPTION_MSG_SHA256=d1f29e05182bf9414507df6ef381056bd58317ac3042ab37b013bab030b776d2\nSIGNALBOT050_ROLLBACK_STARTED=true\nSIGNALBOT050_ROLLBACK_RESTORED=true\nSIGNALBOT050_PRODUCTION_RUNTIME_MUTATION=NO\nSIGNALBOT050_REAL_EXCHANGE_EXECUTION=NO\nSIGNALBOT050_RETUNE_80_20=NO\nSIGNALBOT050_RETUNE_DEMONOV=NO\nSIGNALBOT050_MUTATION_OUTCOME=ROLLED_BACK\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" + "output": "COMMAND_EXECUTION_BLOCKED=yes\nREASON=EXACT_FAILED_COMMAND_REPEAT\nPREVIOUS_RC=2\nCOMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8\n\nSet HOMELAB_ALLOW_REPEAT=1 only after reviewing the previous failure.\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 6256bd60..4cc3d7f2 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,7 +1,7 @@ CHAT_OUTPUT_BEGIN COMMAND_ID=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1 -STATUS=FAIL -RC=2 +STATUS=BLOCKED +RC=73 HOST=pve01 MODE=change COMPONENT=signalbot-cr0116-reconnect-reconciliation-health-stage @@ -10,79 +10,29 @@ REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d6 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 COMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8 -DUPLICATE_FAILED_COMMAND_BLOCKED=false -EXECUTION_STARTED=true +DUPLICATE_FAILED_COMMAND_BLOCKED=true +EXECUTION_STARTED=false CHANGE_DECLARED=true RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL -RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=2 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=true -MUTATION_OUTCOME=ROLLED_BACK +RESULT_CONTRACT_STATUS=BLOCKED +RESULT_CONTRACT_ERROR=RUNNER_PREEXECUTION_BLOCK +COMMAND_RC= +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=b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83 -SANITIZED_OUTPUT_SHA256=b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83 +RAW_EVIDENCE_SHA256=d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6 +SANITIZED_OUTPUT_SHA256=d9a5501b0412855b44519593c3db504a0ceee2fa9cbc555316fcc6e9f207dcb6 OUTPUT_BEGIN -SIGNALBOT050_BEGIN=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1 -SIGNALBOT050_PRE_HEAD=350b1bd3689a15c82b84b4b84b172732d9a8a0cc -SIGNALBOT050_PREFLIGHT=PASS -SIGNALBOT050_RED=PASS_EXPECTED_MISSING_RECONCILIATION_HEALTH -SIGNALBOT050_COMPILE=PASS -SIGNALBOT050_TARGETED_GREEN=6 -SIGNALBOT050_FULL_TAIL=..........................................................F............. [ 13%] -........................................................................ [ 26%] -........................................................................ [ 39%] -........................................................................ [ 52%] -........................................................................ [ 65%] -........................................................................ [ 78%] -........................................................................ [ 91%] -................................................. [100%] -=================================== FAILURES =================================== -_ CR0116ReconnectScopeTests.test_historical_reconnect_is_not_global_prospective_poison _ +COMMAND_EXECUTION_BLOCKED=yes +REASON=EXACT_FAILED_COMMAND_REPEAT +PREVIOUS_RC=2 +COMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8 -self = - - def test_historical_reconnect_is_not_global_prospective_poison(self): - with tempfile.TemporaryDirectory() as td: - path = Path(td) / "source.db" - with SQLiteBitfinexSourceJournal(path, collection_start_at=T0) as journal: - journal._db.execute( - """ - INSERT INTO sequence_events( - session_id,source_sequence,received_at,event_kind - ) VALUES(?,?,?,?) - """, - ( - "old-session", - 10, - (T0 + timedelta(hours=1)).isoformat(), - "RECONNECT", - ), - ) - state = journal.current_prospective_source_state() -> self.assertFalse(state.reconnect_detected) -E AssertionError: True is not false - -tests/test_cr0116_reconnect_scope.py:42: AssertionError -=========================== short test summary info ============================ -FAILED tests/test_cr0116_reconnect_scope.py::CR0116ReconnectScopeTests::test_historical_reconnect_is_not_global_prospective_poison -1 failed, 552 passed in 1.23s - - -SIGNALBOT050_EXCEPTION_CLASS=builtins.RuntimeError -SIGNALBOT050_EXCEPTION_MSG_SHA256=d1f29e05182bf9414507df6ef381056bd58317ac3042ab37b013bab030b776d2 -SIGNALBOT050_ROLLBACK_STARTED=true -SIGNALBOT050_ROLLBACK_RESTORED=true -SIGNALBOT050_PRODUCTION_RUNTIME_MUTATION=NO -SIGNALBOT050_REAL_EXCHANGE_EXECUTION=NO -SIGNALBOT050_RETUNE_80_20=NO -SIGNALBOT050_RETUNE_DEMONOV=NO -SIGNALBOT050_MUTATION_OUTCOME=ROLLED_BACK -HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1} +Set HOMELAB_ALLOW_REPEAT=1 only after reviewing the previous failure. OUTPUT_END CHAT_OUTPUT_END