From fc2a51efbe511548f3268382c2de2a1839f575b4 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Mon, 21 Sep 2026 06:03:34 +0000 Subject: [PATCH] runtime: publish SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1 --- ...-260921-SEMANTIC-CONFLICT-RCA-052SEM1.json | 38 ++++++++++++++ ...T-260921-SEMANTIC-CONFLICT-RCA-052SEM1.txt | 35 +++++++++++++ runtime/latest.json | 36 ++++++------- runtime/latest.txt | 51 +++++++------------ 4 files changed, 109 insertions(+), 51 deletions(-) create mode 100644 runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.json create mode 100644 runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.txt diff --git a/runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.json b/runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.json new file mode 100644 index 00000000..c7dbe251 --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "signalbot-semantic-conflict-rca", + "started_at_utc": "2026-09-21T06:03:29Z", + "finished_at_utc": "2026-09-21T06:03:33Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "799aae26989afb94d89f08d220301cf95e7fe17a020c7a93169a9901c4187e90", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "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": "d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4", + "sanitized_output_sha256": "d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SIGNALBOT052SEM1_RESULT={\"outer_rc\":0,\"guest_exitcode\":0,\"rca\":{\"ok\":true,\"source_context\":[[60,\"\"],[61,\"@dataclass(frozen=True)\"],[62,\"class ReconciliationWindow:\"],[63,\" window_id: str\"],[64,\" reconnect_event_seq: int\"],[65,\" reconnect_received_at: datetime\"],[66,\" previous_trade_identity: str\"],[67,\" previous_trade_mts: datetime\"],[68,\" next_trade_identity: str\"],[69,\" next_trade_mts: datetime\"],[70,\" status: ReconciliationStatus\"],[71,\" evidence_sha256: str\"],[72,\" recovered_row_count: int\"],[73,\" failure_reason: str\"],[74,\" created_at: datetime\"],[182,\" order_keys: list[tuple[datetime, int]] = []\"],[183,\" for raw in payload:\"],[184,\" if not isinstance(raw, list):\"],[185,\" raise DemonovError(\\\"Bitfinex REST trade row malformed\\\")\"],[186,\" trade = normalize_bitfinex_rest_trade(raw)\"],[187,\" raw_rows.append(list(raw[:4]))\"],[188,\" prior = seen.get(trade.trade_identity)\"],[189,\" if prior is not None:\"],[190,\" if prior != trade.semantic_hash:\"],[191,\" raise DemonovError(\\\"Bitfinex REST trade semantic conflict\\\")\"],[192,\" continue\"],[193,\" seen[trade.trade_identity] = trade.semantic_hash\"],[194,\" normalized.append(trade)\"],[195,\" order_keys.append((trade.mts, trade.trade_id))\"],[196,\" if order_keys != sorted(order_keys):\"],[197,\" normalized.sort(key=lambda trade: (trade.mts, trade.trade_id))\"],[198,\"\"],[199,\" evidence_sha256 = canonical_hash(\"],[246,\" evidence_sha256=batch.evidence_sha256,\"],[247,\" failure_reason=\\\"REST_NO_FORWARD_PROOF\\\",\"],[248,\" resolved_at=resolved_at,\"],[249,\" )\"],[250,\"\"],[251,\" for trade in batch.trades:\"],[252,\" existing = journal.latest_trade_semantic_hash(trade.trade_identity)\"],[253,\" if existing is not None and existing != trade.semantic_hash:\"],[254,\" return journal.mark_reconciliation_unresolved(\"],[255,\" window_id,\"],[256,\" evidence_sha256=batch.evidence_sha256,\"],[257,\" failure_reason=\\\"REST_SEMANTIC_CONFLICT\\\",\"],[258,\" resolved_at=resolved_at,\"],[259,\" )\"],[260,\"\"],[261,\" recovered = 0\"],[262,\" for index, trade in enumerate(batch.trades):\"],[263,\" receipt = SourceReceiptV1.build(\"],[277,\" window_id,\"],[278,\" evidence_sha256=batch.evidence_sha256,\"],[279,\" failure_reason=f\\\"REST_INSERT_{result}\\\",\"],[280,\" resolved_at=resolved_at,\"],[281,\" )\"],[282,\"\"],[283,\" if not journal.has_trade_identity(window.previous_trade_identity):\"],[284,\" return journal.mark_reconciliation_unresolved(\"],[285,\" window_id,\"],[286,\" evidence_sha256=batch.evidence_sha256,\"],[287,\" failure_reason=\\\"PREVIOUS_BOUNDARY_MISSING\\\",\"],[288,\" resolved_at=resolved_at,\"],[289,\" )\"],[290,\" if not journal.has_trade_identity(window.next_trade_identity):\"],[291,\" return journal.mark_reconciliation_unresolved(\"],[292,\" window_id,\"],[293,\" evidence_sha256=batch.evidence_sha256,\"],[294,\" failure_reason=\\\"NEXT_BOUNDARY_MISSING\\\",\"],[295,\" resolved_at=resolved_at,\"],[296,\" )\"],[297,\" for trade in batch.trades:\"],[298,\" if journal.latest_trade_semantic_hash(trade.trade_identity) != trade.semantic_hash:\"],[299,\" return journal.mark_reconciliation_unresolved(\"],[300,\" window_id,\"],[301,\" evidence_sha256=batch.evidence_sha256,\"],[302,\" failure_reason=\\\"REST_MERGE_PROOF_FAILED\\\",\"],[303,\" resolved_at=resolved_at,\"],[304,\" )\"]],\"client_methods\":{\"fetch_trade_window\":\"(self, symbol: 'str', *, start_mts: 'datetime', end_mts: 'datetime') -> 'BitfinexTradeHistoryBatch'\",\"reconcile_window\":\"(self, journal, window_id: 'str', *, symbol: 'str', resolved_at: 'datetime') -> 'ReconciliationWindow'\"},\"live_pre_rows\":[{\"window_id\":\"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88\",\"reconnect_event_seq\":251009,\"reconnect_received_at\":\"2026-09-19T08:56:37.306311+00:00\",\"previous_trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"previous_trade_mts\":\"2026-09-19T08:56:34.170000+00:00\",\"next_trade_identity\":\"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7\",\"next_trade_mts\":\"2026-09-19T08:56:43.071000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-19T08:56:43.166296+00:00\",\"resolved_at\":\"2026-09-19T08:56:43.166296+00:00\"},{\"window_id\":\"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda\",\"reconnect_event_seq\":318578,\"reconnect_received_at\":\"2026-09-20T01:19:10.585588+00:00\",\"previous_trade_identity\":\"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3\",\"previous_trade_mts\":\"2026-09-20T01:19:03.365000+00:00\",\"next_trade_identity\":\"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6\",\"next_trade_mts\":\"2026-09-20T01:19:16.432000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-20T01:19:16.494983+00:00\",\"resolved_at\":\"2026-09-20T01:19:16.494983+00:00\"},{\"window_id\":\"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb\",\"reconnect_event_seq\":350488,\"reconnect_received_at\":\"2026-09-20T07:26:44.462330+00:00\",\"previous_trade_identity\":\"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60\",\"previous_trade_mts\":\"2026-09-20T07:26:42.303000+00:00\",\"next_trade_identity\":\"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61\",\"next_trade_mts\":\"2026-09-20T07:26:46.404000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-20T07:26:46.505770+00:00\",\"resolved_at\":\"2026-09-20T07:26:46.505770+00:00\"},{\"window_id\":\"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc\",\"reconnect_event_seq\":377008,\"reconnect_received_at\":\"2026-09-20T13:53:16.325492+00:00\",\"previous_trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"previous_trade_mts\":\"2026-09-20T13:52:37.772000+00:00\",\"next_trade_identity\":\"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008\",\"next_trade_mts\":\"2026-09-20T13:53:16.750000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-20T13:53:16.842477+00:00\",\"resolved_at\":\"2026-09-20T13:53:16.842477+00:00\"}],\"results\":[{\"seq\":251009,\"result\":{\"window_id\":\"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88\",\"reconnect_event_seq\":251009,\"reconnect_received_at\":\"2026-09-19 08:56:37.306311+00:00\",\"previous_trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"previous_trade_mts\":\"2026-09-19 08:56:34.170000+00:00\",\"next_trade_identity\":\"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7\",\"next_trade_mts\":\"2026-09-19 08:56:43.071000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-19 08:56:43.166296+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.131666+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]},{\"seq\":318578,\"result\":{\"window_id\":\"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda\",\"reconnect_event_seq\":318578,\"reconnect_received_at\":\"2026-09-20 01:19:10.585588+00:00\",\"previous_trade_identity\":\"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3\",\"previous_trade_mts\":\"2026-09-20 01:19:03.365000+00:00\",\"next_trade_identity\":\"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6\",\"next_trade_mts\":\"2026-09-20 01:19:16.432000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20 01:19:16.494983+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.338545+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]},{\"seq\":350488,\"result\":{\"window_id\":\"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb\",\"reconnect_event_seq\":350488,\"reconnect_received_at\":\"2026-09-20 07:26:44.462330+00:00\",\"previous_trade_identity\":\"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60\",\"previous_trade_mts\":\"2026-09-20 07:26:42.303000+00:00\",\"next_trade_identity\":\"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61\",\"next_trade_mts\":\"2026-09-20 07:26:46.404000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20 07:26:46.505770+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.478492+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]},{\"seq\":377008,\"result\":{\"window_id\":\"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc\",\"reconnect_event_seq\":377008,\"reconnect_received_at\":\"2026-09-20 13:53:16.325492+00:00\",\"previous_trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"previous_trade_mts\":\"2026-09-20 13:52:37.772000+00:00\",\"next_trade_identity\":\"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008\",\"next_trade_mts\":\"2026-09-20 13:53:16.750000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20 13:53:16.842477+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.708593+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]}],\"copy_post_rows\":[{\"window_id\":\"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88\",\"reconnect_event_seq\":251009,\"reconnect_received_at\":\"2026-09-19T08:56:37.306311+00:00\",\"previous_trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"previous_trade_mts\":\"2026-09-19T08:56:34.170000+00:00\",\"next_trade_identity\":\"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7\",\"next_trade_mts\":\"2026-09-19T08:56:43.071000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-19T08:56:43.166296+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.131666+00:00\"},{\"window_id\":\"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda\",\"reconnect_event_seq\":318578,\"reconnect_received_at\":\"2026-09-20T01:19:10.585588+00:00\",\"previous_trade_identity\":\"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3\",\"previous_trade_mts\":\"2026-09-20T01:19:03.365000+00:00\",\"next_trade_identity\":\"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6\",\"next_trade_mts\":\"2026-09-20T01:19:16.432000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20T01:19:16.494983+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.338545+00:00\"},{\"window_id\":\"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb\",\"reconnect_event_seq\":350488,\"reconnect_received_at\":\"2026-09-20T07:26:44.462330+00:00\",\"previous_trade_identity\":\"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60\",\"previous_trade_mts\":\"2026-09-20T07:26:42.303000+00:00\",\"next_trade_identity\":\"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61\",\"next_trade_mts\":\"2026-09-20T07:26:46.404000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20T07:26:46.505770+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.478492+00:00\"},{\"window_id\":\"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc\",\"reconnect_event_seq\":377008,\"reconnect_received_at\":\"2026-09-20T13:53:16.325492+00:00\",\"previous_trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"previous_trade_mts\":\"2026-09-20T13:52:37.772000+00:00\",\"next_trade_identity\":\"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008\",\"next_trade_mts\":\"2026-09-20T13:53:16.750000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20T13:53:16.842477+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.708593+00:00\"}],\"copy_quick_check\":\"ok\"}}\nTASK_RESULT=PASS_SIGNALBOT_052SEM1_SEMANTIC_CONFLICT_RCA_CAPTURED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.txt b/runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.txt new file mode 100644 index 00000000..0b4f2745 --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1.txt @@ -0,0 +1,35 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-semantic-conflict-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=799aae26989afb94d89f08d220301cf95e7fe17a020c7a93169a9901c4187e90 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +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=d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4 +SANITIZED_OUTPUT_SHA256=d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4 +OUTPUT_BEGIN +SIGNALBOT052SEM1_RESULT={"outer_rc":0,"guest_exitcode":0,"rca":{"ok":true,"source_context":[[60,""],[61,"@dataclass(frozen=True)"],[62,"class ReconciliationWindow:"],[63," window_id: str"],[64," reconnect_event_seq: int"],[65," reconnect_received_at: datetime"],[66," previous_trade_identity: str"],[67," previous_trade_mts: datetime"],[68," next_trade_identity: str"],[69," next_trade_mts: datetime"],[70," status: ReconciliationStatus"],[71," evidence_sha256: str"],[72," recovered_row_count: int"],[73," failure_reason: str"],[74," created_at: datetime"],[182," order_keys: list[tuple[datetime, int]] = []"],[183," for raw in payload:"],[184," if not isinstance(raw, list):"],[185," raise DemonovError(\"Bitfinex REST trade row malformed\")"],[186," trade = normalize_bitfinex_rest_trade(raw)"],[187," raw_rows.append(list(raw[:4]))"],[188," prior = seen.get(trade.trade_identity)"],[189," if prior is not None:"],[190," if prior != trade.semantic_hash:"],[191," raise DemonovError(\"Bitfinex REST trade semantic conflict\")"],[192," continue"],[193," seen[trade.trade_identity] = trade.semantic_hash"],[194," normalized.append(trade)"],[195," order_keys.append((trade.mts, trade.trade_id))"],[196," if order_keys != sorted(order_keys):"],[197," normalized.sort(key=lambda trade: (trade.mts, trade.trade_id))"],[198,""],[199," evidence_sha256 = canonical_hash("],[246," evidence_sha256=batch.evidence_sha256,"],[247," failure_reason=\"REST_NO_FORWARD_PROOF\","],[248," resolved_at=resolved_at,"],[249," )"],[250,""],[251," for trade in batch.trades:"],[252," existing = journal.latest_trade_semantic_hash(trade.trade_identity)"],[253," if existing is not None and existing != trade.semantic_hash:"],[254," return journal.mark_reconciliation_unresolved("],[255," window_id,"],[256," evidence_sha256=batch.evidence_sha256,"],[257," failure_reason=\"REST_SEMANTIC_CONFLICT\","],[258," resolved_at=resolved_at,"],[259," )"],[260,""],[261," recovered = 0"],[262," for index, trade in enumerate(batch.trades):"],[263," receipt = SourceReceiptV1.build("],[277," window_id,"],[278," evidence_sha256=batch.evidence_sha256,"],[279," failure_reason=f\"REST_INSERT_{result}\","],[280," resolved_at=resolved_at,"],[281," )"],[282,""],[283," if not journal.has_trade_identity(window.previous_trade_identity):"],[284," return journal.mark_reconciliation_unresolved("],[285," window_id,"],[286," evidence_sha256=batch.evidence_sha256,"],[287," failure_reason=\"PREVIOUS_BOUNDARY_MISSING\","],[288," resolved_at=resolved_at,"],[289," )"],[290," if not journal.has_trade_identity(window.next_trade_identity):"],[291," return journal.mark_reconciliation_unresolved("],[292," window_id,"],[293," evidence_sha256=batch.evidence_sha256,"],[294," failure_reason=\"NEXT_BOUNDARY_MISSING\","],[295," resolved_at=resolved_at,"],[296," )"],[297," for trade in batch.trades:"],[298," if journal.latest_trade_semantic_hash(trade.trade_identity) != trade.semantic_hash:"],[299," return journal.mark_reconciliation_unresolved("],[300," window_id,"],[301," evidence_sha256=batch.evidence_sha256,"],[302," failure_reason=\"REST_MERGE_PROOF_FAILED\","],[303," resolved_at=resolved_at,"],[304," )"]],"client_methods":{"fetch_trade_window":"(self, symbol: 'str', *, start_mts: 'datetime', end_mts: 'datetime') -> 'BitfinexTradeHistoryBatch'","reconcile_window":"(self, journal, window_id: 'str', *, symbol: 'str', resolved_at: 'datetime') -> 'ReconciliationWindow'"},"live_pre_rows":[{"window_id":"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88","reconnect_event_seq":251009,"reconnect_received_at":"2026-09-19T08:56:37.306311+00:00","previous_trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","previous_trade_mts":"2026-09-19T08:56:34.170000+00:00","next_trade_identity":"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7","next_trade_mts":"2026-09-19T08:56:43.071000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-19T08:56:43.166296+00:00","resolved_at":"2026-09-19T08:56:43.166296+00:00"},{"window_id":"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda","reconnect_event_seq":318578,"reconnect_received_at":"2026-09-20T01:19:10.585588+00:00","previous_trade_identity":"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3","previous_trade_mts":"2026-09-20T01:19:03.365000+00:00","next_trade_identity":"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6","next_trade_mts":"2026-09-20T01:19:16.432000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-20T01:19:16.494983+00:00","resolved_at":"2026-09-20T01:19:16.494983+00:00"},{"window_id":"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb","reconnect_event_seq":350488,"reconnect_received_at":"2026-09-20T07:26:44.462330+00:00","previous_trade_identity":"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60","previous_trade_mts":"2026-09-20T07:26:42.303000+00:00","next_trade_identity":"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61","next_trade_mts":"2026-09-20T07:26:46.404000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-20T07:26:46.505770+00:00","resolved_at":"2026-09-20T07:26:46.505770+00:00"},{"window_id":"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc","reconnect_event_seq":377008,"reconnect_received_at":"2026-09-20T13:53:16.325492+00:00","previous_trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","previous_trade_mts":"2026-09-20T13:52:37.772000+00:00","next_trade_identity":"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008","next_trade_mts":"2026-09-20T13:53:16.750000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-20T13:53:16.842477+00:00","resolved_at":"2026-09-20T13:53:16.842477+00:00"}],"results":[{"seq":251009,"result":{"window_id":"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88","reconnect_event_seq":251009,"reconnect_received_at":"2026-09-19 08:56:37.306311+00:00","previous_trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","previous_trade_mts":"2026-09-19 08:56:34.170000+00:00","next_trade_identity":"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7","next_trade_mts":"2026-09-19 08:56:43.071000+00:00","status":"UNRESOLVED","evidence_sha256":"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-19 08:56:43.166296+00:00","resolved_at":"2026-09-21 06:03:31.131666+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]},{"seq":318578,"result":{"window_id":"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda","reconnect_event_seq":318578,"reconnect_received_at":"2026-09-20 01:19:10.585588+00:00","previous_trade_identity":"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3","previous_trade_mts":"2026-09-20 01:19:03.365000+00:00","next_trade_identity":"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6","next_trade_mts":"2026-09-20 01:19:16.432000+00:00","status":"UNRESOLVED","evidence_sha256":"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20 01:19:16.494983+00:00","resolved_at":"2026-09-21 06:03:31.338545+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]},{"seq":350488,"result":{"window_id":"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb","reconnect_event_seq":350488,"reconnect_received_at":"2026-09-20 07:26:44.462330+00:00","previous_trade_identity":"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60","previous_trade_mts":"2026-09-20 07:26:42.303000+00:00","next_trade_identity":"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61","next_trade_mts":"2026-09-20 07:26:46.404000+00:00","status":"UNRESOLVED","evidence_sha256":"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20 07:26:46.505770+00:00","resolved_at":"2026-09-21 06:03:31.478492+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]},{"seq":377008,"result":{"window_id":"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc","reconnect_event_seq":377008,"reconnect_received_at":"2026-09-20 13:53:16.325492+00:00","previous_trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","previous_trade_mts":"2026-09-20 13:52:37.772000+00:00","next_trade_identity":"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008","next_trade_mts":"2026-09-20 13:53:16.750000+00:00","status":"UNRESOLVED","evidence_sha256":"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20 13:53:16.842477+00:00","resolved_at":"2026-09-21 06:03:31.708593+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]}],"copy_post_rows":[{"window_id":"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88","reconnect_event_seq":251009,"reconnect_received_at":"2026-09-19T08:56:37.306311+00:00","previous_trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","previous_trade_mts":"2026-09-19T08:56:34.170000+00:00","next_trade_identity":"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7","next_trade_mts":"2026-09-19T08:56:43.071000+00:00","status":"UNRESOLVED","evidence_sha256":"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-19T08:56:43.166296+00:00","resolved_at":"2026-09-21T06:03:31.131666+00:00"},{"window_id":"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda","reconnect_event_seq":318578,"reconnect_received_at":"2026-09-20T01:19:10.585588+00:00","previous_trade_identity":"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3","previous_trade_mts":"2026-09-20T01:19:03.365000+00:00","next_trade_identity":"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6","next_trade_mts":"2026-09-20T01:19:16.432000+00:00","status":"UNRESOLVED","evidence_sha256":"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20T01:19:16.494983+00:00","resolved_at":"2026-09-21T06:03:31.338545+00:00"},{"window_id":"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb","reconnect_event_seq":350488,"reconnect_received_at":"2026-09-20T07:26:44.462330+00:00","previous_trade_identity":"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60","previous_trade_mts":"2026-09-20T07:26:42.303000+00:00","next_trade_identity":"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61","next_trade_mts":"2026-09-20T07:26:46.404000+00:00","status":"UNRESOLVED","evidence_sha256":"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20T07:26:46.505770+00:00","resolved_at":"2026-09-21T06:03:31.478492+00:00"},{"window_id":"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc","reconnect_event_seq":377008,"reconnect_received_at":"2026-09-20T13:53:16.325492+00:00","previous_trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","previous_trade_mts":"2026-09-20T13:52:37.772000+00:00","next_trade_identity":"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008","next_trade_mts":"2026-09-20T13:53:16.750000+00:00","status":"UNRESOLVED","evidence_sha256":"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20T13:53:16.842477+00:00","resolved_at":"2026-09-21T06:03:31.708593+00:00"}],"copy_quick_check":"ok"}} +TASK_RESULT=PASS_SIGNALBOT_052SEM1_SEMANTIC_CONFLICT_RCA_CAPTURED +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index bee5036a..c7dbe251 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260921-NEWFDOM-KENNELS219-FINAL366", - "status": "FAIL", - "rc": 3, + "command_id": "SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "newfi-kennels219-profiles-staging-production-git-final", - "started_at_utc": "2026-09-21T06:02:59Z", - "finished_at_utc": "2026-09-21T06:03:10Z", + "mode": "read-only", + "component": "signalbot-semantic-conflict-rca", + "started_at_utc": "2026-09-21T06:03:29Z", + "finished_at_utc": "2026-09-21T06:03:33Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "ea0f3ab828fd563e3ac949785081cd178c690dbacb28633660cd01edb02f00a1", + "command_sha256": "799aae26989afb94d89f08d220301cf95e7fe17a020c7a93169a9901c4187e90", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "FAIL", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 3, - "changes_made": true, - "rollback_started": true, - "rollback_restored": true, - "mutation_outcome": "ROLLED_BACK", + "command_rc": 0, + "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": "35a5ffed17fa446a0dd8a213a41b8fb0ccc364aef65698082842454972109a08", - "sanitized_output_sha256": "35a5ffed17fa446a0dd8a213a41b8fb0ccc364aef65698082842454972109a08", + "raw_evidence_sha256": "d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4", + "sanitized_output_sha256": "d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "KEN366_BEGIN=true\nCOMMAND_ID=NEWFI-260921-NEWFDOM-KENNELS219-FINAL366\nIMMUTABLE_PLAN_CHECK=PASS\nGIT_PRESTATE={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"8ee9246024eabf84efbf21dc9b02ae2a666dca26\",\"remote\":\"8ee9246024eabf84efbf21dc9b02ae2a666dca26\"}\nPUBLIC_PRE={\"/\":\"200\",\"/dogs/\":\"200\",\"/events/\":\"200\",\"/kennels/\":\"404\",\"/map/\":\"200\",\"/medical/\":\"403\",\"/pedigree/\":\"200\"}\nVM211_PREFLIGHT={\"action\":\"preflight\",\"result\":{\"addons\":{\"Newfi/Dogs\":{\"active\":1,\"addon_id\":\"Newfi/Dogs\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Kennels\":null,\"Newfi/Medical\":{\"active\":1,\"addon_id\":\"Newfi/Medical\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Pedigree\":{\"active\":1,\"addon_id\":\"Newfi/Pedigree\",\"is_processing\":0,\"version_id\":1000010}},\"address_columns\":0,\"dog_rows\":0,\"errors\":{\"count\":29,\"max\":61,\"sha256\":\"a8f707c2cb169c30b052b0db95175775e77d45ee1b89c09c95f9f1b61a77ae5a\"},\"kennel_rows\":0,\"kennel_tables\":0,\"medical_rows\":0,\"pedigree_rows\":0,\"report_rows\":0,\"route\":0,\"source_exists\":false,\"source_manifest\":{},\"templates\":0},\"schema_version\":1,\"status\":\"PASS\"}\nVM210_PREFLIGHT={\"action\":\"preflight\",\"result\":{\"addons\":{\"Newfi/Dogs\":{\"active\":1,\"addon_id\":\"Newfi/Dogs\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Kennels\":null,\"Newfi/Medical\":{\"active\":1,\"addon_id\":\"Newfi/Medical\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Pedigree\":{\"active\":1,\"addon_id\":\"Newfi/Pedigree\",\"is_processing\":0,\"version_id\":1000010}},\"address_columns\":0,\"dog_rows\":0,\"errors\":{\"count\":46,\"max\":46,\"sha256\":\"59574aab764a453c4001490945e8c4bb9bf263f656cab24612479c5302e09123\"},\"kennel_rows\":0,\"kennel_tables\":0,\"medical_rows\":0,\"pedigree_rows\":0,\"report_rows\":0,\"route\":0,\"source_exists\":false,\"source_manifest\":{},\"templates\":0},\"schema_version\":1,\"status\":\"PASS\"}\nVM211_APPLY={\"action\":\"apply\",\"result\":{\"fixed_bundle\":\"8394a43729cce5a7c70ab9ecb7689222d882ed108498199260d338fc2920f97e\",\"state\":{\"addons\":{\"Newfi/Dogs\":{\"active\":1,\"addon_id\":\"Newfi/Dogs\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Kennels\":{\"active\":1,\"addon_id\":\"Newfi/Kennels\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Medical\":{\"active\":1,\"addon_id\":\"Newfi/Medical\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Pedigree\":{\"active\":1,\"addon_id\":\"Newfi/Pedigree\",\"is_processing\":0,\"version_id\":1000010}},\"address_columns\":0,\"dog_rows\":0,\"errors\":{\"count\":29,\"max\":61,\"sha256\":\"a8f707c2cb169c30b052b0db95175775e77d45ee1b89c09c95f9f1b61a77ae5a\"},\"kennel_rows\":0,\"kennel_tables\":2,\"medical_rows\":0,\"pedigree_rows\":0,\"report_rows\":0,\"route\":1,\"source_exists\":true,\"source_manifest\":{\"Entity/Kennel.php\":\"efd3dd77b5feff994b82ac3f79f5d96cef4609936b304f31cf0e20ad1794b35a\",\"Entity/KennelReport.php\":\"e3900c251c07b6c94b7a9ef2e5775da6278855c49d8c647a57191547ed541703\",\"Pub/Controller/Kennels.php\":\"4d5d9e3df0f7cb936be8d1752d737f534ea668aa7d0c38477c1d0a2094be3085\",\"Pub/View/Kennels.php\":\"5cce922ed69f994aca18e4b430e880a31ddb00b54d1df2141f5a50be6d8e2ef0\",\"Service/Kennel.php\":\"d026ea4479954b865addf2f69875d0aa21e5a30b1d8a76fc255ccfa58c9abe15\",\"Setup.php\":\"3c0d675ff40861657a846eb3f1e57b3930b3ae45c7c4b4b56bad72fc36d4f19f\",\"_data/routes.xml\":\"6ca9635f2f698420fab4d9af93bb4107f8d4b44a77e411c83b68be1f4281862c\",\"_data/templates.xml\":\"ca816a5d810d49ca309a07241ebef2e9082b55f6ae3699cc39f026f49bbffb75\",\"addon.json\":\"473a796cee8f62fba0b7d990f554704139c7b56bae1c5fdc4578c5fe79418bc9\"},\"templates\":3}},\"schema_version\":1,\"status\":\"PASS\"}\nVM211_SYNTHETIC={\"action\":\"synthetic\",\"error_checkpoint\":\"https_guard\",\"error_class\":\"RuntimeError\",\"error_message_sha256\":\"b19b8ec75faa06c5d99a33655cd8c5b3b3f2ff164bb1c431dc526d9671291e22\",\"schema_version\":1,\"status\":\"HOLD\"}\nKEN366_ERROR_CLASS=RuntimeError\nKEN366_ERROR_SHA=6f0e5e0d811372d51211c8a9bfb1281961f2d19893061a9ccdf080cbb3ae1155\nVM211_RESTORE={\"action\":\"restore\",\"result\":{\"addons\":{\"Newfi/Dogs\":{\"active\":1,\"addon_id\":\"Newfi/Dogs\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Kennels\":null,\"Newfi/Medical\":{\"active\":1,\"addon_id\":\"Newfi/Medical\",\"is_processing\":0,\"version_id\":1000010},\"Newfi/Pedigree\":{\"active\":1,\"addon_id\":\"Newfi/Pedigree\",\"is_processing\":0,\"version_id\":1000010}},\"address_columns\":0,\"dog_rows\":0,\"errors\":{\"count\":29,\"max\":61,\"sha256\":\"a8f707c2cb169c30b052b0db95175775e77d45ee1b89c09c95f9f1b61a77ae5a\"},\"kennel_rows\":0,\"kennel_tables\":0,\"medical_rows\":0,\"pedigree_rows\":0,\"report_rows\":0,\"route\":0,\"source_exists\":false,\"source_manifest\":{},\"templates\":0},\"schema_version\":1,\"status\":\"PASS\"}\nDECISION=FAIL_KENNELS219_FINAL366_ROLLBACK_RESTORED\nNEXT_GATE=RECONCILE_KENNELS219_FINAL366_EXACT_FAILURE\nACTIVE_MAJOR_STAGE=KENNELS219\nMAJOR_STAGES_REMAINING=3\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"NEWFI-260921-NEWFDOM-KENNELS219-FINAL366\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nKEN366_END=true\n" + "output": "SIGNALBOT052SEM1_RESULT={\"outer_rc\":0,\"guest_exitcode\":0,\"rca\":{\"ok\":true,\"source_context\":[[60,\"\"],[61,\"@dataclass(frozen=True)\"],[62,\"class ReconciliationWindow:\"],[63,\" window_id: str\"],[64,\" reconnect_event_seq: int\"],[65,\" reconnect_received_at: datetime\"],[66,\" previous_trade_identity: str\"],[67,\" previous_trade_mts: datetime\"],[68,\" next_trade_identity: str\"],[69,\" next_trade_mts: datetime\"],[70,\" status: ReconciliationStatus\"],[71,\" evidence_sha256: str\"],[72,\" recovered_row_count: int\"],[73,\" failure_reason: str\"],[74,\" created_at: datetime\"],[182,\" order_keys: list[tuple[datetime, int]] = []\"],[183,\" for raw in payload:\"],[184,\" if not isinstance(raw, list):\"],[185,\" raise DemonovError(\\\"Bitfinex REST trade row malformed\\\")\"],[186,\" trade = normalize_bitfinex_rest_trade(raw)\"],[187,\" raw_rows.append(list(raw[:4]))\"],[188,\" prior = seen.get(trade.trade_identity)\"],[189,\" if prior is not None:\"],[190,\" if prior != trade.semantic_hash:\"],[191,\" raise DemonovError(\\\"Bitfinex REST trade semantic conflict\\\")\"],[192,\" continue\"],[193,\" seen[trade.trade_identity] = trade.semantic_hash\"],[194,\" normalized.append(trade)\"],[195,\" order_keys.append((trade.mts, trade.trade_id))\"],[196,\" if order_keys != sorted(order_keys):\"],[197,\" normalized.sort(key=lambda trade: (trade.mts, trade.trade_id))\"],[198,\"\"],[199,\" evidence_sha256 = canonical_hash(\"],[246,\" evidence_sha256=batch.evidence_sha256,\"],[247,\" failure_reason=\\\"REST_NO_FORWARD_PROOF\\\",\"],[248,\" resolved_at=resolved_at,\"],[249,\" )\"],[250,\"\"],[251,\" for trade in batch.trades:\"],[252,\" existing = journal.latest_trade_semantic_hash(trade.trade_identity)\"],[253,\" if existing is not None and existing != trade.semantic_hash:\"],[254,\" return journal.mark_reconciliation_unresolved(\"],[255,\" window_id,\"],[256,\" evidence_sha256=batch.evidence_sha256,\"],[257,\" failure_reason=\\\"REST_SEMANTIC_CONFLICT\\\",\"],[258,\" resolved_at=resolved_at,\"],[259,\" )\"],[260,\"\"],[261,\" recovered = 0\"],[262,\" for index, trade in enumerate(batch.trades):\"],[263,\" receipt = SourceReceiptV1.build(\"],[277,\" window_id,\"],[278,\" evidence_sha256=batch.evidence_sha256,\"],[279,\" failure_reason=f\\\"REST_INSERT_{result}\\\",\"],[280,\" resolved_at=resolved_at,\"],[281,\" )\"],[282,\"\"],[283,\" if not journal.has_trade_identity(window.previous_trade_identity):\"],[284,\" return journal.mark_reconciliation_unresolved(\"],[285,\" window_id,\"],[286,\" evidence_sha256=batch.evidence_sha256,\"],[287,\" failure_reason=\\\"PREVIOUS_BOUNDARY_MISSING\\\",\"],[288,\" resolved_at=resolved_at,\"],[289,\" )\"],[290,\" if not journal.has_trade_identity(window.next_trade_identity):\"],[291,\" return journal.mark_reconciliation_unresolved(\"],[292,\" window_id,\"],[293,\" evidence_sha256=batch.evidence_sha256,\"],[294,\" failure_reason=\\\"NEXT_BOUNDARY_MISSING\\\",\"],[295,\" resolved_at=resolved_at,\"],[296,\" )\"],[297,\" for trade in batch.trades:\"],[298,\" if journal.latest_trade_semantic_hash(trade.trade_identity) != trade.semantic_hash:\"],[299,\" return journal.mark_reconciliation_unresolved(\"],[300,\" window_id,\"],[301,\" evidence_sha256=batch.evidence_sha256,\"],[302,\" failure_reason=\\\"REST_MERGE_PROOF_FAILED\\\",\"],[303,\" resolved_at=resolved_at,\"],[304,\" )\"]],\"client_methods\":{\"fetch_trade_window\":\"(self, symbol: 'str', *, start_mts: 'datetime', end_mts: 'datetime') -> 'BitfinexTradeHistoryBatch'\",\"reconcile_window\":\"(self, journal, window_id: 'str', *, symbol: 'str', resolved_at: 'datetime') -> 'ReconciliationWindow'\"},\"live_pre_rows\":[{\"window_id\":\"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88\",\"reconnect_event_seq\":251009,\"reconnect_received_at\":\"2026-09-19T08:56:37.306311+00:00\",\"previous_trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"previous_trade_mts\":\"2026-09-19T08:56:34.170000+00:00\",\"next_trade_identity\":\"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7\",\"next_trade_mts\":\"2026-09-19T08:56:43.071000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-19T08:56:43.166296+00:00\",\"resolved_at\":\"2026-09-19T08:56:43.166296+00:00\"},{\"window_id\":\"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda\",\"reconnect_event_seq\":318578,\"reconnect_received_at\":\"2026-09-20T01:19:10.585588+00:00\",\"previous_trade_identity\":\"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3\",\"previous_trade_mts\":\"2026-09-20T01:19:03.365000+00:00\",\"next_trade_identity\":\"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6\",\"next_trade_mts\":\"2026-09-20T01:19:16.432000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-20T01:19:16.494983+00:00\",\"resolved_at\":\"2026-09-20T01:19:16.494983+00:00\"},{\"window_id\":\"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb\",\"reconnect_event_seq\":350488,\"reconnect_received_at\":\"2026-09-20T07:26:44.462330+00:00\",\"previous_trade_identity\":\"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60\",\"previous_trade_mts\":\"2026-09-20T07:26:42.303000+00:00\",\"next_trade_identity\":\"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61\",\"next_trade_mts\":\"2026-09-20T07:26:46.404000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-20T07:26:46.505770+00:00\",\"resolved_at\":\"2026-09-20T07:26:46.505770+00:00\"},{\"window_id\":\"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc\",\"reconnect_event_seq\":377008,\"reconnect_received_at\":\"2026-09-20T13:53:16.325492+00:00\",\"previous_trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"previous_trade_mts\":\"2026-09-20T13:52:37.772000+00:00\",\"next_trade_identity\":\"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008\",\"next_trade_mts\":\"2026-09-20T13:53:16.750000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391\",\"recovered_row_count\":0,\"failure_reason\":\"REST_FETCH_OR_VALIDATION_FAILED\",\"created_at\":\"2026-09-20T13:53:16.842477+00:00\",\"resolved_at\":\"2026-09-20T13:53:16.842477+00:00\"}],\"results\":[{\"seq\":251009,\"result\":{\"window_id\":\"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88\",\"reconnect_event_seq\":251009,\"reconnect_received_at\":\"2026-09-19 08:56:37.306311+00:00\",\"previous_trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"previous_trade_mts\":\"2026-09-19 08:56:34.170000+00:00\",\"next_trade_identity\":\"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7\",\"next_trade_mts\":\"2026-09-19 08:56:43.071000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-19 08:56:43.166296+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.131666+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]},{\"seq\":318578,\"result\":{\"window_id\":\"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda\",\"reconnect_event_seq\":318578,\"reconnect_received_at\":\"2026-09-20 01:19:10.585588+00:00\",\"previous_trade_identity\":\"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3\",\"previous_trade_mts\":\"2026-09-20 01:19:03.365000+00:00\",\"next_trade_identity\":\"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6\",\"next_trade_mts\":\"2026-09-20 01:19:16.432000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20 01:19:16.494983+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.338545+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]},{\"seq\":350488,\"result\":{\"window_id\":\"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb\",\"reconnect_event_seq\":350488,\"reconnect_received_at\":\"2026-09-20 07:26:44.462330+00:00\",\"previous_trade_identity\":\"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60\",\"previous_trade_mts\":\"2026-09-20 07:26:42.303000+00:00\",\"next_trade_identity\":\"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61\",\"next_trade_mts\":\"2026-09-20 07:26:46.404000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20 07:26:46.505770+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.478492+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]},{\"seq\":377008,\"result\":{\"window_id\":\"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc\",\"reconnect_event_seq\":377008,\"reconnect_received_at\":\"2026-09-20 13:53:16.325492+00:00\",\"previous_trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"previous_trade_mts\":\"2026-09-20 13:52:37.772000+00:00\",\"next_trade_identity\":\"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008\",\"next_trade_mts\":\"2026-09-20 13:53:16.750000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20 13:53:16.842477+00:00\",\"resolved_at\":\"2026-09-21 06:03:31.708593+00:00\"},\"fetch_row_counts\":[],\"raw_duplicate_conflicts\":[]}],\"copy_post_rows\":[{\"window_id\":\"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88\",\"reconnect_event_seq\":251009,\"reconnect_received_at\":\"2026-09-19T08:56:37.306311+00:00\",\"previous_trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"previous_trade_mts\":\"2026-09-19T08:56:34.170000+00:00\",\"next_trade_identity\":\"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7\",\"next_trade_mts\":\"2026-09-19T08:56:43.071000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-19T08:56:43.166296+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.131666+00:00\"},{\"window_id\":\"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda\",\"reconnect_event_seq\":318578,\"reconnect_received_at\":\"2026-09-20T01:19:10.585588+00:00\",\"previous_trade_identity\":\"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3\",\"previous_trade_mts\":\"2026-09-20T01:19:03.365000+00:00\",\"next_trade_identity\":\"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6\",\"next_trade_mts\":\"2026-09-20T01:19:16.432000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20T01:19:16.494983+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.338545+00:00\"},{\"window_id\":\"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb\",\"reconnect_event_seq\":350488,\"reconnect_received_at\":\"2026-09-20T07:26:44.462330+00:00\",\"previous_trade_identity\":\"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60\",\"previous_trade_mts\":\"2026-09-20T07:26:42.303000+00:00\",\"next_trade_identity\":\"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61\",\"next_trade_mts\":\"2026-09-20T07:26:46.404000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20T07:26:46.505770+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.478492+00:00\"},{\"window_id\":\"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc\",\"reconnect_event_seq\":377008,\"reconnect_received_at\":\"2026-09-20T13:53:16.325492+00:00\",\"previous_trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"previous_trade_mts\":\"2026-09-20T13:52:37.772000+00:00\",\"next_trade_identity\":\"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008\",\"next_trade_mts\":\"2026-09-20T13:53:16.750000+00:00\",\"status\":\"UNRESOLVED\",\"evidence_sha256\":\"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef\",\"recovered_row_count\":0,\"failure_reason\":\"REST_SEMANTIC_CONFLICT\",\"created_at\":\"2026-09-20T13:53:16.842477+00:00\",\"resolved_at\":\"2026-09-21T06:03:31.708593+00:00\"}],\"copy_quick_check\":\"ok\"}}\nTASK_RESULT=PASS_SIGNALBOT_052SEM1_SEMANTIC_CONFLICT_RCA_CAPTURED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 6424f510..0b4f2745 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,50 +1,35 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=NEWFI-260921-NEWFDOM-KENNELS219-FINAL366 -STATUS=FAIL -RC=3 +COMMAND_ID=SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=newfi-kennels219-profiles-staging-production-git-final +MODE=read-only +COMPONENT=signalbot-semantic-conflict-rca REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=ea0f3ab828fd563e3ac949785081cd178c690dbacb28633660cd01edb02f00a1 +COMMAND_SHA256=799aae26989afb94d89f08d220301cf95e7fe17a020c7a93169a9901c4187e90 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=3 -CHANGES_MADE=true -ROLLBACK_STARTED=true -ROLLBACK_RESTORED=true -MUTATION_OUTCOME=ROLLED_BACK +COMMAND_RC=0 +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=35a5ffed17fa446a0dd8a213a41b8fb0ccc364aef65698082842454972109a08 -SANITIZED_OUTPUT_SHA256=35a5ffed17fa446a0dd8a213a41b8fb0ccc364aef65698082842454972109a08 +RAW_EVIDENCE_SHA256=d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4 +SANITIZED_OUTPUT_SHA256=d5c2a64daf8587b3999184cd18a7471783ccf62b6539a4e62e137bc360c56ab4 OUTPUT_BEGIN -KEN366_BEGIN=true -COMMAND_ID=NEWFI-260921-NEWFDOM-KENNELS219-FINAL366 -IMMUTABLE_PLAN_CHECK=PASS -GIT_PRESTATE={"branch":"implementation/newfi-closed-mvp-20260906","clean":true,"head":"8ee9246024eabf84efbf21dc9b02ae2a666dca26","remote":"8ee9246024eabf84efbf21dc9b02ae2a666dca26"} -PUBLIC_PRE={"/":"200","/dogs/":"200","/events/":"200","/kennels/":"404","/map/":"200","/medical/":"403","/pedigree/":"200"} -VM211_PREFLIGHT={"action":"preflight","result":{"addons":{"Newfi/Dogs":{"active":1,"addon_id":"Newfi/Dogs","is_processing":0,"version_id":1000010},"Newfi/Kennels":null,"Newfi/Medical":{"active":1,"addon_id":"Newfi/Medical","is_processing":0,"version_id":1000010},"Newfi/Pedigree":{"active":1,"addon_id":"Newfi/Pedigree","is_processing":0,"version_id":1000010}},"address_columns":0,"dog_rows":0,"errors":{"count":29,"max":61,"sha256":"a8f707c2cb169c30b052b0db95175775e77d45ee1b89c09c95f9f1b61a77ae5a"},"kennel_rows":0,"kennel_tables":0,"medical_rows":0,"pedigree_rows":0,"report_rows":0,"route":0,"source_exists":false,"source_manifest":{},"templates":0},"schema_version":1,"status":"PASS"} -VM210_PREFLIGHT={"action":"preflight","result":{"addons":{"Newfi/Dogs":{"active":1,"addon_id":"Newfi/Dogs","is_processing":0,"version_id":1000010},"Newfi/Kennels":null,"Newfi/Medical":{"active":1,"addon_id":"Newfi/Medical","is_processing":0,"version_id":1000010},"Newfi/Pedigree":{"active":1,"addon_id":"Newfi/Pedigree","is_processing":0,"version_id":1000010}},"address_columns":0,"dog_rows":0,"errors":{"count":46,"max":46,"sha256":"59574aab764a453c4001490945e8c4bb9bf263f656cab24612479c5302e09123"},"kennel_rows":0,"kennel_tables":0,"medical_rows":0,"pedigree_rows":0,"report_rows":0,"route":0,"source_exists":false,"source_manifest":{},"templates":0},"schema_version":1,"status":"PASS"} -VM211_APPLY={"action":"apply","result":{"fixed_bundle":"8394a43729cce5a7c70ab9ecb7689222d882ed108498199260d338fc2920f97e","state":{"addons":{"Newfi/Dogs":{"active":1,"addon_id":"Newfi/Dogs","is_processing":0,"version_id":1000010},"Newfi/Kennels":{"active":1,"addon_id":"Newfi/Kennels","is_processing":0,"version_id":1000010},"Newfi/Medical":{"active":1,"addon_id":"Newfi/Medical","is_processing":0,"version_id":1000010},"Newfi/Pedigree":{"active":1,"addon_id":"Newfi/Pedigree","is_processing":0,"version_id":1000010}},"address_columns":0,"dog_rows":0,"errors":{"count":29,"max":61,"sha256":"a8f707c2cb169c30b052b0db95175775e77d45ee1b89c09c95f9f1b61a77ae5a"},"kennel_rows":0,"kennel_tables":2,"medical_rows":0,"pedigree_rows":0,"report_rows":0,"route":1,"source_exists":true,"source_manifest":{"Entity/Kennel.php":"efd3dd77b5feff994b82ac3f79f5d96cef4609936b304f31cf0e20ad1794b35a","Entity/KennelReport.php":"e3900c251c07b6c94b7a9ef2e5775da6278855c49d8c647a57191547ed541703","Pub/Controller/Kennels.php":"4d5d9e3df0f7cb936be8d1752d737f534ea668aa7d0c38477c1d0a2094be3085","Pub/View/Kennels.php":"5cce922ed69f994aca18e4b430e880a31ddb00b54d1df2141f5a50be6d8e2ef0","Service/Kennel.php":"d026ea4479954b865addf2f69875d0aa21e5a30b1d8a76fc255ccfa58c9abe15","Setup.php":"3c0d675ff40861657a846eb3f1e57b3930b3ae45c7c4b4b56bad72fc36d4f19f","_data/routes.xml":"6ca9635f2f698420fab4d9af93bb4107f8d4b44a77e411c83b68be1f4281862c","_data/templates.xml":"ca816a5d810d49ca309a07241ebef2e9082b55f6ae3699cc39f026f49bbffb75","addon.json":"473a796cee8f62fba0b7d990f554704139c7b56bae1c5fdc4578c5fe79418bc9"},"templates":3}},"schema_version":1,"status":"PASS"} -VM211_SYNTHETIC={"action":"synthetic","error_checkpoint":"https_guard","error_class":"RuntimeError","error_message_sha256":"b19b8ec75faa06c5d99a33655cd8c5b3b3f2ff164bb1c431dc526d9671291e22","schema_version":1,"status":"HOLD"} -KEN366_ERROR_CLASS=RuntimeError -KEN366_ERROR_SHA=6f0e5e0d811372d51211c8a9bfb1281961f2d19893061a9ccdf080cbb3ae1155 -VM211_RESTORE={"action":"restore","result":{"addons":{"Newfi/Dogs":{"active":1,"addon_id":"Newfi/Dogs","is_processing":0,"version_id":1000010},"Newfi/Kennels":null,"Newfi/Medical":{"active":1,"addon_id":"Newfi/Medical","is_processing":0,"version_id":1000010},"Newfi/Pedigree":{"active":1,"addon_id":"Newfi/Pedigree","is_processing":0,"version_id":1000010}},"address_columns":0,"dog_rows":0,"errors":{"count":29,"max":61,"sha256":"a8f707c2cb169c30b052b0db95175775e77d45ee1b89c09c95f9f1b61a77ae5a"},"kennel_rows":0,"kennel_tables":0,"medical_rows":0,"pedigree_rows":0,"report_rows":0,"route":0,"source_exists":false,"source_manifest":{},"templates":0},"schema_version":1,"status":"PASS"} -DECISION=FAIL_KENNELS219_FINAL366_ROLLBACK_RESTORED -NEXT_GATE=RECONCILE_KENNELS219_FINAL366_EXACT_FAILURE -ACTIVE_MAJOR_STAGE=KENNELS219 -MAJOR_STAGES_REMAINING=3 -HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"NEWFI-260921-NEWFDOM-KENNELS219-FINAL366","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1} -KEN366_END=true +SIGNALBOT052SEM1_RESULT={"outer_rc":0,"guest_exitcode":0,"rca":{"ok":true,"source_context":[[60,""],[61,"@dataclass(frozen=True)"],[62,"class ReconciliationWindow:"],[63," window_id: str"],[64," reconnect_event_seq: int"],[65," reconnect_received_at: datetime"],[66," previous_trade_identity: str"],[67," previous_trade_mts: datetime"],[68," next_trade_identity: str"],[69," next_trade_mts: datetime"],[70," status: ReconciliationStatus"],[71," evidence_sha256: str"],[72," recovered_row_count: int"],[73," failure_reason: str"],[74," created_at: datetime"],[182," order_keys: list[tuple[datetime, int]] = []"],[183," for raw in payload:"],[184," if not isinstance(raw, list):"],[185," raise DemonovError(\"Bitfinex REST trade row malformed\")"],[186," trade = normalize_bitfinex_rest_trade(raw)"],[187," raw_rows.append(list(raw[:4]))"],[188," prior = seen.get(trade.trade_identity)"],[189," if prior is not None:"],[190," if prior != trade.semantic_hash:"],[191," raise DemonovError(\"Bitfinex REST trade semantic conflict\")"],[192," continue"],[193," seen[trade.trade_identity] = trade.semantic_hash"],[194," normalized.append(trade)"],[195," order_keys.append((trade.mts, trade.trade_id))"],[196," if order_keys != sorted(order_keys):"],[197," normalized.sort(key=lambda trade: (trade.mts, trade.trade_id))"],[198,""],[199," evidence_sha256 = canonical_hash("],[246," evidence_sha256=batch.evidence_sha256,"],[247," failure_reason=\"REST_NO_FORWARD_PROOF\","],[248," resolved_at=resolved_at,"],[249," )"],[250,""],[251," for trade in batch.trades:"],[252," existing = journal.latest_trade_semantic_hash(trade.trade_identity)"],[253," if existing is not None and existing != trade.semantic_hash:"],[254," return journal.mark_reconciliation_unresolved("],[255," window_id,"],[256," evidence_sha256=batch.evidence_sha256,"],[257," failure_reason=\"REST_SEMANTIC_CONFLICT\","],[258," resolved_at=resolved_at,"],[259," )"],[260,""],[261," recovered = 0"],[262," for index, trade in enumerate(batch.trades):"],[263," receipt = SourceReceiptV1.build("],[277," window_id,"],[278," evidence_sha256=batch.evidence_sha256,"],[279," failure_reason=f\"REST_INSERT_{result}\","],[280," resolved_at=resolved_at,"],[281," )"],[282,""],[283," if not journal.has_trade_identity(window.previous_trade_identity):"],[284," return journal.mark_reconciliation_unresolved("],[285," window_id,"],[286," evidence_sha256=batch.evidence_sha256,"],[287," failure_reason=\"PREVIOUS_BOUNDARY_MISSING\","],[288," resolved_at=resolved_at,"],[289," )"],[290," if not journal.has_trade_identity(window.next_trade_identity):"],[291," return journal.mark_reconciliation_unresolved("],[292," window_id,"],[293," evidence_sha256=batch.evidence_sha256,"],[294," failure_reason=\"NEXT_BOUNDARY_MISSING\","],[295," resolved_at=resolved_at,"],[296," )"],[297," for trade in batch.trades:"],[298," if journal.latest_trade_semantic_hash(trade.trade_identity) != trade.semantic_hash:"],[299," return journal.mark_reconciliation_unresolved("],[300," window_id,"],[301," evidence_sha256=batch.evidence_sha256,"],[302," failure_reason=\"REST_MERGE_PROOF_FAILED\","],[303," resolved_at=resolved_at,"],[304," )"]],"client_methods":{"fetch_trade_window":"(self, symbol: 'str', *, start_mts: 'datetime', end_mts: 'datetime') -> 'BitfinexTradeHistoryBatch'","reconcile_window":"(self, journal, window_id: 'str', *, symbol: 'str', resolved_at: 'datetime') -> 'ReconciliationWindow'"},"live_pre_rows":[{"window_id":"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88","reconnect_event_seq":251009,"reconnect_received_at":"2026-09-19T08:56:37.306311+00:00","previous_trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","previous_trade_mts":"2026-09-19T08:56:34.170000+00:00","next_trade_identity":"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7","next_trade_mts":"2026-09-19T08:56:43.071000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-19T08:56:43.166296+00:00","resolved_at":"2026-09-19T08:56:43.166296+00:00"},{"window_id":"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda","reconnect_event_seq":318578,"reconnect_received_at":"2026-09-20T01:19:10.585588+00:00","previous_trade_identity":"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3","previous_trade_mts":"2026-09-20T01:19:03.365000+00:00","next_trade_identity":"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6","next_trade_mts":"2026-09-20T01:19:16.432000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-20T01:19:16.494983+00:00","resolved_at":"2026-09-20T01:19:16.494983+00:00"},{"window_id":"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb","reconnect_event_seq":350488,"reconnect_received_at":"2026-09-20T07:26:44.462330+00:00","previous_trade_identity":"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60","previous_trade_mts":"2026-09-20T07:26:42.303000+00:00","next_trade_identity":"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61","next_trade_mts":"2026-09-20T07:26:46.404000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-20T07:26:46.505770+00:00","resolved_at":"2026-09-20T07:26:46.505770+00:00"},{"window_id":"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc","reconnect_event_seq":377008,"reconnect_received_at":"2026-09-20T13:53:16.325492+00:00","previous_trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","previous_trade_mts":"2026-09-20T13:52:37.772000+00:00","next_trade_identity":"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008","next_trade_mts":"2026-09-20T13:53:16.750000+00:00","status":"UNRESOLVED","evidence_sha256":"0933e981b764b89edd58396a737136747668a903a239eac64d538d5f4f2d5391","recovered_row_count":0,"failure_reason":"REST_FETCH_OR_VALIDATION_FAILED","created_at":"2026-09-20T13:53:16.842477+00:00","resolved_at":"2026-09-20T13:53:16.842477+00:00"}],"results":[{"seq":251009,"result":{"window_id":"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88","reconnect_event_seq":251009,"reconnect_received_at":"2026-09-19 08:56:37.306311+00:00","previous_trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","previous_trade_mts":"2026-09-19 08:56:34.170000+00:00","next_trade_identity":"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7","next_trade_mts":"2026-09-19 08:56:43.071000+00:00","status":"UNRESOLVED","evidence_sha256":"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-19 08:56:43.166296+00:00","resolved_at":"2026-09-21 06:03:31.131666+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]},{"seq":318578,"result":{"window_id":"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda","reconnect_event_seq":318578,"reconnect_received_at":"2026-09-20 01:19:10.585588+00:00","previous_trade_identity":"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3","previous_trade_mts":"2026-09-20 01:19:03.365000+00:00","next_trade_identity":"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6","next_trade_mts":"2026-09-20 01:19:16.432000+00:00","status":"UNRESOLVED","evidence_sha256":"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20 01:19:16.494983+00:00","resolved_at":"2026-09-21 06:03:31.338545+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]},{"seq":350488,"result":{"window_id":"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb","reconnect_event_seq":350488,"reconnect_received_at":"2026-09-20 07:26:44.462330+00:00","previous_trade_identity":"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60","previous_trade_mts":"2026-09-20 07:26:42.303000+00:00","next_trade_identity":"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61","next_trade_mts":"2026-09-20 07:26:46.404000+00:00","status":"UNRESOLVED","evidence_sha256":"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20 07:26:46.505770+00:00","resolved_at":"2026-09-21 06:03:31.478492+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]},{"seq":377008,"result":{"window_id":"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc","reconnect_event_seq":377008,"reconnect_received_at":"2026-09-20 13:53:16.325492+00:00","previous_trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","previous_trade_mts":"2026-09-20 13:52:37.772000+00:00","next_trade_identity":"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008","next_trade_mts":"2026-09-20 13:53:16.750000+00:00","status":"UNRESOLVED","evidence_sha256":"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20 13:53:16.842477+00:00","resolved_at":"2026-09-21 06:03:31.708593+00:00"},"fetch_row_counts":[],"raw_duplicate_conflicts":[]}],"copy_post_rows":[{"window_id":"9cef91126f4f0043718d71b90d627540355d1f0f0f1fd75ee30f9bef3379ad88","reconnect_event_seq":251009,"reconnect_received_at":"2026-09-19T08:56:37.306311+00:00","previous_trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","previous_trade_mts":"2026-09-19T08:56:34.170000+00:00","next_trade_identity":"cac1c294e6e6f358f8cb8151ecb7ca573b64f9a116d8cab2f0db588df7d83dc7","next_trade_mts":"2026-09-19T08:56:43.071000+00:00","status":"UNRESOLVED","evidence_sha256":"bdf2ac6ab74275846073a4813fef5f4cc409190a8444dd7e47d9283fa5736ec2","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-19T08:56:43.166296+00:00","resolved_at":"2026-09-21T06:03:31.131666+00:00"},{"window_id":"f3342e8836aa6f1a655a977e6839647e8f305cb90ce4a1977c417f9541a0ecda","reconnect_event_seq":318578,"reconnect_received_at":"2026-09-20T01:19:10.585588+00:00","previous_trade_identity":"4d902cf30ae01b151d21f3ecd1b706af0a7f87c9c44995b381e0e064b2f236b3","previous_trade_mts":"2026-09-20T01:19:03.365000+00:00","next_trade_identity":"bd6ae492eca899f8710d0c4b88704cb5a0a34ff94a23419249366f4ebd3586b6","next_trade_mts":"2026-09-20T01:19:16.432000+00:00","status":"UNRESOLVED","evidence_sha256":"1a60ffa68cbe5415f4e55b64a97803128ba79eb7b730d84cac69a364f597bc63","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20T01:19:16.494983+00:00","resolved_at":"2026-09-21T06:03:31.338545+00:00"},{"window_id":"f429abc398b54cb0cbd869dce8c0be4e8c8ff8fb5ec7bb1a345c3bc8c7a394fb","reconnect_event_seq":350488,"reconnect_received_at":"2026-09-20T07:26:44.462330+00:00","previous_trade_identity":"25ae8d55a395d0a39001b1c409a86130c78b7221d31bdefc80242fc7af49da60","previous_trade_mts":"2026-09-20T07:26:42.303000+00:00","next_trade_identity":"15a77ac49619bc44a15ab3cb04219963639c612347f0de2ba82bf482c59a6b61","next_trade_mts":"2026-09-20T07:26:46.404000+00:00","status":"UNRESOLVED","evidence_sha256":"a3502d8e6d42f5e6b4febee02f36cf8e6abac43c8730db0a56e8721fed5ff04e","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20T07:26:46.505770+00:00","resolved_at":"2026-09-21T06:03:31.478492+00:00"},{"window_id":"7ba6b9d6bfcc433411890610b9d1282178a9646d61d026798b82f51a4985ccdc","reconnect_event_seq":377008,"reconnect_received_at":"2026-09-20T13:53:16.325492+00:00","previous_trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","previous_trade_mts":"2026-09-20T13:52:37.772000+00:00","next_trade_identity":"7782961f0ddf1bd08bdd9a1e311da68898b133f65fea2e24698fd9612e52a008","next_trade_mts":"2026-09-20T13:53:16.750000+00:00","status":"UNRESOLVED","evidence_sha256":"6b4ff1de113e7f0433c9de74cbb88ed1218fe256244830433f4474b106ce41ef","recovered_row_count":0,"failure_reason":"REST_SEMANTIC_CONFLICT","created_at":"2026-09-20T13:53:16.842477+00:00","resolved_at":"2026-09-21T06:03:31.708593+00:00"}],"copy_quick_check":"ok"}} +TASK_RESULT=PASS_SIGNALBOT_052SEM1_SEMANTIC_CONFLICT_RCA_CAPTURED +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-SEMANTIC-CONFLICT-RCA-052SEM1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END