1
0

runtime: publish SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-050R1

This commit is contained in:
homelab-runtime-publisher
2026-09-17 13:46:19 +00:00
parent 8fad2712a5
commit 6c9a90caa5
4 changed files with 215 additions and 38 deletions
@@ -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
View File
File diff suppressed because one or more lines are too long
+71 -20
View File
File diff suppressed because one or more lines are too long