runtime: publish SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"schema_version": 1,
|
||||||
|
"channel": "homelab-runtime",
|
||||||
|
"command_id": "SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1",
|
||||||
|
"status": "FAIL",
|
||||||
|
"rc": 2,
|
||||||
|
"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",
|
||||||
|
"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,
|
||||||
|
"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",
|
||||||
|
"sanitized": true,
|
||||||
|
"secrets_included": false,
|
||||||
|
"private_addresses_included": false,
|
||||||
|
"raw_evidence_retained_locally": true,
|
||||||
|
"raw_evidence_sha256": "b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83",
|
||||||
|
"sanitized_output_sha256": "b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83",
|
||||||
|
"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 = <test_cr0116_reconnect_scope.CR0116ReconnectScopeTests testMethod=test_historical_reconnect_is_not_global_prospective_poison>\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"
|
||||||
|
}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
CHAT_OUTPUT_BEGIN
|
||||||
|
COMMAND_ID=SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1
|
||||||
|
STATUS=FAIL
|
||||||
|
RC=2
|
||||||
|
HOST=pve01
|
||||||
|
MODE=change
|
||||||
|
COMPONENT=signalbot-cr0116-reconnect-reconciliation-health-stage
|
||||||
|
REFERENCE_REGISTER_CHECK=OK
|
||||||
|
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
|
||||||
|
ERROR_REGISTER_CHECK=OK
|
||||||
|
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
|
||||||
|
COMMAND_SHA256=1aa93eaa3da1bb04ed9e2f7aecf93356de85c96f8575e374c77787d45d2f79d8
|
||||||
|
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=2
|
||||||
|
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=b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83
|
||||||
|
SANITIZED_OUTPUT_SHA256=b7bfbbd53a72392b80ec4c60422e41b38f0ed045ae479d0659b6f01ec4af6a83
|
||||||
|
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 _
|
||||||
|
|
||||||
|
self = <test_cr0116_reconnect_scope.CR0116ReconnectScopeTests testMethod=test_historical_reconnect_is_not_global_prospective_poison>
|
||||||
|
|
||||||
|
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}
|
||||||
|
|
||||||
|
OUTPUT_END
|
||||||
|
CHAT_OUTPUT_END
|
||||||
+18
-18
File diff suppressed because one or more lines are too long
+71
-20
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user