diff --git a/runtime/history/SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14.json b/runtime/history/SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14.json new file mode 100644 index 00000000..5bf8d2e0 --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "signalbot-bitfinex-symbol-readonly", + "started_at_utc": "2026-09-21T02:11:42Z", + "finished_at_utc": "2026-09-21T02:11:43Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "afa34ca4718d43f71906c81de4015d0174ec39a818b6989e3a2f0f6eb58cfc5f", + "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": "67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351", + "sanitized_output_sha256": "67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SIGNALBOT052SYM14_RESULT={\"guest_exitcode\":0,\"stderr_present\":false,\"evidence\":\"IMAGE_ID=sha256:bc7fe43a1627532cf2ffbea2489352bb97c9a9e445e097cd5837b80a9e90cc60 CONFIG_IMAGE=8020-demonov-shadow:signalbot-050r6-749073ae0f89 CMD=[\\\"python\\\",\\\"-m\\\",\\\"demonov_forward_map.bitfinex_trade_collector\\\"]\\n/app/demonov_forward_map/bitfinex_trade_collector.py:35:BITFINEX_TRADE_SYMBOL = \\\"tBTCUSD\\\"\\n/app/demonov_forward_map/bitfinex_trade_collector.py:230: market_key TEXT NOT NULL,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1142: logical_d1_id,market_key,timeframe_id,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1149: logical_d1.market_key,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1319: \\\"market_key\\\": logical.market_key,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1381: market_key=logical_data[\\\"market_key\\\"],\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1495: market_key=\\\"BTC|BITFINEX|SPOT\\\",\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1595: symbol=BITFINEX_TRADE_SYMBOL,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1672: {\\\"event\\\": \\\"subscribe\\\", \\\"channel\\\": \\\"trades\\\", \\\"symbol\\\": BITFINEX_TRADE_SYMBOL}\\n/app/demonov_forward_map/bitfinex_reconciliation.py:80: symbol: str\\n/app/demonov_forward_map/bitfinex_reconciliation.py:149: symbol: str,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:154: if not isinstance(symbol, str) or not symbol.startswith(\\\"t\\\") or len(symbol) < 2:\\n/app/demonov_forward_map/bitfinex_reconciliation.py:155: raise DemonovError(\\\"Bitfinex trade history symbol invalid\\\")\\n/app/demonov_forward_map/bitfinex_reconciliation.py:163: url = f\\\"{BITFINEX_PUBLIC_TRADES_BASE}/{quote(symbol, safe='')}/hist?{query}\\\"\\n/app/demonov_forward_map/bitfinex_reconciliation.py:202: \\\"symbol\\\": symbol,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:210: symbol=symbol,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:223: symbol: str,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:232: symbol,\\n\"}\nTASK_RESULT=PASS_SIGNALBOT_052SYM14_EVIDENCE_CAPTURED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14.txt b/runtime/history/SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14.txt new file mode 100644 index 00000000..242d05f8 --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14.txt @@ -0,0 +1,35 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-bitfinex-symbol-readonly +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=afa34ca4718d43f71906c81de4015d0174ec39a818b6989e3a2f0f6eb58cfc5f +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=67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351 +SANITIZED_OUTPUT_SHA256=67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351 +OUTPUT_BEGIN +SIGNALBOT052SYM14_RESULT={"guest_exitcode":0,"stderr_present":false,"evidence":"IMAGE_ID=sha256:bc7fe43a1627532cf2ffbea2489352bb97c9a9e445e097cd5837b80a9e90cc60 CONFIG_IMAGE=8020-demonov-shadow:signalbot-050r6-749073ae0f89 CMD=[\"python\",\"-m\",\"demonov_forward_map.bitfinex_trade_collector\"]\n/app/demonov_forward_map/bitfinex_trade_collector.py:35:BITFINEX_TRADE_SYMBOL = \"tBTCUSD\"\n/app/demonov_forward_map/bitfinex_trade_collector.py:230: market_key TEXT NOT NULL,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1142: logical_d1_id,market_key,timeframe_id,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1149: logical_d1.market_key,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1319: \"market_key\": logical.market_key,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1381: market_key=logical_data[\"market_key\"],\n/app/demonov_forward_map/bitfinex_trade_collector.py:1495: market_key=\"BTC|BITFINEX|SPOT\",\n/app/demonov_forward_map/bitfinex_trade_collector.py:1595: symbol=BITFINEX_TRADE_SYMBOL,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1672: {\"event\": \"subscribe\", \"channel\": \"trades\", \"symbol\": BITFINEX_TRADE_SYMBOL}\n/app/demonov_forward_map/bitfinex_reconciliation.py:80: symbol: str\n/app/demonov_forward_map/bitfinex_reconciliation.py:149: symbol: str,\n/app/demonov_forward_map/bitfinex_reconciliation.py:154: if not isinstance(symbol, str) or not symbol.startswith(\"t\") or len(symbol) < 2:\n/app/demonov_forward_map/bitfinex_reconciliation.py:155: raise DemonovError(\"Bitfinex trade history symbol invalid\")\n/app/demonov_forward_map/bitfinex_reconciliation.py:163: url = f\"{BITFINEX_PUBLIC_TRADES_BASE}/{quote(symbol, safe='')}/hist?{query}\"\n/app/demonov_forward_map/bitfinex_reconciliation.py:202: \"symbol\": symbol,\n/app/demonov_forward_map/bitfinex_reconciliation.py:210: symbol=symbol,\n/app/demonov_forward_map/bitfinex_reconciliation.py:223: symbol: str,\n/app/demonov_forward_map/bitfinex_reconciliation.py:232: symbol,\n"} +TASK_RESULT=PASS_SIGNALBOT_052SYM14_EVIDENCE_CAPTURED +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14","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 6e78d192..5bf8d2e0 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260921-NEWFDOM-PEDIGREE217-RECOVERY333", + "command_id": "SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", - "component": "newfi-pedigree217-recovery333-local-rca332", - "started_at_utc": "2026-09-21T02:11:14Z", - "finished_at_utc": "2026-09-21T02:11:14Z", + "component": "signalbot-bitfinex-symbol-readonly", + "started_at_utc": "2026-09-21T02:11:42Z", + "finished_at_utc": "2026-09-21T02:11:43Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "a6f8f3ea7ef887c7c52693277add680d69788e920dd3db2cedaf9cf42582dad9", + "command_sha256": "afa34ca4718d43f71906c81de4015d0174ec39a818b6989e3a2f0f6eb58cfc5f", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "d0d1f5adfdb25cb368fb9f4b307be13c50b88c3232e7171f4d22a6561e0598c7", - "sanitized_output_sha256": "d0d1f5adfdb25cb368fb9f4b307be13c50b88c3232e7171f4d22a6561e0598c7", + "raw_evidence_sha256": "67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351", + "sanitized_output_sha256": "67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "REC333_BEGIN=true\nCOMMAND_ID=NEWFI-260921-NEWFDOM-PEDIGREE217-RECOVERY333\nMODE=read-only\nIMMUTABLE_PLAN_CHECK=PASS\nAUTHORITY={\"error\":{\"actual\":\"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\",\"expected\":\"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\",\"match\":true},\"reference\":{\"actual\":\"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\",\"expected\":\"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\",\"match\":true}}\nINPUT_SHA256=29321853ef09da676cac4e5d45b41a484b7a53a80c9ebd9b3d0aa799e18a50c8\nINPUT_VALID=true\nLOCAL332_EVIDENCE={\"attempt_dir_present\":true,\"local_class\":\"OTHER_LOCAL_OR_UNPUBLISHED\",\"rc\":0,\"rc_present\":true,\"remote_sha256\":\"89770516b03e6a6e59efbe83665f0813ba836ddfa501808b93f9c7ccfa043c27\",\"remote_sha_match\":true,\"stderr_bytes\":53,\"stderr_sha256\":\"0e8e487bf615d2b43aae3965f8c122cb731d2fd2c98f14c897b1a8a32bb7bae7\",\"stdout_bytes\":0,\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}\nDECISION=PASS_PEDIGREE217_RECOVERY333_RCA332_LOCAL_TRANSPORT_CLASSIFIED\nNEXT_GATE=REISSUE_PEDIGREE217_RCA_AFTER_RECOVERY333_WITH_FROZEN_CARRIER\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nACTIVE_MAJOR_STAGE=PEDIGREE217\nMAJOR_STAGES_REMAINING=5\nREC333_END=true\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260921-NEWFDOM-PEDIGREE217-RECOVERY333\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n" + "output": "SIGNALBOT052SYM14_RESULT={\"guest_exitcode\":0,\"stderr_present\":false,\"evidence\":\"IMAGE_ID=sha256:bc7fe43a1627532cf2ffbea2489352bb97c9a9e445e097cd5837b80a9e90cc60 CONFIG_IMAGE=8020-demonov-shadow:signalbot-050r6-749073ae0f89 CMD=[\\\"python\\\",\\\"-m\\\",\\\"demonov_forward_map.bitfinex_trade_collector\\\"]\\n/app/demonov_forward_map/bitfinex_trade_collector.py:35:BITFINEX_TRADE_SYMBOL = \\\"tBTCUSD\\\"\\n/app/demonov_forward_map/bitfinex_trade_collector.py:230: market_key TEXT NOT NULL,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1142: logical_d1_id,market_key,timeframe_id,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1149: logical_d1.market_key,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1319: \\\"market_key\\\": logical.market_key,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1381: market_key=logical_data[\\\"market_key\\\"],\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1495: market_key=\\\"BTC|BITFINEX|SPOT\\\",\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1595: symbol=BITFINEX_TRADE_SYMBOL,\\n/app/demonov_forward_map/bitfinex_trade_collector.py:1672: {\\\"event\\\": \\\"subscribe\\\", \\\"channel\\\": \\\"trades\\\", \\\"symbol\\\": BITFINEX_TRADE_SYMBOL}\\n/app/demonov_forward_map/bitfinex_reconciliation.py:80: symbol: str\\n/app/demonov_forward_map/bitfinex_reconciliation.py:149: symbol: str,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:154: if not isinstance(symbol, str) or not symbol.startswith(\\\"t\\\") or len(symbol) < 2:\\n/app/demonov_forward_map/bitfinex_reconciliation.py:155: raise DemonovError(\\\"Bitfinex trade history symbol invalid\\\")\\n/app/demonov_forward_map/bitfinex_reconciliation.py:163: url = f\\\"{BITFINEX_PUBLIC_TRADES_BASE}/{quote(symbol, safe='')}/hist?{query}\\\"\\n/app/demonov_forward_map/bitfinex_reconciliation.py:202: \\\"symbol\\\": symbol,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:210: symbol=symbol,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:223: symbol: str,\\n/app/demonov_forward_map/bitfinex_reconciliation.py:232: symbol,\\n\"}\nTASK_RESULT=PASS_SIGNALBOT_052SYM14_EVIDENCE_CAPTURED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 40ee0d46..242d05f8 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=NEWFI-260921-NEWFDOM-PEDIGREE217-RECOVERY333 +COMMAND_ID=SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14 STATUS=OK RC=0 HOST=pve01 MODE=read-only -COMPONENT=newfi-pedigree217-recovery333-local-rca332 +COMPONENT=signalbot-bitfinex-symbol-readonly REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=a6f8f3ea7ef887c7c52693277add680d69788e920dd3db2cedaf9cf42582dad9 +COMMAND_SHA256=afa34ca4718d43f71906c81de4015d0174ec39a818b6989e3a2f0f6eb58cfc5f DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,27 +24,12 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=d0d1f5adfdb25cb368fb9f4b307be13c50b88c3232e7171f4d22a6561e0598c7 -SANITIZED_OUTPUT_SHA256=d0d1f5adfdb25cb368fb9f4b307be13c50b88c3232e7171f4d22a6561e0598c7 +RAW_EVIDENCE_SHA256=67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351 +SANITIZED_OUTPUT_SHA256=67ad32869098b8de307a98cb5d65e3926f2bb1c5d6e6f49cb684fd7d25e71351 OUTPUT_BEGIN -REC333_BEGIN=true -COMMAND_ID=NEWFI-260921-NEWFDOM-PEDIGREE217-RECOVERY333 -MODE=read-only -IMMUTABLE_PLAN_CHECK=PASS -AUTHORITY={"error":{"actual":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","expected":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","match":true},"reference":{"actual":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","expected":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","match":true}} -INPUT_SHA256=29321853ef09da676cac4e5d45b41a484b7a53a80c9ebd9b3d0aa799e18a50c8 -INPUT_VALID=true -LOCAL332_EVIDENCE={"attempt_dir_present":true,"local_class":"OTHER_LOCAL_OR_UNPUBLISHED","rc":0,"rc_present":true,"remote_sha256":"89770516b03e6a6e59efbe83665f0813ba836ddfa501808b93f9c7ccfa043c27","remote_sha_match":true,"stderr_bytes":53,"stderr_sha256":"0e8e487bf615d2b43aae3965f8c122cb731d2fd2c98f14c897b1a8a32bb7bae7","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"} -DECISION=PASS_PEDIGREE217_RECOVERY333_RCA332_LOCAL_TRANSPORT_CLASSIFIED -NEXT_GATE=REISSUE_PEDIGREE217_RCA_AFTER_RECOVERY333_WITH_FROZEN_CARRIER -CHANGES_MADE=false -ROLLBACK_STARTED=false -ROLLBACK_RESTORED=null -MUTATION_OUTCOME=NO_MUTATION -ACTIVE_MAJOR_STAGE=PEDIGREE217 -MAJOR_STAGES_REMAINING=5 -REC333_END=true -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260921-NEWFDOM-PEDIGREE217-RECOVERY333","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +SIGNALBOT052SYM14_RESULT={"guest_exitcode":0,"stderr_present":false,"evidence":"IMAGE_ID=sha256:bc7fe43a1627532cf2ffbea2489352bb97c9a9e445e097cd5837b80a9e90cc60 CONFIG_IMAGE=8020-demonov-shadow:signalbot-050r6-749073ae0f89 CMD=[\"python\",\"-m\",\"demonov_forward_map.bitfinex_trade_collector\"]\n/app/demonov_forward_map/bitfinex_trade_collector.py:35:BITFINEX_TRADE_SYMBOL = \"tBTCUSD\"\n/app/demonov_forward_map/bitfinex_trade_collector.py:230: market_key TEXT NOT NULL,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1142: logical_d1_id,market_key,timeframe_id,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1149: logical_d1.market_key,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1319: \"market_key\": logical.market_key,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1381: market_key=logical_data[\"market_key\"],\n/app/demonov_forward_map/bitfinex_trade_collector.py:1495: market_key=\"BTC|BITFINEX|SPOT\",\n/app/demonov_forward_map/bitfinex_trade_collector.py:1595: symbol=BITFINEX_TRADE_SYMBOL,\n/app/demonov_forward_map/bitfinex_trade_collector.py:1672: {\"event\": \"subscribe\", \"channel\": \"trades\", \"symbol\": BITFINEX_TRADE_SYMBOL}\n/app/demonov_forward_map/bitfinex_reconciliation.py:80: symbol: str\n/app/demonov_forward_map/bitfinex_reconciliation.py:149: symbol: str,\n/app/demonov_forward_map/bitfinex_reconciliation.py:154: if not isinstance(symbol, str) or not symbol.startswith(\"t\") or len(symbol) < 2:\n/app/demonov_forward_map/bitfinex_reconciliation.py:155: raise DemonovError(\"Bitfinex trade history symbol invalid\")\n/app/demonov_forward_map/bitfinex_reconciliation.py:163: url = f\"{BITFINEX_PUBLIC_TRADES_BASE}/{quote(symbol, safe='')}/hist?{query}\"\n/app/demonov_forward_map/bitfinex_reconciliation.py:202: \"symbol\": symbol,\n/app/demonov_forward_map/bitfinex_reconciliation.py:210: symbol=symbol,\n/app/demonov_forward_map/bitfinex_reconciliation.py:223: symbol: str,\n/app/demonov_forward_map/bitfinex_reconciliation.py:232: symbol,\n"} +TASK_RESULT=PASS_SIGNALBOT_052SYM14_EVIDENCE_CAPTURED +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-BITFINEX-SYMBOL-READONLY-052SYM14","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END