39 lines
10 KiB
JSON
39 lines
10 KiB
JSON
{
|
|
"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"
|
|
}
|