diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1.json b/runtime/history/SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1.json new file mode 100644 index 00000000..09262de9 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "signalbot-cr0116-deploy-contract-rca", + "started_at_utc": "2026-09-08T05:54:38Z", + "finished_at_utc": "2026-09-08T05:54:40Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "ab870841e3fc4d8458e3a73a289797c6b526c8408e6625a9fb8193a60db0cef4", + "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": "c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598", + "sanitized_output_sha256": "c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSB039_PVE01_REPO_CANDIDATES=[{\"branch\":\"cr-2026-0105-demonov-shadow-orchestrator\",\"dirty_count\":0,\"head\":\"559948bcb6baead49a47d9953b0cc0090e332fd7\",\"ls_remote_rc\":0,\"path\":\"/root/8020-demonov-shadow-bot\",\"remote_main\":\"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce\",\"slug_match\":true}]\nSB039_VM170_SNAPSHOT={\"exitcode\":0,\"report\":{\"decision\":\"DEPLOY_CONTRACT_EVIDENCE_READY\",\"deployed_source\":{\"lines\":1246,\"path\":\"/app/demonov_forward_map/bitfinex_trade_collector.py\",\"rc\":0,\"sha256\":\"d21cf0c3a0d4fcaf9210a57da04fd560dba4952ac1dd5a085abcc4e76ccf2eb0\"},\"docker_tools\":{\"compose\":{\"rc\":0,\"value\":\"2.26.1-4\"},\"docker\":{\"rc\":0,\"value\":\"26.1.5+dfsg1\"},\"python\":{\"rc\":0,\"value\":\"Python 3.13.5\"}},\"git_candidates\":[],\"holds\":[],\"hostname\":\"core-apps\",\"mutation_scope\":\"NONE_READ_ONLY\",\"relevant_stack_files\":[{\"bytes\":116,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile\",\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"},{\"bytes\":886,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/build.log\",\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"},{\"bytes\":7220,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":4101,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py\",\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"},{\"bytes\":8130,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"},{\"bytes\":841,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json\",\"sha256\":\"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa\"},{\"bytes\":584,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json\",\"sha256\":\"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e\"},{\"bytes\":3243,\"path\":\".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml\",\"sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\"},{\"bytes\":7220,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":8130,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"},{\"bytes\":3243,\"path\":\"compose.yaml\",\"sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\"},{\"bytes\":7220,\"path\":\"src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\"src/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\"src/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":8130,\"path\":\"src/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"}],\"repo_helpers\":[{\"bytes\":116,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile\",\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"},{\"bytes\":886,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/build.log\",\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"},{\"bytes\":7220,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":4101,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py\",\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"},{\"bytes\":8130,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"},{\"bytes\":841,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json\",\"sha256\":\"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa\"},{\"bytes\":584,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json\",\"sha256\":\"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e\"},{\"bytes\":3243,\"path\":\".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml\",\"sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\"},{\"bytes\":7220,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":7220,\"path\":\"src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"}],\"runtime\":{\"compose_files\":[\"/opt/stacks/8020-demonov-shadow/compose.yaml\"],\"docker_ps_rc\":0,\"services\":[{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":13,\"running\":true,\"service\":\"collector\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"relay\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"worker\"}],\"working_dirs\":[\"/opt/stacks/8020-demonov-shadow\"]},\"runtime_manifest_source\":{\"/app/demonov_forward_map/live_prospective.py\":{\"classes\":[\"ExperimentProvenance\",\"LiveProspectiveStore\"],\"functions\":[{\"args\":[\"value\"],\"name\":\"_hash\"},{\"args\":[\"bar\"],\"name\":\"_bar_json\"},{\"args\":[\"line\"],\"name\":\"_line_json\"},{\"args\":[\"raw\"],\"name\":\"_line_from_json\"},{\"args\":[\"states\"],\"name\":\"_states_json\"},{\"args\":[\"raw\"],\"name\":\"_states_from_json\"}],\"lines\":851,\"sha256\":\"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98\"},\"/app/demonov_forward_map/runtime_manifest.py\":{\"classes\":[\"RuntimeDeploymentManifestV1\"],\"functions\":[{\"args\":[\"value\",\"name\"],\"name\":\"_required\"},{\"args\":[\"value\",\"name\"],\"name\":\"_sha256_hex\"},{\"args\":[\"value\",\"name\"],\"name\":\"_sha256_id\"},{\"args\":[\"manifest\"],\"name\":\"verify_runtime_manifest\"}],\"lines\":123,\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"}},\"safe_env\":{\"APP_IMAGE\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"CODE_IDENTITY\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"COLLECTION_START_AT\":\"2026-09-07T00:00:00+00:00\",\"EXPERIMENT_ID\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"RUNTIME_MANIFEST_ID\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"stack_exists\":true},\"state\":\"COMPLETE\"}\nSIGNALBOT039_HOLDS=[]\nSIGNALBOT039_DECISION=DEPLOY_CONTRACT_EVIDENCE_READY\nSIGNALBOT039_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\n" +} diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1.txt b/runtime/history/SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1.txt new file mode 100644 index 00000000..8a7c1690 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1.txt @@ -0,0 +1,40 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-cr0116-deploy-contract-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=ab870841e3fc4d8458e3a73a289797c6b526c8408e6625a9fb8193a60db0cef4 +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=c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598 +SANITIZED_OUTPUT_SHA256=c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598 +OUTPUT_BEGIN +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +SB039_PVE01_REPO_CANDIDATES=[{"branch":"cr-2026-0105-demonov-shadow-orchestrator","dirty_count":0,"head":"559948bcb6baead49a47d9953b0cc0090e332fd7","ls_remote_rc":0,"path":"/root/8020-demonov-shadow-bot","remote_main":"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce","slug_match":true}] +SB039_VM170_SNAPSHOT={"exitcode":0,"report":{"decision":"DEPLOY_CONTRACT_EVIDENCE_READY","deployed_source":{"lines":1246,"path":"/app/demonov_forward_map/bitfinex_trade_collector.py","rc":0,"sha256":"d21cf0c3a0d4fcaf9210a57da04fd560dba4952ac1dd5a085abcc4e76ccf2eb0"},"docker_tools":{"compose":{"rc":0,"value":"2.26.1-4"},"docker":{"rc":0,"value":"26.1.5+dfsg1"},"python":{"rc":0,"value":"Python 3.13.5"}},"git_candidates":[],"holds":[],"hostname":"core-apps","mutation_scope":"NONE_READ_ONLY","relevant_stack_files":[{"bytes":116,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile","sha256":"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8"},{"bytes":886,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/build.log","sha256":"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb"},{"bytes":7220,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":4101,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py","sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"},{"bytes":8130,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"},{"bytes":841,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json","sha256":"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa"},{"bytes":584,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json","sha256":"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e"},{"bytes":3243,"path":".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml","sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061"},{"bytes":7220,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":8130,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"},{"bytes":3243,"path":"compose.yaml","sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061"},{"bytes":7220,"path":"src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":"src/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":"src/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":8130,"path":"src/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"}],"repo_helpers":[{"bytes":116,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile","sha256":"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8"},{"bytes":886,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/build.log","sha256":"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb"},{"bytes":7220,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":4101,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py","sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"},{"bytes":8130,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"},{"bytes":841,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json","sha256":"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa"},{"bytes":584,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json","sha256":"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e"},{"bytes":3243,"path":".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml","sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061"},{"bytes":7220,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":7220,"path":"src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"}],"runtime":{"compose_files":["/opt/stacks/8020-demonov-shadow/compose.yaml"],"docker_ps_rc":0,"services":[{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":13,"running":true,"service":"collector"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":0,"running":true,"service":"relay"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":0,"running":true,"service":"shadow"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":0,"running":true,"service":"worker"}],"working_dirs":["/opt/stacks/8020-demonov-shadow"]},"runtime_manifest_source":{"/app/demonov_forward_map/live_prospective.py":{"classes":["ExperimentProvenance","LiveProspectiveStore"],"functions":[{"args":["value"],"name":"_hash"},{"args":["bar"],"name":"_bar_json"},{"args":["line"],"name":"_line_json"},{"args":["raw"],"name":"_line_from_json"},{"args":["states"],"name":"_states_json"},{"args":["raw"],"name":"_states_from_json"}],"lines":851,"sha256":"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98"},"/app/demonov_forward_map/runtime_manifest.py":{"classes":["RuntimeDeploymentManifestV1"],"functions":[{"args":["value","name"],"name":"_required"},{"args":["value","name"],"name":"_sha256_hex"},{"args":["value","name"],"name":"_sha256_id"},{"args":["manifest"],"name":"verify_runtime_manifest"}],"lines":123,"sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"}},"safe_env":{"APP_IMAGE":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","CODE_IDENTITY":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","COLLECTION_START_AT":"2026-09-07T00:00:00+00:00","EXPERIMENT_ID":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","RUNTIME_MANIFEST_ID":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"stack_exists":true},"state":"COMPLETE"} +SIGNALBOT039_HOLDS=[] +SIGNALBOT039_DECISION=DEPLOY_CONTRACT_EVIDENCE_READY +SIGNALBOT039_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 80502f9e..09262de9 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,27 +1,27 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260908-A-STAGINGEDGE-APPLY5", - "status": "BLOCKED", - "rc": 2, + "command_id": "SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "newfi-staging-deterministic-certpath-route-dns", - "started_at_utc": "2026-09-08T05:53:48Z", - "finished_at_utc": "2026-09-08T05:54:06Z", + "mode": "read-only", + "component": "signalbot-cr0116-deploy-contract-rca", + "started_at_utc": "2026-09-08T05:54:38Z", + "finished_at_utc": "2026-09-08T05:54:40Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "444b6ad15c7a66e47630276a9ac4f4dccd2a6ca7e3a0844374895c472fdec62b", + "command_sha256": "ab870841e3fc4d8458e3a73a289797c6b526c8408e6625a9fb8193a60db0cef4", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "BLOCKED", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 2, + "command_rc": 0, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "abede6372eb4c5ed81ebbf003dcbee82e29b6d83e36c2150e1ce15e1aba1fece", - "sanitized_output_sha256": "00aceebe4e8f4bf262c577492aa809afe66eb595143b4373bc08ff30354e94b9", + "raw_evidence_sha256": "c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598", + "sanitized_output_sha256": "c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "STAGINGEDGE_APPLY5_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5\nCOMPONENT=newfi-staging-deterministic-certpath-route-dns\nMODE=change\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nPRIOR_STAGINGEDGE_APPLY4_HISTORY_SHA256=a40dbae4b1b72df8e334c74375add47c68c65cad133c83b81d403465e5c2bb6c\nPORTAL_PRODUCT_STATE_GATE=PASS\nNEWFI_STAGING_IDENTITY={\"name\":\"newfi-staging\",\"node\":\"pve03\",\"vmid\":211}\nSTAGING_BACKEND_PREFLIGHT={\"ip\":\"[PRIVATE_IP]\",\"local_http\":\"503\"}\nEDGE_VM_IDENTITY={\"name\":\"edge-vm\",\"node\":\"pve03\",\"vmid\":130}\nNPMPLUS_PREFLIGHT={\"container\":\"npmplus\",\"data_source\":\"/opt/npmplus\",\"nginx\":\"/usr/local/nginx/sbin/nginx\"}\nEDGE_CF_TOKEN_GATE={\"source_path\":\"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before\",\"valid_count\":1,\"zone_id_sha256\":\"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7\"}\nSTAGINGEDGE_BLOCKED_REASON=CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE\nFINAL_DECISION=BLOCKED_NEWFI_STAGING_EDGE_CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY5\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"BLOCKED\",\"version\":1}\n" + "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSB039_PVE01_REPO_CANDIDATES=[{\"branch\":\"cr-2026-0105-demonov-shadow-orchestrator\",\"dirty_count\":0,\"head\":\"559948bcb6baead49a47d9953b0cc0090e332fd7\",\"ls_remote_rc\":0,\"path\":\"/root/8020-demonov-shadow-bot\",\"remote_main\":\"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce\",\"slug_match\":true}]\nSB039_VM170_SNAPSHOT={\"exitcode\":0,\"report\":{\"decision\":\"DEPLOY_CONTRACT_EVIDENCE_READY\",\"deployed_source\":{\"lines\":1246,\"path\":\"/app/demonov_forward_map/bitfinex_trade_collector.py\",\"rc\":0,\"sha256\":\"d21cf0c3a0d4fcaf9210a57da04fd560dba4952ac1dd5a085abcc4e76ccf2eb0\"},\"docker_tools\":{\"compose\":{\"rc\":0,\"value\":\"2.26.1-4\"},\"docker\":{\"rc\":0,\"value\":\"26.1.5+dfsg1\"},\"python\":{\"rc\":0,\"value\":\"Python 3.13.5\"}},\"git_candidates\":[],\"holds\":[],\"hostname\":\"core-apps\",\"mutation_scope\":\"NONE_READ_ONLY\",\"relevant_stack_files\":[{\"bytes\":116,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile\",\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"},{\"bytes\":886,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/build.log\",\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"},{\"bytes\":7220,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":4101,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py\",\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"},{\"bytes\":8130,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"},{\"bytes\":841,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json\",\"sha256\":\"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa\"},{\"bytes\":584,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json\",\"sha256\":\"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e\"},{\"bytes\":3243,\"path\":\".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml\",\"sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\"},{\"bytes\":7220,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":8130,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"},{\"bytes\":3243,\"path\":\"compose.yaml\",\"sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\"},{\"bytes\":7220,\"path\":\"src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\"src/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\"src/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":8130,\"path\":\"src/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"}],\"repo_helpers\":[{\"bytes\":116,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile\",\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"},{\"bytes\":886,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/build.log\",\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"},{\"bytes\":7220,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":5837,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py\",\"sha256\":\"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9\"},{\"bytes\":165580,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py\",\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\"},{\"bytes\":4101,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py\",\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"},{\"bytes\":8130,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py\",\"sha256\":\"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6\"},{\"bytes\":841,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json\",\"sha256\":\"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa\"},{\"bytes\":584,\"path\":\".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json\",\"sha256\":\"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e\"},{\"bytes\":3243,\"path\":\".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml\",\"sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\"},{\"bytes\":7220,\"path\":\".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"},{\"bytes\":7220,\"path\":\"src/demonov_forward_map/experimental_design.py\",\"sha256\":\"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94\"}],\"runtime\":{\"compose_files\":[\"/opt/stacks/8020-demonov-shadow/compose.yaml\"],\"docker_ps_rc\":0,\"services\":[{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":13,\"running\":true,\"service\":\"collector\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"relay\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"restart_count\":0,\"running\":true,\"service\":\"worker\"}],\"working_dirs\":[\"/opt/stacks/8020-demonov-shadow\"]},\"runtime_manifest_source\":{\"/app/demonov_forward_map/live_prospective.py\":{\"classes\":[\"ExperimentProvenance\",\"LiveProspectiveStore\"],\"functions\":[{\"args\":[\"value\"],\"name\":\"_hash\"},{\"args\":[\"bar\"],\"name\":\"_bar_json\"},{\"args\":[\"line\"],\"name\":\"_line_json\"},{\"args\":[\"raw\"],\"name\":\"_line_from_json\"},{\"args\":[\"states\"],\"name\":\"_states_json\"},{\"args\":[\"raw\"],\"name\":\"_states_from_json\"}],\"lines\":851,\"sha256\":\"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98\"},\"/app/demonov_forward_map/runtime_manifest.py\":{\"classes\":[\"RuntimeDeploymentManifestV1\"],\"functions\":[{\"args\":[\"value\",\"name\"],\"name\":\"_required\"},{\"args\":[\"value\",\"name\"],\"name\":\"_sha256_hex\"},{\"args\":[\"value\",\"name\"],\"name\":\"_sha256_id\"},{\"args\":[\"manifest\"],\"name\":\"verify_runtime_manifest\"}],\"lines\":123,\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"}},\"safe_env\":{\"APP_IMAGE\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"CODE_IDENTITY\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"COLLECTION_START_AT\":\"2026-09-07T00:00:00+00:00\",\"EXPERIMENT_ID\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"RUNTIME_MANIFEST_ID\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"stack_exists\":true},\"state\":\"COMPLETE\"}\nSIGNALBOT039_HOLDS=[]\nSIGNALBOT039_DECISION=DEPLOY_CONTRACT_EVIDENCE_READY\nSIGNALBOT039_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 653f1b3b..8a7c1690 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5 -STATUS=BLOCKED -RC=2 +COMMAND_ID=SIGNALBOT-260908-DEPLOY-CONTRACT-RCA-039FIX1 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=newfi-staging-deterministic-certpath-route-dns +MODE=read-only +COMPONENT=signalbot-cr0116-deploy-contract-rca REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=444b6ad15c7a66e47630276a9ac4f4dccd2a6ca7e3a0844374895c472fdec62b +COMMAND_SHA256=ab870841e3fc4d8458e3a73a289797c6b526c8408e6625a9fb8193a60db0cef4 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=BLOCKED +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=2 +COMMAND_RC=0 CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null @@ -24,29 +24,17 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=abede6372eb4c5ed81ebbf003dcbee82e29b6d83e36c2150e1ce15e1aba1fece -SANITIZED_OUTPUT_SHA256=00aceebe4e8f4bf262c577492aa809afe66eb595143b4373bc08ff30354e94b9 +RAW_EVIDENCE_SHA256=c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598 +SANITIZED_OUTPUT_SHA256=c47217e0ea28617571d3fe88eaa947bfd51d45450101ee382fe3f77c9e3eb598 OUTPUT_BEGIN -STAGINGEDGE_APPLY5_BEGIN=true -COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY5 -COMPONENT=newfi-staging-deterministic-certpath-route-dns -MODE=change ERROR_REGISTER_CHECK=OK -ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 REFERENCE_CHECK=OK -REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d -PRIOR_STAGINGEDGE_APPLY4_HISTORY_SHA256=a40dbae4b1b72df8e334c74375add47c68c65cad133c83b81d403465e5c2bb6c -PORTAL_PRODUCT_STATE_GATE=PASS -NEWFI_STAGING_IDENTITY={"name":"newfi-staging","node":"pve03","vmid":211} -STAGING_BACKEND_PREFLIGHT={"ip":"[PRIVATE_IP]","local_http":"503"} -EDGE_VM_IDENTITY={"name":"edge-vm","node":"pve03","vmid":130} -NPMPLUS_PREFLIGHT={"container":"npmplus","data_source":"/opt/npmplus","nginx":"/usr/local/nginx/sbin/nginx"} -EDGE_CF_TOKEN_GATE={"source_path":"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before","valid_count":1,"zone_id_sha256":"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7"} -STAGINGEDGE_BLOCKED_REASON=CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE -FINAL_DECISION=BLOCKED_NEWFI_STAGING_EDGE_CERTBOT_ROOT_PRESTATE_UNSAFE:UNSAFE_EXISTING_STATE -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY5","rollback_restored":null,"rollback_started":false,"status":"BLOCKED","version":1} +SB039_PVE01_REPO_CANDIDATES=[{"branch":"cr-2026-0105-demonov-shadow-orchestrator","dirty_count":0,"head":"559948bcb6baead49a47d9953b0cc0090e332fd7","ls_remote_rc":0,"path":"/root/8020-demonov-shadow-bot","remote_main":"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce","slug_match":true}] +SB039_VM170_SNAPSHOT={"exitcode":0,"report":{"decision":"DEPLOY_CONTRACT_EVIDENCE_READY","deployed_source":{"lines":1246,"path":"/app/demonov_forward_map/bitfinex_trade_collector.py","rc":0,"sha256":"d21cf0c3a0d4fcaf9210a57da04fd560dba4952ac1dd5a085abcc4e76ccf2eb0"},"docker_tools":{"compose":{"rc":0,"value":"2.26.1-4"},"docker":{"rc":0,"value":"26.1.5+dfsg1"},"python":{"rc":0,"value":"Python 3.13.5"}},"git_candidates":[],"holds":[],"hostname":"core-apps","mutation_scope":"NONE_READ_ONLY","relevant_stack_files":[{"bytes":116,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile","sha256":"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8"},{"bytes":886,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/build.log","sha256":"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb"},{"bytes":7220,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":4101,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py","sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"},{"bytes":8130,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"},{"bytes":841,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json","sha256":"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa"},{"bytes":584,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json","sha256":"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e"},{"bytes":3243,"path":".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml","sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061"},{"bytes":7220,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":8130,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"},{"bytes":3243,"path":"compose.yaml","sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061"},{"bytes":7220,"path":"src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":"src/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":"src/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":8130,"path":"src/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"}],"repo_helpers":[{"bytes":116,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/Dockerfile","sha256":"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8"},{"bytes":886,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/build.log","sha256":"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb"},{"bytes":7220,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":5837,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/producer_runtime.py","sha256":"f402ccede19fa467284064b5eca123cfd20da9ce0c8716982f2909297b4916f9"},{"bytes":165580,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_integrity.py","sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e"},{"bytes":4101,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/runtime_manifest.py","sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"},{"bytes":8130,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/demonov_forward_map/shadow_delivery_runtime.py","sha256":"e534f592f60505b1cc42f25be2043ecaeaa7b4a7773af8826b274810a8ae1da6"},{"bytes":841,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/experiment.json","sha256":"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa"},{"bytes":584,"path":".deploy/SIGNALBOT-260906-DEPLOY-022/runtime_manifest.json","sha256":"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e"},{"bytes":3243,"path":".rollback/SIGNALBOT-260906-DEPLOY-022/compose.yaml","sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061"},{"bytes":7220,"path":".weekly/SIGNALBOT-260906-WEEKLY-LEGACY-030/src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"},{"bytes":7220,"path":"src/demonov_forward_map/experimental_design.py","sha256":"6e50bdb6d60c3caa76f24b8ea6d6d6f8c393cfd6526a091e937590b130194a94"}],"runtime":{"compose_files":["/opt/stacks/8020-demonov-shadow/compose.yaml"],"docker_ps_rc":0,"services":[{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":13,"running":true,"service":"collector"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":0,"running":true,"service":"relay"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":0,"running":true,"service":"shadow"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","restart_count":0,"running":true,"service":"worker"}],"working_dirs":["/opt/stacks/8020-demonov-shadow"]},"runtime_manifest_source":{"/app/demonov_forward_map/live_prospective.py":{"classes":["ExperimentProvenance","LiveProspectiveStore"],"functions":[{"args":["value"],"name":"_hash"},{"args":["bar"],"name":"_bar_json"},{"args":["line"],"name":"_line_json"},{"args":["raw"],"name":"_line_from_json"},{"args":["states"],"name":"_states_json"},{"args":["raw"],"name":"_states_from_json"}],"lines":851,"sha256":"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98"},"/app/demonov_forward_map/runtime_manifest.py":{"classes":["RuntimeDeploymentManifestV1"],"functions":[{"args":["value","name"],"name":"_required"},{"args":["value","name"],"name":"_sha256_hex"},{"args":["value","name"],"name":"_sha256_id"},{"args":["manifest"],"name":"verify_runtime_manifest"}],"lines":123,"sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"}},"safe_env":{"APP_IMAGE":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","CODE_IDENTITY":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","COLLECTION_START_AT":"2026-09-07T00:00:00+00:00","EXPERIMENT_ID":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","RUNTIME_MANIFEST_ID":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"stack_exists":true},"state":"COMPLETE"} +SIGNALBOT039_HOLDS=[] +SIGNALBOT039_DECISION=DEPLOY_CONTRACT_EVIDENCE_READY +SIGNALBOT039_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION OUTPUT_END CHAT_OUTPUT_END