diff --git a/runtime/history/SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3.json b/runtime/history/SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3.json new file mode 100644 index 00000000..3740d982 --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "signalbot-semantic-mts-drift-proof", + "started_at_utc": "2026-09-21T06:46:22Z", + "finished_at_utc": "2026-09-21T06:46:25Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "123a65733d43a0f32ee7cacb63fea8216566f5d8f19b5c6eb54eb92bff2f1b30", + "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": "2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c", + "sanitized_output_sha256": "2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SIGNALBOT052SEM3_RESULT={\"outer_rc\":0,\"guest_exitcode\":0,\"proof\":{\"ok\":true,\"conflict_count\":4,\"all_exact_minus_1ms\":true,\"results\":[{\"seq\":251009,\"raw_row_count\":4,\"conflicts\":[{\"trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"local\":{\"semantic_hash\":\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\",\"trade_id\":1978047385,\"mts\":\"2026-09-19T08:56:34.170000+00:00\",\"amount\":\"0.00211007\",\"price\":\"81294\",\"source_payload_hash\":\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\",\"trade_json\":\"{\\\"amount\\\":\\\"0.00211007\\\",\\\"mts\\\":\\\"2026-09-19T08:56:34.170000+00:00\\\",\\\"price\\\":\\\"81294\\\",\\\"semantic_hash\\\":\\\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\\\",\\\"source_payload_hash\\\":\\\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\\\",\\\"trade_id\\\":1978047385,\\\"trade_identity\\\":\\\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\\\"}\"},\"rest\":{\"semantic_hash\":\"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32\",\"trade_id\":1978047385,\"mts\":\"2026-09-19T08:56:34.171000+00:00\",\"amount\":\"0.00211007\",\"price\":\"81294\",\"source_payload_hash\":\"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"cc3b8b5ae149d7426897a661e4b3d886c6e6aa44b9b677d1c39307379e150f71\",\"matches_local\":false,\"source_payload_hash\":\"f52e8acece7d9813486208df98aa70e9fec05ecf8eb276ff813e48b0d07ccb78\"},{\"offset_ms\":-1,\"semantic_hash\":\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\",\"matches_local\":true,\"source_payload_hash\":\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\"},{\"offset_ms\":0,\"semantic_hash\":\"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32\",\"matches_local\":false,\"source_payload_hash\":\"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae\"},{\"offset_ms\":1,\"semantic_hash\":\"4ac9cd00066a5a7474838ae9ed15947bf7106d6a085571c8a16ffd0dfbf56b47\",\"matches_local\":false,\"source_payload_hash\":\"686b1588d3a8970f303f02c2fd3f39d457cc4336c8186e44d585f0a59f88b5de\"},{\"offset_ms\":2,\"semantic_hash\":\"8b2aa0f9415151622205283da249d2c9f488a30d9ecffe071143647bbe8048ab\",\"matches_local\":false,\"source_payload_hash\":\"2375d4f54f60a5524a6e0c379b7852712e8716d7c0ca5717abc653584990445a\"}]}]},{\"seq\":318578,\"raw_row_count\":4,\"conflicts\":[{\"trade_identity\":\"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580\",\"local\":{\"semantic_hash\":\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\",\"trade_id\":1978425230,\"mts\":\"2026-09-20T01:19:16.430000+00:00\",\"amount\":\"0.0002\",\"price\":\"81144\",\"source_payload_hash\":\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\",\"trade_json\":\"{\\\"amount\\\":\\\"0.0002\\\",\\\"mts\\\":\\\"2026-09-20T01:19:16.430000+00:00\\\",\\\"price\\\":\\\"81144\\\",\\\"semantic_hash\\\":\\\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\\\",\\\"source_payload_hash\\\":\\\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\\\",\\\"trade_id\\\":1978425230,\\\"trade_identity\\\":\\\"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580\\\"}\"},\"rest\":{\"semantic_hash\":\"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400\",\"trade_id\":1978425230,\"mts\":\"2026-09-20T01:19:16.431000+00:00\",\"amount\":\"0.0002\",\"price\":\"81144\",\"source_payload_hash\":\"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"1cdb42a9bc93120d4cdf18de070ff499c7c200eee2000a4717b07a314f5fe21e\",\"matches_local\":false,\"source_payload_hash\":\"66c555e9e65de2c6d6312560a42eca03d4a58cde9f5afd35506524b9063c7dba\"},{\"offset_ms\":-1,\"semantic_hash\":\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\",\"matches_local\":true,\"source_payload_hash\":\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\"},{\"offset_ms\":0,\"semantic_hash\":\"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400\",\"matches_local\":false,\"source_payload_hash\":\"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2\"},{\"offset_ms\":1,\"semantic_hash\":\"d696ff4e798a29e2b86f6a36864ceef338f8230722e9ae533ffc4f33ecc993e4\",\"matches_local\":false,\"source_payload_hash\":\"ec5ed3a90b2166cf92827e3df9250eb1415e12d30119edec4d556092a9e1bc02\"},{\"offset_ms\":2,\"semantic_hash\":\"ee52f6916b8361dd021617f3178c89a8cc4e983163305700d0f2a0bfa6f05f5d\",\"matches_local\":false,\"source_payload_hash\":\"ec2ed9ad9774b2b53d8aa97eabfa24779dd6f60aef4542fe6521699858a00bff\"}]}]},{\"seq\":350488,\"raw_row_count\":4,\"conflicts\":[{\"trade_identity\":\"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363\",\"local\":{\"semantic_hash\":\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\",\"trade_id\":1978544807,\"mts\":\"2026-09-20T07:26:42.303000+00:00\",\"amount\":\"0.00007465\",\"price\":\"80374\",\"source_payload_hash\":\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\",\"trade_json\":\"{\\\"amount\\\":\\\"0.00007465\\\",\\\"mts\\\":\\\"2026-09-20T07:26:42.303000+00:00\\\",\\\"price\\\":\\\"80374\\\",\\\"semantic_hash\\\":\\\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\\\",\\\"source_payload_hash\\\":\\\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\\\",\\\"trade_id\\\":1978544807,\\\"trade_identity\\\":\\\"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363\\\"}\"},\"rest\":{\"semantic_hash\":\"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9\",\"trade_id\":1978544807,\"mts\":\"2026-09-20T07:26:42.304000+00:00\",\"amount\":\"0.00007465\",\"price\":\"80374\",\"source_payload_hash\":\"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"1d10a16a04eed2f97e0f8c55bafefe8a21a425d3ae2ba8a546aeba078ee91031\",\"matches_local\":false,\"source_payload_hash\":\"0783fc3f4b5f31ff51e7ac7288c196e53b984c73241b278f05230544da8d785a\"},{\"offset_ms\":-1,\"semantic_hash\":\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\",\"matches_local\":true,\"source_payload_hash\":\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\"},{\"offset_ms\":0,\"semantic_hash\":\"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9\",\"matches_local\":false,\"source_payload_hash\":\"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f\"},{\"offset_ms\":1,\"semantic_hash\":\"25baa8f899aa93475f64dea1282a9b83edef91b577b008e19e25581f02903d82\",\"matches_local\":false,\"source_payload_hash\":\"95bbe8d5870fa9629a1c008c79d3f6f32d241c945c59a386cd6f4dd2f5421634\"},{\"offset_ms\":2,\"semantic_hash\":\"41c31b5e76c6eec2c319364d66e0bfefb76a4b630d72e76cff6295b043b29932\",\"matches_local\":false,\"source_payload_hash\":\"24edd67d593b114d7f4f64124d81d8c90a90adad4751886e7b021c3b3d614521\"}]}]},{\"seq\":377008,\"raw_row_count\":16,\"conflicts\":[{\"trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"local\":{\"semantic_hash\":\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\",\"trade_id\":1978663377,\"mts\":\"2026-09-20T13:52:37.772000+00:00\",\"amount\":\"-0.00040192\",\"price\":\"80573\",\"source_payload_hash\":\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\",\"trade_json\":\"{\\\"amount\\\":\\\"-0.00040192\\\",\\\"mts\\\":\\\"2026-09-20T13:52:37.772000+00:00\\\",\\\"price\\\":\\\"80573\\\",\\\"semantic_hash\\\":\\\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\\\",\\\"source_payload_hash\\\":\\\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\\\",\\\"trade_id\\\":1978663377,\\\"trade_identity\\\":\\\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\\\"}\"},\"rest\":{\"semantic_hash\":\"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b\",\"trade_id\":1978663377,\"mts\":\"2026-09-20T13:52:37.773000+00:00\",\"amount\":\"-0.00040192\",\"price\":\"80573\",\"source_payload_hash\":\"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"2cbc4315dd91ab870e414ab3016c11196a622384552710f3382df18285a3de61\",\"matches_local\":false,\"source_payload_hash\":\"f1529b193f6c423fbe8178ff8fec799786907d26cca62f005f79bd5e267f44e9\"},{\"offset_ms\":-1,\"semantic_hash\":\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\",\"matches_local\":true,\"source_payload_hash\":\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\"},{\"offset_ms\":0,\"semantic_hash\":\"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b\",\"matches_local\":false,\"source_payload_hash\":\"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3\"},{\"offset_ms\":1,\"semantic_hash\":\"c9bf932c08d754613ce1ee41d8a7540238191793e2d40b437c50690d09d8eb14\",\"matches_local\":false,\"source_payload_hash\":\"cd6cc7d781fb57f96ad6fb5f29c6fd9f6ff85edf8115ae8d022545973b078e6f\"},{\"offset_ms\":2,\"semantic_hash\":\"0be51abb280bb4a3c116fcc375e9e0e4fa249e62959f5a17310dfca196b9f8e8\",\"matches_local\":false,\"source_payload_hash\":\"4b7dc937ad0fa7b9aeaba0950278c11ed5356da759f0c83f7650e63b9174c702\"}]}]}],\"source_methods\":{\"canonical_build\":\" @classmethod\\n def build(\\n cls,\\n *,\\n trade_id: int,\\n mts: datetime,\\n amount: Decimal,\\n price: Decimal,\\n source_payload_hash: str,\\n ) -> \\\"BitfinexCanonicalTradeV1\\\":\\n trade_identity = canonical_hash({\\n \\\"schema\\\": \\\"CR0116_BITFINEX_TRADE_ID_V1\\\",\\n \\\"venue_id\\\": \\\"BITFINEX\\\",\\n \\\"trade_id\\\": trade_id,\\n })\\n semantic_hash = canonical_hash({\\n \\\"schema\\\": \\\"CR0116_BITFINEX_TRADE_SEMANTICS_V1\\\",\\n \\\"trade_identity\\\": trade_identity,\\n \\\"mts\\\": mts,\\n \\\"amount\\\": amount,\\n \\\"price\\\": price,\\n \\\"source_payload_hash\\\": source_payload_hash,\\n })\\n return cls(\\n trade_identity=trade_identity,\\n semantic_hash=semantic_hash,\\n trade_id=trade_id,\\n mts=mts,\\n amount=amount,\\n price=price,\\n source_payload_hash=source_payload_hash,\\n )\\n\",\"source_payload_hash\":\"def _source_payload_hash(*, trade_id: int, mts_ms: int, amount: Decimal, price: Decimal) -> str:\\n raw = json.dumps(\\n {\\n \\\"trade_id\\\": trade_id,\\n \\\"mts_ms\\\": mts_ms,\\n \\\"amount\\\": format(amount, \\\"f\\\"),\\n \\\"price\\\": format(price, \\\"f\\\"),\\n },\\n ensure_ascii=True,\\n sort_keys=True,\\n separators=(\\\",\\\", \\\":\\\"),\\n ).encode(\\\"utf-8\\\")\\n return hashlib.sha256(raw).hexdigest()\\n\",\"normalize_rest\":\"def normalize_bitfinex_rest_trade(row: object) -> BitfinexCanonicalTradeV1:\\n if not isinstance(row, list) or len(row) < 4:\\n raise DemonovError(\\\"Bitfinex REST trade row malformed\\\")\\n trade_id, mts_ms, amount_raw, price_raw = row[:4]\\n if not isinstance(trade_id, int) or isinstance(trade_id, bool) or trade_id <= 0:\\n raise DemonovError(\\\"Bitfinex REST trade id invalid\\\")\\n if not isinstance(mts_ms, int) or isinstance(mts_ms, bool) or mts_ms < 0:\\n raise DemonovError(\\\"Bitfinex REST trade timestamp invalid\\\")\\n try:\\n amount = Decimal(str(amount_raw))\\n price = Decimal(str(price_raw))\\n except Exception as exc:\\n raise DemonovError(\\\"Bitfinex REST trade numeric value invalid\\\") from exc\\n source_payload_hash = _source_payload_hash(\\n trade_id=trade_id,\\n mts_ms=mts_ms,\\n amount=amount,\\n price=price,\\n )\\n return BitfinexCanonicalTradeV1.build(\\n trade_id=trade_id,\\n mts=datetime.fromtimestamp(mts_ms / 1000, tz=timezone.utc),\\n amount=amount,\\n price=price,\\n source_payload_hash=source_payload_hash,\\n )\\n\"}}}\nTASK_RESULT=PASS_SIGNALBOT_052SEM3_ALL_FOUR_EXACT_MINUS_1MS_EQUIVALENCE_PROVEN\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3.txt b/runtime/history/SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3.txt new file mode 100644 index 00000000..c8ba81c7 --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3.txt @@ -0,0 +1,35 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-semantic-mts-drift-proof +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=123a65733d43a0f32ee7cacb63fea8216566f5d8f19b5c6eb54eb92bff2f1b30 +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=2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c +SANITIZED_OUTPUT_SHA256=2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c +OUTPUT_BEGIN +SIGNALBOT052SEM3_RESULT={"outer_rc":0,"guest_exitcode":0,"proof":{"ok":true,"conflict_count":4,"all_exact_minus_1ms":true,"results":[{"seq":251009,"raw_row_count":4,"conflicts":[{"trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","local":{"semantic_hash":"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12","trade_id":1978047385,"mts":"2026-09-19T08:56:34.170000+00:00","amount":"0.00211007","price":"81294","source_payload_hash":"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603","trade_json":"{\"amount\":\"0.00211007\",\"mts\":\"2026-09-19T08:56:34.170000+00:00\",\"price\":\"81294\",\"semantic_hash\":\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\",\"source_payload_hash\":\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\",\"trade_id\":1978047385,\"trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\"}"},"rest":{"semantic_hash":"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32","trade_id":1978047385,"mts":"2026-09-19T08:56:34.171000+00:00","amount":"0.00211007","price":"81294","source_payload_hash":"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"cc3b8b5ae149d7426897a661e4b3d886c6e6aa44b9b677d1c39307379e150f71","matches_local":false,"source_payload_hash":"f52e8acece7d9813486208df98aa70e9fec05ecf8eb276ff813e48b0d07ccb78"},{"offset_ms":-1,"semantic_hash":"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12","matches_local":true,"source_payload_hash":"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603"},{"offset_ms":0,"semantic_hash":"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32","matches_local":false,"source_payload_hash":"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae"},{"offset_ms":1,"semantic_hash":"4ac9cd00066a5a7474838ae9ed15947bf7106d6a085571c8a16ffd0dfbf56b47","matches_local":false,"source_payload_hash":"686b1588d3a8970f303f02c2fd3f39d457cc4336c8186e44d585f0a59f88b5de"},{"offset_ms":2,"semantic_hash":"8b2aa0f9415151622205283da249d2c9f488a30d9ecffe071143647bbe8048ab","matches_local":false,"source_payload_hash":"2375d4f54f60a5524a6e0c379b7852712e8716d7c0ca5717abc653584990445a"}]}]},{"seq":318578,"raw_row_count":4,"conflicts":[{"trade_identity":"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580","local":{"semantic_hash":"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946","trade_id":1978425230,"mts":"2026-09-20T01:19:16.430000+00:00","amount":"0.0002","price":"81144","source_payload_hash":"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c","trade_json":"{\"amount\":\"0.0002\",\"mts\":\"2026-09-20T01:19:16.430000+00:00\",\"price\":\"81144\",\"semantic_hash\":\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\",\"source_payload_hash\":\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\",\"trade_id\":1978425230,\"trade_identity\":\"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580\"}"},"rest":{"semantic_hash":"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400","trade_id":1978425230,"mts":"2026-09-20T01:19:16.431000+00:00","amount":"0.0002","price":"81144","source_payload_hash":"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"1cdb42a9bc93120d4cdf18de070ff499c7c200eee2000a4717b07a314f5fe21e","matches_local":false,"source_payload_hash":"66c555e9e65de2c6d6312560a42eca03d4a58cde9f5afd35506524b9063c7dba"},{"offset_ms":-1,"semantic_hash":"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946","matches_local":true,"source_payload_hash":"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c"},{"offset_ms":0,"semantic_hash":"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400","matches_local":false,"source_payload_hash":"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2"},{"offset_ms":1,"semantic_hash":"d696ff4e798a29e2b86f6a36864ceef338f8230722e9ae533ffc4f33ecc993e4","matches_local":false,"source_payload_hash":"ec5ed3a90b2166cf92827e3df9250eb1415e12d30119edec4d556092a9e1bc02"},{"offset_ms":2,"semantic_hash":"ee52f6916b8361dd021617f3178c89a8cc4e983163305700d0f2a0bfa6f05f5d","matches_local":false,"source_payload_hash":"ec2ed9ad9774b2b53d8aa97eabfa24779dd6f60aef4542fe6521699858a00bff"}]}]},{"seq":350488,"raw_row_count":4,"conflicts":[{"trade_identity":"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363","local":{"semantic_hash":"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f","trade_id":1978544807,"mts":"2026-09-20T07:26:42.303000+00:00","amount":"0.00007465","price":"80374","source_payload_hash":"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f","trade_json":"{\"amount\":\"0.00007465\",\"mts\":\"2026-09-20T07:26:42.303000+00:00\",\"price\":\"80374\",\"semantic_hash\":\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\",\"source_payload_hash\":\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\",\"trade_id\":1978544807,\"trade_identity\":\"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363\"}"},"rest":{"semantic_hash":"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9","trade_id":1978544807,"mts":"2026-09-20T07:26:42.304000+00:00","amount":"0.00007465","price":"80374","source_payload_hash":"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"1d10a16a04eed2f97e0f8c55bafefe8a21a425d3ae2ba8a546aeba078ee91031","matches_local":false,"source_payload_hash":"0783fc3f4b5f31ff51e7ac7288c196e53b984c73241b278f05230544da8d785a"},{"offset_ms":-1,"semantic_hash":"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f","matches_local":true,"source_payload_hash":"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f"},{"offset_ms":0,"semantic_hash":"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9","matches_local":false,"source_payload_hash":"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f"},{"offset_ms":1,"semantic_hash":"25baa8f899aa93475f64dea1282a9b83edef91b577b008e19e25581f02903d82","matches_local":false,"source_payload_hash":"95bbe8d5870fa9629a1c008c79d3f6f32d241c945c59a386cd6f4dd2f5421634"},{"offset_ms":2,"semantic_hash":"41c31b5e76c6eec2c319364d66e0bfefb76a4b630d72e76cff6295b043b29932","matches_local":false,"source_payload_hash":"24edd67d593b114d7f4f64124d81d8c90a90adad4751886e7b021c3b3d614521"}]}]},{"seq":377008,"raw_row_count":16,"conflicts":[{"trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","local":{"semantic_hash":"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa","trade_id":1978663377,"mts":"2026-09-20T13:52:37.772000+00:00","amount":"-0.00040192","price":"80573","source_payload_hash":"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0","trade_json":"{\"amount\":\"-0.00040192\",\"mts\":\"2026-09-20T13:52:37.772000+00:00\",\"price\":\"80573\",\"semantic_hash\":\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\",\"source_payload_hash\":\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\",\"trade_id\":1978663377,\"trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\"}"},"rest":{"semantic_hash":"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b","trade_id":1978663377,"mts":"2026-09-20T13:52:37.773000+00:00","amount":"-0.00040192","price":"80573","source_payload_hash":"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"2cbc4315dd91ab870e414ab3016c11196a622384552710f3382df18285a3de61","matches_local":false,"source_payload_hash":"f1529b193f6c423fbe8178ff8fec799786907d26cca62f005f79bd5e267f44e9"},{"offset_ms":-1,"semantic_hash":"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa","matches_local":true,"source_payload_hash":"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0"},{"offset_ms":0,"semantic_hash":"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b","matches_local":false,"source_payload_hash":"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3"},{"offset_ms":1,"semantic_hash":"c9bf932c08d754613ce1ee41d8a7540238191793e2d40b437c50690d09d8eb14","matches_local":false,"source_payload_hash":"cd6cc7d781fb57f96ad6fb5f29c6fd9f6ff85edf8115ae8d022545973b078e6f"},{"offset_ms":2,"semantic_hash":"0be51abb280bb4a3c116fcc375e9e0e4fa249e62959f5a17310dfca196b9f8e8","matches_local":false,"source_payload_hash":"4b7dc937ad0fa7b9aeaba0950278c11ed5356da759f0c83f7650e63b9174c702"}]}]}],"source_methods":{"canonical_build":" @classmethod\n def build(\n cls,\n *,\n trade_id: int,\n mts: datetime,\n amount: Decimal,\n price: Decimal,\n source_payload_hash: str,\n ) -> \"BitfinexCanonicalTradeV1\":\n trade_identity = canonical_hash({\n \"schema\": \"CR0116_BITFINEX_TRADE_ID_V1\",\n \"venue_id\": \"BITFINEX\",\n \"trade_id\": trade_id,\n })\n semantic_hash = canonical_hash({\n \"schema\": \"CR0116_BITFINEX_TRADE_SEMANTICS_V1\",\n \"trade_identity\": trade_identity,\n \"mts\": mts,\n \"amount\": amount,\n \"price\": price,\n \"source_payload_hash\": source_payload_hash,\n })\n return cls(\n trade_identity=trade_identity,\n semantic_hash=semantic_hash,\n trade_id=trade_id,\n mts=mts,\n amount=amount,\n price=price,\n source_payload_hash=source_payload_hash,\n )\n","source_payload_hash":"def _source_payload_hash(*, trade_id: int, mts_ms: int, amount: Decimal, price: Decimal) -> str:\n raw = json.dumps(\n {\n \"trade_id\": trade_id,\n \"mts_ms\": mts_ms,\n \"amount\": format(amount, \"f\"),\n \"price\": format(price, \"f\"),\n },\n ensure_ascii=True,\n sort_keys=True,\n separators=(\",\", \":\"),\n ).encode(\"utf-8\")\n return hashlib.sha256(raw).hexdigest()\n","normalize_rest":"def normalize_bitfinex_rest_trade(row: object) -> BitfinexCanonicalTradeV1:\n if not isinstance(row, list) or len(row) < 4:\n raise DemonovError(\"Bitfinex REST trade row malformed\")\n trade_id, mts_ms, amount_raw, price_raw = row[:4]\n if not isinstance(trade_id, int) or isinstance(trade_id, bool) or trade_id <= 0:\n raise DemonovError(\"Bitfinex REST trade id invalid\")\n if not isinstance(mts_ms, int) or isinstance(mts_ms, bool) or mts_ms < 0:\n raise DemonovError(\"Bitfinex REST trade timestamp invalid\")\n try:\n amount = Decimal(str(amount_raw))\n price = Decimal(str(price_raw))\n except Exception as exc:\n raise DemonovError(\"Bitfinex REST trade numeric value invalid\") from exc\n source_payload_hash = _source_payload_hash(\n trade_id=trade_id,\n mts_ms=mts_ms,\n amount=amount,\n price=price,\n )\n return BitfinexCanonicalTradeV1.build(\n trade_id=trade_id,\n mts=datetime.fromtimestamp(mts_ms / 1000, tz=timezone.utc),\n amount=amount,\n price=price,\n source_payload_hash=source_payload_hash,\n )\n"}}} +TASK_RESULT=PASS_SIGNALBOT_052SEM3_ALL_FOUR_EXACT_MINUS_1MS_EQUIVALENCE_PROVEN +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3","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 7ecb7d92..3740d982 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1", - "status": "FAIL", - "rc": 1, + "command_id": "SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "homelab-backup-final-seal-corrected", - "started_at_utc": "2026-09-21T06:32:36Z", - "finished_at_utc": "2026-09-21T06:43:29Z", + "mode": "read-only", + "component": "signalbot-semantic-mts-drift-proof", + "started_at_utc": "2026-09-21T06:46:22Z", + "finished_at_utc": "2026-09-21T06:46:25Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "58e3bfa6d61cccaf1f09bd5b3eb649c33356709b0db390874fa1f972a7d1da49", + "command_sha256": "123a65733d43a0f32ee7cacb63fea8216566f5d8f19b5c6eb54eb92bff2f1b30", "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": 1, - "changes_made": true, - "rollback_started": true, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "ROLLBACK_UNKNOWN", + "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "2e03779230c3c01c54a559b3021991306071ce783084d614d8f6d14a510a03ef", - "sanitized_output_sha256": "2e03779230c3c01c54a559b3021991306071ce783084d614d8f6d14a510a03ef", + "raw_evidence_sha256": "2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c", + "sanitized_output_sha256": "2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "WORKERS2_BACKUP_FINAL_SEAL_CORRECTED_BEGIN=1\nCOMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1\nMODE=change\nCOMPONENT=homelab-backup-final-seal-corrected\nMUTATION_BOUNDARY=NARROW_POSTFIX_MONITORING_RELAY;NO_REPEAT_BACKUPS;CORRECTED_CLOUDB_RESTORE;ALERTMANAGER_EMAIL;QUIESCED_GC;ISOLATED_PUSH;TWO_AUDITS;FINAL_SEALS\nPREAUDIT_ALLOWED_ISSUES=[\"ALERT_EMAIL\",\"CLOUDB_DRILL\",\"CLOUDB_TIMER\",\"SOURCE_OFFHOST\"]\nCLOUDB_PREFLIGHT=OK\nPREFLIGHT=OK\nFAILURE=MONITORING_SMTP_TCP\nPOSTFIX_CHANGED=true\nALERTMANAGER_CHANGED=false\nRETENTION_GC_STARTED=false\nSOURCE_COMMITTED=false\nBACKUP_PLATFORM_STATUS=NOT_SEALED\nDR_STATUS=NOT_FINAL\nTASK_RESULT=FAIL_HOMELAB_BACKUP_FINAL_SEAL_CORRECTED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1\",\"status\":\"FAIL\",\"changes_made\":true,\"rollback_started\":true,\"rollback_restored\":null}\nWORKERS2_BACKUP_FINAL_SEAL_CORRECTED_END=1\n" + "output": "SIGNALBOT052SEM3_RESULT={\"outer_rc\":0,\"guest_exitcode\":0,\"proof\":{\"ok\":true,\"conflict_count\":4,\"all_exact_minus_1ms\":true,\"results\":[{\"seq\":251009,\"raw_row_count\":4,\"conflicts\":[{\"trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\",\"local\":{\"semantic_hash\":\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\",\"trade_id\":1978047385,\"mts\":\"2026-09-19T08:56:34.170000+00:00\",\"amount\":\"0.00211007\",\"price\":\"81294\",\"source_payload_hash\":\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\",\"trade_json\":\"{\\\"amount\\\":\\\"0.00211007\\\",\\\"mts\\\":\\\"2026-09-19T08:56:34.170000+00:00\\\",\\\"price\\\":\\\"81294\\\",\\\"semantic_hash\\\":\\\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\\\",\\\"source_payload_hash\\\":\\\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\\\",\\\"trade_id\\\":1978047385,\\\"trade_identity\\\":\\\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\\\"}\"},\"rest\":{\"semantic_hash\":\"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32\",\"trade_id\":1978047385,\"mts\":\"2026-09-19T08:56:34.171000+00:00\",\"amount\":\"0.00211007\",\"price\":\"81294\",\"source_payload_hash\":\"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"cc3b8b5ae149d7426897a661e4b3d886c6e6aa44b9b677d1c39307379e150f71\",\"matches_local\":false,\"source_payload_hash\":\"f52e8acece7d9813486208df98aa70e9fec05ecf8eb276ff813e48b0d07ccb78\"},{\"offset_ms\":-1,\"semantic_hash\":\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\",\"matches_local\":true,\"source_payload_hash\":\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\"},{\"offset_ms\":0,\"semantic_hash\":\"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32\",\"matches_local\":false,\"source_payload_hash\":\"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae\"},{\"offset_ms\":1,\"semantic_hash\":\"4ac9cd00066a5a7474838ae9ed15947bf7106d6a085571c8a16ffd0dfbf56b47\",\"matches_local\":false,\"source_payload_hash\":\"686b1588d3a8970f303f02c2fd3f39d457cc4336c8186e44d585f0a59f88b5de\"},{\"offset_ms\":2,\"semantic_hash\":\"8b2aa0f9415151622205283da249d2c9f488a30d9ecffe071143647bbe8048ab\",\"matches_local\":false,\"source_payload_hash\":\"2375d4f54f60a5524a6e0c379b7852712e8716d7c0ca5717abc653584990445a\"}]}]},{\"seq\":318578,\"raw_row_count\":4,\"conflicts\":[{\"trade_identity\":\"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580\",\"local\":{\"semantic_hash\":\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\",\"trade_id\":1978425230,\"mts\":\"2026-09-20T01:19:16.430000+00:00\",\"amount\":\"0.0002\",\"price\":\"81144\",\"source_payload_hash\":\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\",\"trade_json\":\"{\\\"amount\\\":\\\"0.0002\\\",\\\"mts\\\":\\\"2026-09-20T01:19:16.430000+00:00\\\",\\\"price\\\":\\\"81144\\\",\\\"semantic_hash\\\":\\\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\\\",\\\"source_payload_hash\\\":\\\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\\\",\\\"trade_id\\\":1978425230,\\\"trade_identity\\\":\\\"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580\\\"}\"},\"rest\":{\"semantic_hash\":\"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400\",\"trade_id\":1978425230,\"mts\":\"2026-09-20T01:19:16.431000+00:00\",\"amount\":\"0.0002\",\"price\":\"81144\",\"source_payload_hash\":\"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"1cdb42a9bc93120d4cdf18de070ff499c7c200eee2000a4717b07a314f5fe21e\",\"matches_local\":false,\"source_payload_hash\":\"66c555e9e65de2c6d6312560a42eca03d4a58cde9f5afd35506524b9063c7dba\"},{\"offset_ms\":-1,\"semantic_hash\":\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\",\"matches_local\":true,\"source_payload_hash\":\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\"},{\"offset_ms\":0,\"semantic_hash\":\"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400\",\"matches_local\":false,\"source_payload_hash\":\"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2\"},{\"offset_ms\":1,\"semantic_hash\":\"d696ff4e798a29e2b86f6a36864ceef338f8230722e9ae533ffc4f33ecc993e4\",\"matches_local\":false,\"source_payload_hash\":\"ec5ed3a90b2166cf92827e3df9250eb1415e12d30119edec4d556092a9e1bc02\"},{\"offset_ms\":2,\"semantic_hash\":\"ee52f6916b8361dd021617f3178c89a8cc4e983163305700d0f2a0bfa6f05f5d\",\"matches_local\":false,\"source_payload_hash\":\"ec2ed9ad9774b2b53d8aa97eabfa24779dd6f60aef4542fe6521699858a00bff\"}]}]},{\"seq\":350488,\"raw_row_count\":4,\"conflicts\":[{\"trade_identity\":\"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363\",\"local\":{\"semantic_hash\":\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\",\"trade_id\":1978544807,\"mts\":\"2026-09-20T07:26:42.303000+00:00\",\"amount\":\"0.00007465\",\"price\":\"80374\",\"source_payload_hash\":\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\",\"trade_json\":\"{\\\"amount\\\":\\\"0.00007465\\\",\\\"mts\\\":\\\"2026-09-20T07:26:42.303000+00:00\\\",\\\"price\\\":\\\"80374\\\",\\\"semantic_hash\\\":\\\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\\\",\\\"source_payload_hash\\\":\\\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\\\",\\\"trade_id\\\":1978544807,\\\"trade_identity\\\":\\\"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363\\\"}\"},\"rest\":{\"semantic_hash\":\"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9\",\"trade_id\":1978544807,\"mts\":\"2026-09-20T07:26:42.304000+00:00\",\"amount\":\"0.00007465\",\"price\":\"80374\",\"source_payload_hash\":\"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"1d10a16a04eed2f97e0f8c55bafefe8a21a425d3ae2ba8a546aeba078ee91031\",\"matches_local\":false,\"source_payload_hash\":\"0783fc3f4b5f31ff51e7ac7288c196e53b984c73241b278f05230544da8d785a\"},{\"offset_ms\":-1,\"semantic_hash\":\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\",\"matches_local\":true,\"source_payload_hash\":\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\"},{\"offset_ms\":0,\"semantic_hash\":\"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9\",\"matches_local\":false,\"source_payload_hash\":\"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f\"},{\"offset_ms\":1,\"semantic_hash\":\"25baa8f899aa93475f64dea1282a9b83edef91b577b008e19e25581f02903d82\",\"matches_local\":false,\"source_payload_hash\":\"95bbe8d5870fa9629a1c008c79d3f6f32d241c945c59a386cd6f4dd2f5421634\"},{\"offset_ms\":2,\"semantic_hash\":\"41c31b5e76c6eec2c319364d66e0bfefb76a4b630d72e76cff6295b043b29932\",\"matches_local\":false,\"source_payload_hash\":\"24edd67d593b114d7f4f64124d81d8c90a90adad4751886e7b021c3b3d614521\"}]}]},{\"seq\":377008,\"raw_row_count\":16,\"conflicts\":[{\"trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\",\"local\":{\"semantic_hash\":\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\",\"trade_id\":1978663377,\"mts\":\"2026-09-20T13:52:37.772000+00:00\",\"amount\":\"-0.00040192\",\"price\":\"80573\",\"source_payload_hash\":\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\",\"trade_json\":\"{\\\"amount\\\":\\\"-0.00040192\\\",\\\"mts\\\":\\\"2026-09-20T13:52:37.772000+00:00\\\",\\\"price\\\":\\\"80573\\\",\\\"semantic_hash\\\":\\\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\\\",\\\"source_payload_hash\\\":\\\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\\\",\\\"trade_id\\\":1978663377,\\\"trade_identity\\\":\\\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\\\"}\"},\"rest\":{\"semantic_hash\":\"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b\",\"trade_id\":1978663377,\"mts\":\"2026-09-20T13:52:37.773000+00:00\",\"amount\":\"-0.00040192\",\"price\":\"80573\",\"source_payload_hash\":\"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3\"},\"variant_matches\":[-1],\"variants\":[{\"offset_ms\":-2,\"semantic_hash\":\"2cbc4315dd91ab870e414ab3016c11196a622384552710f3382df18285a3de61\",\"matches_local\":false,\"source_payload_hash\":\"f1529b193f6c423fbe8178ff8fec799786907d26cca62f005f79bd5e267f44e9\"},{\"offset_ms\":-1,\"semantic_hash\":\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\",\"matches_local\":true,\"source_payload_hash\":\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\"},{\"offset_ms\":0,\"semantic_hash\":\"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b\",\"matches_local\":false,\"source_payload_hash\":\"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3\"},{\"offset_ms\":1,\"semantic_hash\":\"c9bf932c08d754613ce1ee41d8a7540238191793e2d40b437c50690d09d8eb14\",\"matches_local\":false,\"source_payload_hash\":\"cd6cc7d781fb57f96ad6fb5f29c6fd9f6ff85edf8115ae8d022545973b078e6f\"},{\"offset_ms\":2,\"semantic_hash\":\"0be51abb280bb4a3c116fcc375e9e0e4fa249e62959f5a17310dfca196b9f8e8\",\"matches_local\":false,\"source_payload_hash\":\"4b7dc937ad0fa7b9aeaba0950278c11ed5356da759f0c83f7650e63b9174c702\"}]}]}],\"source_methods\":{\"canonical_build\":\" @classmethod\\n def build(\\n cls,\\n *,\\n trade_id: int,\\n mts: datetime,\\n amount: Decimal,\\n price: Decimal,\\n source_payload_hash: str,\\n ) -> \\\"BitfinexCanonicalTradeV1\\\":\\n trade_identity = canonical_hash({\\n \\\"schema\\\": \\\"CR0116_BITFINEX_TRADE_ID_V1\\\",\\n \\\"venue_id\\\": \\\"BITFINEX\\\",\\n \\\"trade_id\\\": trade_id,\\n })\\n semantic_hash = canonical_hash({\\n \\\"schema\\\": \\\"CR0116_BITFINEX_TRADE_SEMANTICS_V1\\\",\\n \\\"trade_identity\\\": trade_identity,\\n \\\"mts\\\": mts,\\n \\\"amount\\\": amount,\\n \\\"price\\\": price,\\n \\\"source_payload_hash\\\": source_payload_hash,\\n })\\n return cls(\\n trade_identity=trade_identity,\\n semantic_hash=semantic_hash,\\n trade_id=trade_id,\\n mts=mts,\\n amount=amount,\\n price=price,\\n source_payload_hash=source_payload_hash,\\n )\\n\",\"source_payload_hash\":\"def _source_payload_hash(*, trade_id: int, mts_ms: int, amount: Decimal, price: Decimal) -> str:\\n raw = json.dumps(\\n {\\n \\\"trade_id\\\": trade_id,\\n \\\"mts_ms\\\": mts_ms,\\n \\\"amount\\\": format(amount, \\\"f\\\"),\\n \\\"price\\\": format(price, \\\"f\\\"),\\n },\\n ensure_ascii=True,\\n sort_keys=True,\\n separators=(\\\",\\\", \\\":\\\"),\\n ).encode(\\\"utf-8\\\")\\n return hashlib.sha256(raw).hexdigest()\\n\",\"normalize_rest\":\"def normalize_bitfinex_rest_trade(row: object) -> BitfinexCanonicalTradeV1:\\n if not isinstance(row, list) or len(row) < 4:\\n raise DemonovError(\\\"Bitfinex REST trade row malformed\\\")\\n trade_id, mts_ms, amount_raw, price_raw = row[:4]\\n if not isinstance(trade_id, int) or isinstance(trade_id, bool) or trade_id <= 0:\\n raise DemonovError(\\\"Bitfinex REST trade id invalid\\\")\\n if not isinstance(mts_ms, int) or isinstance(mts_ms, bool) or mts_ms < 0:\\n raise DemonovError(\\\"Bitfinex REST trade timestamp invalid\\\")\\n try:\\n amount = Decimal(str(amount_raw))\\n price = Decimal(str(price_raw))\\n except Exception as exc:\\n raise DemonovError(\\\"Bitfinex REST trade numeric value invalid\\\") from exc\\n source_payload_hash = _source_payload_hash(\\n trade_id=trade_id,\\n mts_ms=mts_ms,\\n amount=amount,\\n price=price,\\n )\\n return BitfinexCanonicalTradeV1.build(\\n trade_id=trade_id,\\n mts=datetime.fromtimestamp(mts_ms / 1000, tz=timezone.utc),\\n amount=amount,\\n price=price,\\n source_payload_hash=source_payload_hash,\\n )\\n\"}}}\nTASK_RESULT=PASS_SIGNALBOT_052SEM3_ALL_FOUR_EXACT_MINUS_1MS_EQUIVALENCE_PROVEN\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index d4096432..c8ba81c7 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,50 +1,35 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1 -STATUS=FAIL -RC=1 +COMMAND_ID=SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=homelab-backup-final-seal-corrected +MODE=read-only +COMPONENT=signalbot-semantic-mts-drift-proof REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=58e3bfa6d61cccaf1f09bd5b3eb649c33356709b0db390874fa1f972a7d1da49 +COMMAND_SHA256=123a65733d43a0f32ee7cacb63fea8216566f5d8f19b5c6eb54eb92bff2f1b30 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=1 -CHANGES_MADE=true -ROLLBACK_STARTED=true +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -MUTATION_OUTCOME=ROLLBACK_UNKNOWN +MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=2e03779230c3c01c54a559b3021991306071ce783084d614d8f6d14a510a03ef -SANITIZED_OUTPUT_SHA256=2e03779230c3c01c54a559b3021991306071ce783084d614d8f6d14a510a03ef +RAW_EVIDENCE_SHA256=2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c +SANITIZED_OUTPUT_SHA256=2a512c5943578464126ba8ed724cb6c1654e5455a0532c1127eea0abcaa6d94c OUTPUT_BEGIN -WORKERS2_BACKUP_FINAL_SEAL_CORRECTED_BEGIN=1 -COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1 -MODE=change -COMPONENT=homelab-backup-final-seal-corrected -MUTATION_BOUNDARY=NARROW_POSTFIX_MONITORING_RELAY;NO_REPEAT_BACKUPS;CORRECTED_CLOUDB_RESTORE;ALERTMANAGER_EMAIL;QUIESCED_GC;ISOLATED_PUSH;TWO_AUDITS;FINAL_SEALS -PREAUDIT_ALLOWED_ISSUES=["ALERT_EMAIL","CLOUDB_DRILL","CLOUDB_TIMER","SOURCE_OFFHOST"] -CLOUDB_PREFLIGHT=OK -PREFLIGHT=OK -FAILURE=MONITORING_SMTP_TCP -POSTFIX_CHANGED=true -ALERTMANAGER_CHANGED=false -RETENTION_GC_STARTED=false -SOURCE_COMMITTED=false -BACKUP_PLATFORM_STATUS=NOT_SEALED -DR_STATUS=NOT_FINAL -TASK_RESULT=FAIL_HOMELAB_BACKUP_FINAL_SEAL_CORRECTED -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1","status":"FAIL","changes_made":true,"rollback_started":true,"rollback_restored":null} -WORKERS2_BACKUP_FINAL_SEAL_CORRECTED_END=1 +SIGNALBOT052SEM3_RESULT={"outer_rc":0,"guest_exitcode":0,"proof":{"ok":true,"conflict_count":4,"all_exact_minus_1ms":true,"results":[{"seq":251009,"raw_row_count":4,"conflicts":[{"trade_identity":"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809","local":{"semantic_hash":"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12","trade_id":1978047385,"mts":"2026-09-19T08:56:34.170000+00:00","amount":"0.00211007","price":"81294","source_payload_hash":"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603","trade_json":"{\"amount\":\"0.00211007\",\"mts\":\"2026-09-19T08:56:34.170000+00:00\",\"price\":\"81294\",\"semantic_hash\":\"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12\",\"source_payload_hash\":\"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603\",\"trade_id\":1978047385,\"trade_identity\":\"ac5ee89769b01055080a1ef6b66a3bf2a0ee49841730f551293552af57e61809\"}"},"rest":{"semantic_hash":"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32","trade_id":1978047385,"mts":"2026-09-19T08:56:34.171000+00:00","amount":"0.00211007","price":"81294","source_payload_hash":"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"cc3b8b5ae149d7426897a661e4b3d886c6e6aa44b9b677d1c39307379e150f71","matches_local":false,"source_payload_hash":"f52e8acece7d9813486208df98aa70e9fec05ecf8eb276ff813e48b0d07ccb78"},{"offset_ms":-1,"semantic_hash":"a68332effcadf8a928ead478507829fe5b1a3eb2bf9a09f4200a5cdf814c0e12","matches_local":true,"source_payload_hash":"dda5100ed2618f87b31bfa1306bed3d25de0c358d8a5cb059547f58c60804603"},{"offset_ms":0,"semantic_hash":"1fec66432d52f6803021ac880cc44ce7ddc66e3a573398c9d97e267addee1d32","matches_local":false,"source_payload_hash":"7ce688662cd8629a8a14ecf30c644aa46aabfa9613d665aa1c7b8ef40208e9ae"},{"offset_ms":1,"semantic_hash":"4ac9cd00066a5a7474838ae9ed15947bf7106d6a085571c8a16ffd0dfbf56b47","matches_local":false,"source_payload_hash":"686b1588d3a8970f303f02c2fd3f39d457cc4336c8186e44d585f0a59f88b5de"},{"offset_ms":2,"semantic_hash":"8b2aa0f9415151622205283da249d2c9f488a30d9ecffe071143647bbe8048ab","matches_local":false,"source_payload_hash":"2375d4f54f60a5524a6e0c379b7852712e8716d7c0ca5717abc653584990445a"}]}]},{"seq":318578,"raw_row_count":4,"conflicts":[{"trade_identity":"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580","local":{"semantic_hash":"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946","trade_id":1978425230,"mts":"2026-09-20T01:19:16.430000+00:00","amount":"0.0002","price":"81144","source_payload_hash":"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c","trade_json":"{\"amount\":\"0.0002\",\"mts\":\"2026-09-20T01:19:16.430000+00:00\",\"price\":\"81144\",\"semantic_hash\":\"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946\",\"source_payload_hash\":\"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c\",\"trade_id\":1978425230,\"trade_identity\":\"4864b1515a46c5a7027df34865751263f136132b186a22a85bedf56d5b3c8580\"}"},"rest":{"semantic_hash":"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400","trade_id":1978425230,"mts":"2026-09-20T01:19:16.431000+00:00","amount":"0.0002","price":"81144","source_payload_hash":"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"1cdb42a9bc93120d4cdf18de070ff499c7c200eee2000a4717b07a314f5fe21e","matches_local":false,"source_payload_hash":"66c555e9e65de2c6d6312560a42eca03d4a58cde9f5afd35506524b9063c7dba"},{"offset_ms":-1,"semantic_hash":"0bd2f70ee53f0e68ce3250a9db186bb78289ef3335e6843b3298708d26a90946","matches_local":true,"source_payload_hash":"01c9ec301dba6ddbf3cb15ee66a1b5d2258ba173dd88c51c7ae5e5d621740e1c"},{"offset_ms":0,"semantic_hash":"449f362d057b4c1d5872e5c592a81540d2dab554dc5424845896247f00761400","matches_local":false,"source_payload_hash":"53e0f9604d7422f6bb0cf507ef71da60a62f27df87e2d93e330fa5991c48e8a2"},{"offset_ms":1,"semantic_hash":"d696ff4e798a29e2b86f6a36864ceef338f8230722e9ae533ffc4f33ecc993e4","matches_local":false,"source_payload_hash":"ec5ed3a90b2166cf92827e3df9250eb1415e12d30119edec4d556092a9e1bc02"},{"offset_ms":2,"semantic_hash":"ee52f6916b8361dd021617f3178c89a8cc4e983163305700d0f2a0bfa6f05f5d","matches_local":false,"source_payload_hash":"ec2ed9ad9774b2b53d8aa97eabfa24779dd6f60aef4542fe6521699858a00bff"}]}]},{"seq":350488,"raw_row_count":4,"conflicts":[{"trade_identity":"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363","local":{"semantic_hash":"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f","trade_id":1978544807,"mts":"2026-09-20T07:26:42.303000+00:00","amount":"0.00007465","price":"80374","source_payload_hash":"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f","trade_json":"{\"amount\":\"0.00007465\",\"mts\":\"2026-09-20T07:26:42.303000+00:00\",\"price\":\"80374\",\"semantic_hash\":\"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f\",\"source_payload_hash\":\"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f\",\"trade_id\":1978544807,\"trade_identity\":\"ff901a1b6bc9a49c961c34d90731fd1550fd89e00ded60ca892b2e2d5fb33363\"}"},"rest":{"semantic_hash":"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9","trade_id":1978544807,"mts":"2026-09-20T07:26:42.304000+00:00","amount":"0.00007465","price":"80374","source_payload_hash":"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"1d10a16a04eed2f97e0f8c55bafefe8a21a425d3ae2ba8a546aeba078ee91031","matches_local":false,"source_payload_hash":"0783fc3f4b5f31ff51e7ac7288c196e53b984c73241b278f05230544da8d785a"},{"offset_ms":-1,"semantic_hash":"ef5d24518812bce987bd8dc7f8401d18e85fac4403bde28798e09df7bb76110f","matches_local":true,"source_payload_hash":"3408edf5ee86d62afb50c5d01ea09cd734eae97dabc39aa9229a158aab0e4f2f"},{"offset_ms":0,"semantic_hash":"b52ddcf353996786e3b60a3594cf28602d884074d94b995f88b7d573707000b9","matches_local":false,"source_payload_hash":"8763bfa6192a0bf44d9bfaa4cde01abe95bc39c53954247d2970dfcceb0d979f"},{"offset_ms":1,"semantic_hash":"25baa8f899aa93475f64dea1282a9b83edef91b577b008e19e25581f02903d82","matches_local":false,"source_payload_hash":"95bbe8d5870fa9629a1c008c79d3f6f32d241c945c59a386cd6f4dd2f5421634"},{"offset_ms":2,"semantic_hash":"41c31b5e76c6eec2c319364d66e0bfefb76a4b630d72e76cff6295b043b29932","matches_local":false,"source_payload_hash":"24edd67d593b114d7f4f64124d81d8c90a90adad4751886e7b021c3b3d614521"}]}]},{"seq":377008,"raw_row_count":16,"conflicts":[{"trade_identity":"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f","local":{"semantic_hash":"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa","trade_id":1978663377,"mts":"2026-09-20T13:52:37.772000+00:00","amount":"-0.00040192","price":"80573","source_payload_hash":"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0","trade_json":"{\"amount\":\"-0.00040192\",\"mts\":\"2026-09-20T13:52:37.772000+00:00\",\"price\":\"80573\",\"semantic_hash\":\"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa\",\"source_payload_hash\":\"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0\",\"trade_id\":1978663377,\"trade_identity\":\"102515c73c5748a56ca153cab57cdb832b5aae503a5485a23265c6313699d80f\"}"},"rest":{"semantic_hash":"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b","trade_id":1978663377,"mts":"2026-09-20T13:52:37.773000+00:00","amount":"-0.00040192","price":"80573","source_payload_hash":"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3"},"variant_matches":[-1],"variants":[{"offset_ms":-2,"semantic_hash":"2cbc4315dd91ab870e414ab3016c11196a622384552710f3382df18285a3de61","matches_local":false,"source_payload_hash":"f1529b193f6c423fbe8178ff8fec799786907d26cca62f005f79bd5e267f44e9"},{"offset_ms":-1,"semantic_hash":"3882f08ebf2ef5777383f6ce57ccf3a56c5064e47eae32096c699b6fadaf14aa","matches_local":true,"source_payload_hash":"6799fb8d397f192d51de2148e6583013ff8ad845aa1c734cc41be3170dc05bd0"},{"offset_ms":0,"semantic_hash":"0db8672a6d0b8425a4e3cd9a3ddb6ec48c179613be302f27b9237d17f251693b","matches_local":false,"source_payload_hash":"4ee54a973defc37cefd51a348baaad298f4da43f6de89313e16478df82ae44a3"},{"offset_ms":1,"semantic_hash":"c9bf932c08d754613ce1ee41d8a7540238191793e2d40b437c50690d09d8eb14","matches_local":false,"source_payload_hash":"cd6cc7d781fb57f96ad6fb5f29c6fd9f6ff85edf8115ae8d022545973b078e6f"},{"offset_ms":2,"semantic_hash":"0be51abb280bb4a3c116fcc375e9e0e4fa249e62959f5a17310dfca196b9f8e8","matches_local":false,"source_payload_hash":"4b7dc937ad0fa7b9aeaba0950278c11ed5356da759f0c83f7650e63b9174c702"}]}]}],"source_methods":{"canonical_build":" @classmethod\n def build(\n cls,\n *,\n trade_id: int,\n mts: datetime,\n amount: Decimal,\n price: Decimal,\n source_payload_hash: str,\n ) -> \"BitfinexCanonicalTradeV1\":\n trade_identity = canonical_hash({\n \"schema\": \"CR0116_BITFINEX_TRADE_ID_V1\",\n \"venue_id\": \"BITFINEX\",\n \"trade_id\": trade_id,\n })\n semantic_hash = canonical_hash({\n \"schema\": \"CR0116_BITFINEX_TRADE_SEMANTICS_V1\",\n \"trade_identity\": trade_identity,\n \"mts\": mts,\n \"amount\": amount,\n \"price\": price,\n \"source_payload_hash\": source_payload_hash,\n })\n return cls(\n trade_identity=trade_identity,\n semantic_hash=semantic_hash,\n trade_id=trade_id,\n mts=mts,\n amount=amount,\n price=price,\n source_payload_hash=source_payload_hash,\n )\n","source_payload_hash":"def _source_payload_hash(*, trade_id: int, mts_ms: int, amount: Decimal, price: Decimal) -> str:\n raw = json.dumps(\n {\n \"trade_id\": trade_id,\n \"mts_ms\": mts_ms,\n \"amount\": format(amount, \"f\"),\n \"price\": format(price, \"f\"),\n },\n ensure_ascii=True,\n sort_keys=True,\n separators=(\",\", \":\"),\n ).encode(\"utf-8\")\n return hashlib.sha256(raw).hexdigest()\n","normalize_rest":"def normalize_bitfinex_rest_trade(row: object) -> BitfinexCanonicalTradeV1:\n if not isinstance(row, list) or len(row) < 4:\n raise DemonovError(\"Bitfinex REST trade row malformed\")\n trade_id, mts_ms, amount_raw, price_raw = row[:4]\n if not isinstance(trade_id, int) or isinstance(trade_id, bool) or trade_id <= 0:\n raise DemonovError(\"Bitfinex REST trade id invalid\")\n if not isinstance(mts_ms, int) or isinstance(mts_ms, bool) or mts_ms < 0:\n raise DemonovError(\"Bitfinex REST trade timestamp invalid\")\n try:\n amount = Decimal(str(amount_raw))\n price = Decimal(str(price_raw))\n except Exception as exc:\n raise DemonovError(\"Bitfinex REST trade numeric value invalid\") from exc\n source_payload_hash = _source_payload_hash(\n trade_id=trade_id,\n mts_ms=mts_ms,\n amount=amount,\n price=price,\n )\n return BitfinexCanonicalTradeV1.build(\n trade_id=trade_id,\n mts=datetime.fromtimestamp(mts_ms / 1000, tz=timezone.utc),\n amount=amount,\n price=price,\n source_payload_hash=source_payload_hash,\n )\n"}}} +TASK_RESULT=PASS_SIGNALBOT_052SEM3_ALL_FOUR_EXACT_MINUS_1MS_EQUIVALENCE_PROVEN +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-SEMANTIC-MTS-DRIFT-PROOF-052SEM3","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END