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
