From 6508d5e1d25e102a0f72f914f026d890c649d960 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Tue, 8 Sep 2026 06:27:46 +0000 Subject: [PATCH] runtime: publish SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL --- ...T-260908-DEPLOY-PREP-DETAIL-041DETAIL.json | 38 ++++++++++++++ ...OT-260908-DEPLOY-PREP-DETAIL-041DETAIL.txt | 52 +++++++++++++++++++ runtime/latest.json | 16 +++--- runtime/latest.txt | 49 ++++++++--------- 4 files changed, 120 insertions(+), 35 deletions(-) create mode 100644 runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.json create mode 100644 runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.txt diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.json b/runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.json new file mode 100644 index 00000000..6448d485 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "signalbot-cr0116-deploy-prep-detail", + "started_at_utc": "2026-09-08T06:27:44Z", + "finished_at_utc": "2026-09-08T06:27:46Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "897dd750d0459b4a65e5a8aae482b95a07d371ca5b5615eeede31d8045ace279", + "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": "be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e", + "sanitized_output_sha256": "be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e", + "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\nSB041D_ACTIVE_ENV={\"exists\":true,\"sha256\":\"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b\",\"values\":{\"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\"}}\nSB041D_OLD_ENV_NEW={\"exists\":true,\"sha256\":\"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b\",\"values\":{\"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\"}}\nSB041D_DOCKERFILE={\"exists\":true,\"instructions\":[{\"arg\":\"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"op\":\"FROM\"},{\"arg\":\"demonov_forward_map /app/demonov_forward_map\",\"op\":\"COPY\"}],\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"}\nSB041D_BUILD_LOG={\"exists\":true,\"selected_lines\":[\"#7 exporting to image\",\"#7 writing image sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736 done\",\"#7 naming to docker.io/library/8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70 done\"],\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"}\nSB041D_DEPLOY_FILES={\"exists\":true,\"files\":[\".env.new\",\"Dockerfile\",\"build.log\",\"compose-up.log\",\"demonov_forward_map/__init__.py\",\"demonov_forward_map/bars.py\",\"demonov_forward_map/bitfinex_trade_collector.py\",\"demonov_forward_map/bot_orchestrator.py\",\"demonov_forward_map/canonical_hash.py\",\"demonov_forward_map/checkpoints.py\",\"demonov_forward_map/code_identity.py\",\"demonov_forward_map/consumer_scaling.py\",\"demonov_forward_map/demonov_multiarm.py\",\"demonov_forward_map/domain.py\",\"demonov_forward_map/engine.py\",\"demonov_forward_map/evaluation_freeze.py\",\"demonov_forward_map/event_stream.py\",\"demonov_forward_map/evidence_finality.py\",\"demonov_forward_map/execution_transcript.py\",\"demonov_forward_map/experimental_design.py\",\"demonov_forward_map/incremental_info.py\",\"demonov_forward_map/inference.py\",\"demonov_forward_map/ledger.py\",\"demonov_forward_map/live_d1_finality.py\",\"demonov_forward_map/live_health.py\",\"demonov_forward_map/live_market_adapters.py\",\"demonov_forward_map/live_prospective.py\",\"demonov_forward_map/live_schema.py\",\"demonov_forward_map/live_worker.py\",\"demonov_forward_map/notification_relay.py\",\"demonov_forward_map/numeric.py\",\"demonov_forward_map/opportunity_adapter.py\",\"demonov_forward_map/outbox_delivery.py\",\"demonov_forward_map/producer_core.py\",\"demonov_forward_map/producer_policy.py\",\"demonov_forward_map/producer_runtime.py\",\"demonov_forward_map/producer_state.py\",\"demonov_forward_map/profiles.py\",\"demonov_forward_map/projection_binding.py\",\"demonov_forward_map/proof_completeness.py\",\"demonov_forward_map/prospective_fsm.py\",\"demonov_forward_map/prospective_ledger.py\",\"demonov_forward_map/prospective_market.py\",\"demonov_forward_map/prospective_policy.py\",\"demonov_forward_map/registry.py\",\"demonov_forward_map/replay_integrity.py\",\"demonov_forward_map/research_geometry.py\",\"demonov_forward_map/router.py\",\"demonov_forward_map/runtime_integrity.py\",\"demonov_forward_map/runtime_manifest.py\",\"demonov_forward_map/selectors.py\",\"demonov_forward_map/shadow.py\",\"demonov_forward_map/shadow_delivery_runtime.py\",\"demonov_forward_map/shadow_mail.py\",\"demonov_forward_map/shadow_service.py\",\"demonov_forward_map/signal_consensus.py\",\"demonov_forward_map/signal_outbox.py\",\"demonov_forward_map/spatial_policy.py\",\"demonov_forward_map/target_resolver.py\",\"demonov_forward_map/weekly_report.py\",\"demonov_forward_map/zones.py\",\"experiment.json\",\"package.tar.gz\",\"runtime_manifest.json\"]}\nSB041D_EPOCH={\"exists\":true,\"path\":\"/opt/stacks/8020-demonov-shadow/data/epochs/ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\"}\nSB041D_EPOCH_JSON={\"experiment.json\":{\"bytes\":841,\"exists\":true,\"keys\":[\"code_identity\",\"collection_start_at\",\"demonov_branch_policy_id\",\"experiment_id\",\"experiment_version\",\"finality_policy_id\",\"geometry_policy_id\",\"market_bundle_id\",\"notification_policy_id\",\"outcome_policy_id\",\"policy_registry_id\",\"runtime_manifest_id\"],\"safe_object\":{\"code_identity\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"collection_start_at\":\"2026-09-07T00:00:00+00:00\",\"demonov_branch_policy_id\":\"ALL_FROZEN_PROFILES_ALL_NODES_RESEARCH_V1\",\"experiment_id\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"experiment_version\":\"LIVE_PROSPECTIVE_V2\",\"finality_policy_id\":\"BITFINEX_SEQ_ALL_D1_V1\",\"geometry_policy_id\":\"RESEARCH_RECONSTRUCTION_8020_V1\",\"market_bundle_id\":\"78dbbebab22f49bfc4866b40e2362886b1441790d8a73a005a4eb09a5d2c64ae\",\"notification_policy_id\":\"SIGNIFICANT_STATE_CHANGE_EMAIL_V1\",\"outcome_policy_id\":\"DIRECTIONAL_CLOSE_AFTER_7_D1_BARS_V1\",\"policy_registry_id\":\"055d0b052d394f1e08176b035617fbdd96f04fff0cdfb195c2d736fd66e6ad37\",\"runtime_manifest_id\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"sha256\":\"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa\",\"type\":\"dict\"},\"runtime_manifest.json\":{\"bytes\":584,\"exists\":true,\"keys\":[\"application_image_id\",\"base_image_digest\",\"code_identity\",\"compose_hash\",\"finality_policy_id\",\"package_identity\",\"runtime_manifest_id\"],\"safe_object\":{\"application_image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"base_image_digest\":\"sha256:881d80734ee05dca6f7f42dcb080975652a53c7eda9ba1f03bb8da31aa6a6ec2\",\"code_identity\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"compose_hash\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\",\"finality_policy_id\":\"BITFINEX_SEQ_ALL_D1_V1\",\"package_identity\":\"637acba19fb29c98408a8031dc9265a31dc36551c666fcf0b287e8af83d2b893\",\"runtime_manifest_id\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"sha256\":\"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e\",\"type\":\"dict\"},\"service_boot.json\":{\"bytes\":224,\"exists\":true,\"keys\":[\"booted_at\",\"code_identity\",\"execution_authority\",\"production_launch_allowed\",\"risk_authority\",\"service\"],\"safe_object\":{\"booted_at\":\"2026-09-06T18:48:21.063302+00:00\",\"code_identity\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"execution_authority\":false,\"production_launch_allowed\":false,\"risk_authority\":false,\"service\":\"8020-demonov-shadow\"},\"sha256\":\"798a145e6c142bea2cd41a74a3fa707452da9a606cc84ff6afd1d60b43abb1f8\",\"type\":\"dict\"}}\nSB041D_MANIFEST_HASH_CONTRACT=[{\"matches_expected\":false,\"method\":\"compact_sorted\",\"sha256\":\"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5\"},{\"matches_expected\":false,\"method\":\"compact_sorted_ascii\",\"sha256\":\"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5\"},{\"matches_expected\":false,\"method\":\"default_sorted\",\"sha256\":\"a68890d9717e29ac1db356e9e17f2fc10408327f8d8707caddbeb330e433d524\"},{\"matches_expected\":false,\"method\":\"indent2_sorted\",\"sha256\":\"caaafb8613f463a4ed2915d1ccce0010e7945bb5058d67721a41fa3bb0d80188\"}]\nSB041D_EXPERIMENT_HASH_CONTRACT=[{\"matches_expected\":true,\"method\":\"compact_sorted\",\"sha256\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\"},{\"matches_expected\":true,\"method\":\"compact_sorted_ascii\",\"sha256\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\"},{\"matches_expected\":false,\"method\":\"default_sorted\",\"sha256\":\"bcce3a27298e277b694ea2fb5848b912ad2816fd249c14a4617a0951b1d4dc4d\"},{\"matches_expected\":false,\"method\":\"indent2_sorted\",\"sha256\":\"4ee2673c98107eb0bf81ebc4ef4e57b47670247bc90e0be2e4be5ed3d1348129\"}]\nSB041D_COLLECTOR={\"count\":1,\"name\":\"demonov-shadow-8020-collector-1\"}\nSB041D_RUNTIME_MANIFEST_API={\"classes\":[\"RuntimeDeploymentManifestV1\"],\"functions\":[{\"args\":[\"value\",\"name\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_required\"},{\"args\":[\"value\",\"name\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_sha256_hex\"},{\"args\":[\"value\",\"name\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_sha256_id\"},{\"args\":[\"manifest\"],\"defaults\":0,\"kwonly\":[\"expected_code_identity\",\"actual_image_id\",\"actual_package_identity\"],\"name\":\"verify_runtime_manifest\"}],\"lines\":123,\"rc\":0,\"safe_constants\":{},\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"}\nSB041D_LIVE_PROSPECTIVE_API={\"classes\":[\"ExperimentProvenance\",\"LiveProspectiveStore\"],\"functions\":[{\"args\":[\"value\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_hash\"},{\"args\":[\"bar\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_bar_json\"},{\"args\":[\"line\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_line_json\"},{\"args\":[\"raw\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_line_from_json\"},{\"args\":[\"states\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_states_json\"},{\"args\":[\"raw\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_states_from_json\"}],\"lines\":851,\"rc\":0,\"safe_constants\":{},\"sha256\":\"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98\"}\nSB041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY\nSB041D_MUTATION_SCOPE=NONE_READ_ONLY\nSIGNALBOT041D_HOLDS=[]\nSIGNALBOT041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY\nSIGNALBOT041D_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\n" +} diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.txt b/runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.txt new file mode 100644 index 00000000..6f18ce61 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL.txt @@ -0,0 +1,52 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-cr0116-deploy-prep-detail +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=897dd750d0459b4a65e5a8aae482b95a07d371ca5b5615eeede31d8045ace279 +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=be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e +SANITIZED_OUTPUT_SHA256=be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e +OUTPUT_BEGIN +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +SB041D_ACTIVE_ENV={"exists":true,"sha256":"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b","values":{"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"}} +SB041D_OLD_ENV_NEW={"exists":true,"sha256":"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b","values":{"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"}} +SB041D_DOCKERFILE={"exists":true,"instructions":[{"arg":"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d","op":"FROM"},{"arg":"demonov_forward_map /app/demonov_forward_map","op":"COPY"}],"sha256":"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8"} +SB041D_BUILD_LOG={"exists":true,"selected_lines":["#7 exporting to image","#7 writing image sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736 done","#7 naming to docker.io/library/8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70 done"],"sha256":"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb"} +SB041D_DEPLOY_FILES={"exists":true,"files":[".env.new","Dockerfile","build.log","compose-up.log","demonov_forward_map/__init__.py","demonov_forward_map/bars.py","demonov_forward_map/bitfinex_trade_collector.py","demonov_forward_map/bot_orchestrator.py","demonov_forward_map/canonical_hash.py","demonov_forward_map/checkpoints.py","demonov_forward_map/code_identity.py","demonov_forward_map/consumer_scaling.py","demonov_forward_map/demonov_multiarm.py","demonov_forward_map/domain.py","demonov_forward_map/engine.py","demonov_forward_map/evaluation_freeze.py","demonov_forward_map/event_stream.py","demonov_forward_map/evidence_finality.py","demonov_forward_map/execution_transcript.py","demonov_forward_map/experimental_design.py","demonov_forward_map/incremental_info.py","demonov_forward_map/inference.py","demonov_forward_map/ledger.py","demonov_forward_map/live_d1_finality.py","demonov_forward_map/live_health.py","demonov_forward_map/live_market_adapters.py","demonov_forward_map/live_prospective.py","demonov_forward_map/live_schema.py","demonov_forward_map/live_worker.py","demonov_forward_map/notification_relay.py","demonov_forward_map/numeric.py","demonov_forward_map/opportunity_adapter.py","demonov_forward_map/outbox_delivery.py","demonov_forward_map/producer_core.py","demonov_forward_map/producer_policy.py","demonov_forward_map/producer_runtime.py","demonov_forward_map/producer_state.py","demonov_forward_map/profiles.py","demonov_forward_map/projection_binding.py","demonov_forward_map/proof_completeness.py","demonov_forward_map/prospective_fsm.py","demonov_forward_map/prospective_ledger.py","demonov_forward_map/prospective_market.py","demonov_forward_map/prospective_policy.py","demonov_forward_map/registry.py","demonov_forward_map/replay_integrity.py","demonov_forward_map/research_geometry.py","demonov_forward_map/router.py","demonov_forward_map/runtime_integrity.py","demonov_forward_map/runtime_manifest.py","demonov_forward_map/selectors.py","demonov_forward_map/shadow.py","demonov_forward_map/shadow_delivery_runtime.py","demonov_forward_map/shadow_mail.py","demonov_forward_map/shadow_service.py","demonov_forward_map/signal_consensus.py","demonov_forward_map/signal_outbox.py","demonov_forward_map/spatial_policy.py","demonov_forward_map/target_resolver.py","demonov_forward_map/weekly_report.py","demonov_forward_map/zones.py","experiment.json","package.tar.gz","runtime_manifest.json"]} +SB041D_EPOCH={"exists":true,"path":"/opt/stacks/8020-demonov-shadow/data/epochs/ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338"} +SB041D_EPOCH_JSON={"experiment.json":{"bytes":841,"exists":true,"keys":["code_identity","collection_start_at","demonov_branch_policy_id","experiment_id","experiment_version","finality_policy_id","geometry_policy_id","market_bundle_id","notification_policy_id","outcome_policy_id","policy_registry_id","runtime_manifest_id"],"safe_object":{"code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","collection_start_at":"2026-09-07T00:00:00+00:00","demonov_branch_policy_id":"ALL_FROZEN_PROFILES_ALL_NODES_RESEARCH_V1","experiment_id":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","experiment_version":"LIVE_PROSPECTIVE_V2","finality_policy_id":"BITFINEX_SEQ_ALL_D1_V1","geometry_policy_id":"RESEARCH_RECONSTRUCTION_8020_V1","market_bundle_id":"78dbbebab22f49bfc4866b40e2362886b1441790d8a73a005a4eb09a5d2c64ae","notification_policy_id":"SIGNIFICANT_STATE_CHANGE_EMAIL_V1","outcome_policy_id":"DIRECTIONAL_CLOSE_AFTER_7_D1_BARS_V1","policy_registry_id":"055d0b052d394f1e08176b035617fbdd96f04fff0cdfb195c2d736fd66e6ad37","runtime_manifest_id":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"sha256":"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa","type":"dict"},"runtime_manifest.json":{"bytes":584,"exists":true,"keys":["application_image_id","base_image_digest","code_identity","compose_hash","finality_policy_id","package_identity","runtime_manifest_id"],"safe_object":{"application_image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","base_image_digest":"sha256:881d80734ee05dca6f7f42dcb080975652a53c7eda9ba1f03bb8da31aa6a6ec2","code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","compose_hash":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061","finality_policy_id":"BITFINEX_SEQ_ALL_D1_V1","package_identity":"637acba19fb29c98408a8031dc9265a31dc36551c666fcf0b287e8af83d2b893","runtime_manifest_id":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"sha256":"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e","type":"dict"},"service_boot.json":{"bytes":224,"exists":true,"keys":["booted_at","code_identity","execution_authority","production_launch_allowed","risk_authority","service"],"safe_object":{"booted_at":"2026-09-06T18:48:21.063302+00:00","code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","execution_authority":false,"production_launch_allowed":false,"risk_authority":false,"service":"8020-demonov-shadow"},"sha256":"798a145e6c142bea2cd41a74a3fa707452da9a606cc84ff6afd1d60b43abb1f8","type":"dict"}} +SB041D_MANIFEST_HASH_CONTRACT=[{"matches_expected":false,"method":"compact_sorted","sha256":"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5"},{"matches_expected":false,"method":"compact_sorted_ascii","sha256":"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5"},{"matches_expected":false,"method":"default_sorted","sha256":"a68890d9717e29ac1db356e9e17f2fc10408327f8d8707caddbeb330e433d524"},{"matches_expected":false,"method":"indent2_sorted","sha256":"caaafb8613f463a4ed2915d1ccce0010e7945bb5058d67721a41fa3bb0d80188"}] +SB041D_EXPERIMENT_HASH_CONTRACT=[{"matches_expected":true,"method":"compact_sorted","sha256":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338"},{"matches_expected":true,"method":"compact_sorted_ascii","sha256":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338"},{"matches_expected":false,"method":"default_sorted","sha256":"bcce3a27298e277b694ea2fb5848b912ad2816fd249c14a4617a0951b1d4dc4d"},{"matches_expected":false,"method":"indent2_sorted","sha256":"4ee2673c98107eb0bf81ebc4ef4e57b47670247bc90e0be2e4be5ed3d1348129"}] +SB041D_COLLECTOR={"count":1,"name":"demonov-shadow-8020-collector-1"} +SB041D_RUNTIME_MANIFEST_API={"classes":["RuntimeDeploymentManifestV1"],"functions":[{"args":["value","name"],"defaults":0,"kwonly":[],"name":"_required"},{"args":["value","name"],"defaults":0,"kwonly":[],"name":"_sha256_hex"},{"args":["value","name"],"defaults":0,"kwonly":[],"name":"_sha256_id"},{"args":["manifest"],"defaults":0,"kwonly":["expected_code_identity","actual_image_id","actual_package_identity"],"name":"verify_runtime_manifest"}],"lines":123,"rc":0,"safe_constants":{},"sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"} +SB041D_LIVE_PROSPECTIVE_API={"classes":["ExperimentProvenance","LiveProspectiveStore"],"functions":[{"args":["value"],"defaults":0,"kwonly":[],"name":"_hash"},{"args":["bar"],"defaults":0,"kwonly":[],"name":"_bar_json"},{"args":["line"],"defaults":0,"kwonly":[],"name":"_line_json"},{"args":["raw"],"defaults":0,"kwonly":[],"name":"_line_from_json"},{"args":["states"],"defaults":0,"kwonly":[],"name":"_states_json"},{"args":["raw"],"defaults":0,"kwonly":[],"name":"_states_from_json"}],"lines":851,"rc":0,"safe_constants":{},"sha256":"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98"} +SB041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY +SB041D_MUTATION_SCOPE=NONE_READ_ONLY +SIGNALBOT041D_HOLDS=[] +SIGNALBOT041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY +SIGNALBOT041D_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 149c87ba..6448d485 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260908-A-STAGINGEDGE-FORENSIC1", + "command_id": "SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", - "component": "newfi-staging-certbot-native-forensic-readonly", - "started_at_utc": "2026-09-08T06:25:53Z", - "finished_at_utc": "2026-09-08T06:26:12Z", + "component": "signalbot-cr0116-deploy-prep-detail", + "started_at_utc": "2026-09-08T06:27:44Z", + "finished_at_utc": "2026-09-08T06:27:46Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "83f54a894aedb86ad7c09cfc9290485b6778cb2a2643ae41fdc727b084e37675", + "command_sha256": "897dd750d0459b4a65e5a8aae482b95a07d371ca5b5615eeede31d8045ace279", "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": "cecd7aa5e99b011df8cbd6fefcaa71cd77f1d11ffc1967427d8d2f52ceb01cca", - "sanitized_output_sha256": "3eb0c4af0deff2f95b75c2a823efdb3548b1f728d7675c59adc5349153934aa7", + "raw_evidence_sha256": "be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e", + "sanitized_output_sha256": "be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "FORENSIC_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-FORENSIC1\nMODE=read-only\nMUTATIONS_PERFORMED=NO\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nPRIOR_APPLY8_GATE=PASS\nPRIOR_APPLY8_HISTORY_SHA256=174d27103f2cd6ba6e684b43f7542fcf8ec644fd9396fbbc4f9dd8843900a5f2\nPRIOR_APPLY8_FAILURE=ChangeError:NATIVE_CERTBOT_CERTPATH_VERIFY_FAIL:1:\nSTAGING_HOSTNAME={\"err\":\"\",\"out\":\"newfi-staging\",\"rc\":0}\nSTAGING_LOCAL_HTTP={\"err\":\"\",\"http\":\"503\",\"rc\":0}\nSTAGING_IP_JSON={\"err\":\"\",\"out\":\"[{\\\"ifindex\\\":2,\\\"ifname\\\":\\\"eth0\\\",\\\"flags\\\":[\\\"BROADCAST\\\",\\\"MULTICAST\\\",\\\"UP\\\",\\\"LOWER_UP\\\"],\\\"mtu\\\":1500,\\\"qdisc\\\":\\\"fq_codel\\\",\\\"operstate\\\":\\\"UP\\\",\\\"group\\\":\\\"default\\\",\\\"txqlen\\\":1000,\\\"altnames\\\":[\\\"enp0s18\\\",\\\"ens18\\\"],\\\"addr_info\\\":[{\\\"family\\\":\\\"inet\\\",\\\"local\\\":\\\"[PRIVATE_IP]\\\",\\\"prefixlen\\\":24,\\\"broadcast\\\":\\\"[PRIVATE_IP]\\\",\\\"scope\\\":\\\"global\\\",\\\"label\\\":\\\"eth0\\\",\\\"valid_life_time\\\":4294967295,\\\"preferred_life_time\\\":4294967295}]}]\",\"rc\":0}\nEDGE_HOSTNAME={\"err\":\"\",\"out\":\"edge-vm\",\"rc\":0}\nNPMPLUS_RUNTIME={\"err\":\"\",\"out\":\"{\\\"Command\\\":\\\"\\\\\\\"tini -- entrypoint.…\\\\\\\"\\\",\\\"CreatedAt\\\":\\\"2026-07-03 02:15:05 +0300 MSK\\\",\\\"HealthStatus\\\":\\\"healthy\\\",\\\"ID\\\":\\\"2f18b3d7f386\\\",\\\"Image\\\":\\\"zoeyvid/npmplus:2026-06-17-b1\\\",\\\"Labels\\\":\\\"com.centurylinklabs.watchtower.monitor-only=true,com.docker.compose.config-hash=3c289a3eb787a27fee3e84d3bc60b516ce18a1f7b054faa4a9a0b36ae74d9671,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:058637924fae1dbf161d1d78c84b738d86804e9a0ddad66cf7c87cbe33337834,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/stacks/npmplus/compose.yaml,com.docker.compose.project.working_dir=/opt/stacks/npmplus,com.docker.compose.project=npmplus,com.docker.compose.replace=npmplus,com.docker.compose.service=npmplus,com.docker.compose.version=5.1.4,wud.watch.digest=false,wud.watch=false\\\",\\\"LocalVolumes\\\":\\\"0\\\",\\\"Mounts\\\":\\\"/opt/npmplus\\\",\\\"Names\\\":\\\"npmplus\\\",\\\"Networks\\\":\\\"host\\\",\\\"Platform\\\":{\\\"architecture\\\":\\\"amd64\\\",\\\"os\\\":\\\"linux\\\"},\\\"Ports\\\":\\\"\\\",\\\"RunningFor\\\":\\\"2 months ago\\\",\\\"Size\\\":\\\"146MB (virtual 413MB)\\\",\\\"State\\\":\\\"running\\\",\\\"Status\\\":\\\"Up 10 days (healthy)\\\"}\\n[{\\\"Type\\\":\\\"bind\\\",\\\"Source\\\":\\\"/opt/npmplus\\\",\\\"Destination\\\":\\\"/data\\\",\\\"Mode\\\":\\\"rw\\\",\\\"RW\\\":true,\\\"Propagation\\\":\\\"rprivate\\\"}]\\ndocker.io/zoeyvid/npmplus:2026-06-17-b1 sha256:058637924fae1dbf161d1d78c84b738d86804e9a0ddad66cf7c87cbe33337834\",\"rc\":0}\nCERTBOT_NATIVE_INSPECTION={\"err\":\"\",\"out\":\"--- VERSION ---\\n/usr/local/bin/certbot\\ncertbot 5.7.0\\n--- CERTBOT_INI ---\\nlogs-dir = /tmp/certbot-log\\nwork-dir = /tmp/certbot-work\\nconfig-dir = /data/tls/certbot\\nwebroot-path = /data/tls/certbot/acme-challenge\\n\\nagree-tos = true\\nnon-interactive = true\\nno-random-sleep-on-renew = true\\nno-eff-email = true\\n\\nrsa-key-size = 4096\\nelliptic-curve = secp384r1\\n\\nrequired-profile = classic\\nkey-type = ecdsa\\nmust-staple = false\\nno-verify-ssl = false\\n--- PLUGINS ---\\nSaving debug log to /var/log/letsencrypt/letsencrypt.log\\n\\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\n* dns-cloudflare\\nDescription: Obtain certificates using a DNS TXT record (if you are using\\nCloudflare for DNS).\\nInterfaces: Authenticator, Plugin\\nEntry point: EntryPoint(name='dns-cloudflare',\\nvalue='certbot_dns_cloudflare._internal.dns_cloudflare:Authenticator',\\ngroup='certbot.plugins')\\n\\n* standalone\\nDescription: Runs an HTTP server locally which serves the necessary validation\\nfiles under the /.well-known/acme-challenge/ request path. Suitable if there is\\nno HTTP server already running. HTTP challenge only (wildcards not supported).\\nInterfaces: Authenticator, Plugin\\nEntry point: EntryPoint(name='standalone',\\nvalue='certbot._internal.plugins.standalone:Authenticator',\\ngroup='certbot.plugins')\\n\\n* webroot\\nDescription: Saves the necessary validation files to a\\n.well-known/acme-challenge/ directory within the nominated webroot path. A\\nseparate HTTP server must be running and serving files from the webroot path.\\nHTTP challenge only (wildcards not supported).\\nInterfaces: Authenticator, Plugin\\nEntry point: EntryPoint(name='webroot',\\nvalue='certbot._internal.plugins.webroot:Authenticator',\\ngroup='certbot.plugins')\\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\n--- NATIVE_TREE ---\\nd /opt/npmplus/tls/certbot -> \\nd /opt/npmplus/tls/certbot/accounts -> \\nd /opt/npmplus/tls/certbot/accounts/acme-staging-v02.api.letsencrypt.org -> \\nd /opt/npmplus/tls/certbot/accounts/acme-staging-v02.api.letsencrypt.org/directory -> \\nd /opt/npmplus/tls/certbot/accounts/acme-staging-v02.api.letsencrypt.org/directory/c26218024b9a40b6dabb4d8c9e26cf82 -> \\nd /opt/npmplus/tls/certbot/accounts/acme-v02.api.letsencrypt.org -> \\nd /opt/npmplus/tls/certbot/accounts/acme-v02.api.letsencrypt.org/directory -> \\nd /opt/npmplus/tls/certbot/accounts/acme-v02.api.letsencrypt.org/directory/4a42f24bfe91d8100367cf4c8041f2dd -> \\nd /opt/npmplus/tls/certbot/acme-challenge -> \\nd /opt/npmplus/tls/certbot/acme-challenge/.well-known -> \\nd /opt/npmplus/tls/certbot/acme-challenge/.well-known/acme-challenge -> \\nd /opt/npmplus/tls/certbot/archive -> \\nd /opt/npmplus/tls/certbot/archive/hbarhub.ru -> \\nd /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru -> \\nd /opt/npmplus/tls/certbot/archive/newfilya.ru -> \\nd /opt/npmplus/tls/certbot/archive/npm-17 -> \\nd /opt/npmplus/tls/certbot/archive/npm-18 -> \\nd /opt/npmplus/tls/certbot/archive/npm-21 -> \\nd /opt/npmplus/tls/certbot/archive/npm-26 -> \\nd /opt/npmplus/tls/certbot/archive/npm-27 -> \\nd /opt/npmplus/tls/certbot/archive/npm-29 -> \\nd /opt/npmplus/tls/certbot/archive/npm-30 -> \\nd /opt/npmplus/tls/certbot/archive/npm-31 -> \\nd /opt/npmplus/tls/certbot/archive/npm-32 -> \\nd /opt/npmplus/tls/certbot/archive/npm-35 -> \\nd /opt/npmplus/tls/certbot/archive/npm-38 -> \\nd /opt/npmplus/tls/certbot/credentials -> \\nd /opt/npmplus/tls/certbot/live -> \\nd /opt/npmplus/tls/certbot/live/hbarhub.ru -> \\nd /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru -> \\nd /opt/npmplus/tls/certbot/live/newfilya.ru -> \\nd /opt/npmplus/tls/certbot/live/npm-17 -> \\nd /opt/npmplus/tls/certbot/live/npm-18 -> \\nd /opt/npmplus/tls/certbot/live/npm-21 -> \\nd /opt/npmplus/tls/certbot/live/npm-26 -> \\nd /opt/npmplus/tls/certbot/live/npm-27 -> \\nd /opt/npmplus/tls/certbot/live/npm-29 -> \\nd /opt/npmplus/tls/certbot/live/npm-30 -> \\nd /opt/npmplus/tls/certbot/live/npm-31 -> \\nd /opt/npmplus/tls/certbot/live/npm-32 -> \\nd /opt/npmplus/tls/certbot/live/npm-35 -> \\nd /opt/npmplus/tls/certbot/live/npm-38 -> \\nd /opt/npmplus/tls/certbot/logs -> \\nd /opt/npmplus/tls/certbot/renewal -> \\nd /opt/npmplus/tls/certbot/renewal-hooks -> \\nd /opt/npmplus/tls/certbot/renewal-hooks/deploy -> \\nd /opt/npmplus/tls/certbot/renewal-hooks/post -> \\nd /opt/npmplus/tls/certbot/renewal-hooks/pre -> \\nd /opt/npmplus/tls/certbot/work -> \\nf /opt/npmplus/tls/certbot/acme-challenge/.well-known/acme-challenge/test-challenge -> \\nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/cert1.pem -> \\nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/chain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/fullchain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/privkey1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/cert1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/chain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/fullchain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/privkey1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfilya.ru/cert1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfilya.ru/chain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfilya.ru/fullchain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/newfilya.ru/privkey1.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-17/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-17/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-17/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-17/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-18/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-18/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-18/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-18/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-21/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-21/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-21/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-21/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-26/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-26/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-26/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-26/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-27/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-27/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-27/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-27/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-29/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-29/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-29/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-29/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-30/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-30/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-30/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-30/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-31/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-31/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-31/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-31/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-32/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-32/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-32/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-32/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-35/cert2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-35/chain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-35/fullchain2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-35/privkey2.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-38/cert1.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-38/chain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-38/fullchain1.pem -> \\nf /opt/npmplus/tls/certbot/archive/npm-38/privkey1.pem -> \\nf /opt/npmplus/tls/certbot/credentials/cloudflare-gram1.ini -> \\nf /opt/npmplus/tls/certbot/live/README -> \\nf /opt/npmplus/tls/certbot/live/hbarhub.ru/README -> \\nf /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/README -> \\nf /opt/npmplus/tls/certbot/live/newfilya.ru/README -> \\nf /opt/npmplus/tls/certbot/live/npm-17/README -> \\nf /opt/npmplus/tls/certbot/live/npm-18/README -> \\nf /opt/npmplus/tls/certbot/live/npm-21/README -> \\nf /opt/npmplus/tls/certbot/live/npm-26/README -> \\nf /opt/npmplus/tls/certbot/live/npm-27/README -> \\nf /opt/npmplus/tls/certbot/live/npm-29/README -> \\nf /opt/npmplus/tls/certbot/live/npm-30/README -> \\nf /opt/npmplus/tls/certbot/live/npm-31/README -> \\nf /opt/npmplus/tls/certbot/live/npm-32/README -> \\nf /opt/npmplus/tls/certbot/live/npm-35/README -> \\nf /opt/npmplus/tls/certbot/live/npm-38/README -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.1 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.2 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.3 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.4 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.5 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.6 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.7 -> \\nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.8 -> \\nf /opt/npmplus/tls/certbot/npm-35-before-dns01-20260816T223428.tgz -> \\nf /opt/npmplus/tls/certbot/renewal/hbarhub.ru.conf -> \\nf /opt/npmplus/tls/certbot/renewal/newfi-staging-gram1-ru.conf -> \\nf /opt/npmplus/tls/certbot/renewal/newfilya.ru.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-17.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-21.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-26.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-27.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-29.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-30.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-31.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-32.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-35.conf -> \\nf /opt/npmplus/tls/certbot/renewal/npm-35.conf.bak-20260816T235337 -> \\nf /opt/npmplus/tls/certbot/renewal/npm-38.conf -> \\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/cert.pem -> ../../archive/hbarhub.ru/cert1.pem\\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/chain.pem -> ../../archive/hbarhub.ru/chain1.pem\\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/fullchain.pem -> ../../archive/hbarhub.ru/fullchain1.pem\\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/privkey.pem -> ../../archive/hbarhub.ru/privkey1.pem\\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/cert.pem -> ../../archive/newfi-staging-gram1-ru/cert1.pem\\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/chain.pem -> ../../archive/newfi-staging-gram1-ru/chain1.pem\\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/fullchain.pem -> ../../archive/newfi-staging-gram1-ru/fullchain1.pem\\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/privkey.pem -> ../../archive/newfi-staging-gram1-ru/privkey1.pem\\nl /opt/npmplus/tls/certbot/live/newfilya.ru/cert.pem -> ../../archive/newfilya.ru/cert1.pem\\nl /opt/npmplus/tls/certbot/live/newfilya.ru/chain.pem -> ../../archive/newfilya.ru/chain1.pem\\nl /opt/npmplus/tls/certbot/live/newfilya.ru/fullchain.pem -> ../../archive/newfilya.ru/fullchain1.pem\\nl /opt/npmplus/tls/certbot/live/newfilya.ru/privkey.pem -> ../../archive/newfilya.ru/privkey1.pem\\nl /opt/npmplus/tls/certbot/live/npm-17/cert.pem -> ../../archive/npm-17/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-17/chain.pem -> ../../archive/npm-17/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-17/fullchain.pem -> ../../archive/npm-17/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-17/privkey.pem -> ../../archive/npm-17/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-18/cert.pem -> ../../archive/npm-18/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-18/chain.pem -> ../../archive/npm-18/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-18/fullchain.pem -> ../../archive/npm-18/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-18/privkey.pem -> ../../archive/npm-18/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-21/cert.pem -> ../../archive/npm-21/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-21/chain.pem -> ../../archive/npm-21/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-21/fullchain.pem -> ../../archive/npm-21/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-21/privkey.pem -> ../../archive/npm-21/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-26/cert.pem -> ../../archive/npm-26/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-26/chain.pem -> ../../archive/npm-26/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-26/fullchain.pem -> ../../archive/npm-26/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-26/privkey.pem -> ../../archive/npm-26/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-27/cert.pem -> ../../archive/npm-27/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-27/chain.pem -> ../../archive/npm-27/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-27/fullchain.pem -> ../../archive/npm-27/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-27/privkey.pem -> ../../archive/npm-27/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-29/cert.pem -> ../../archive/npm-29/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-29/chain.pem -> ../../archive/npm-29/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-29/fullchain.pem -> ../../archive/npm-29/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-29/privkey.pem -> ../../archive/npm-29/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-30/cert.pem -> ../../archive/npm-30/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-30/chain.pem -> ../../archive/npm-30/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-30/fullchain.pem -> ../../archive/npm-30/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-30/privkey.pem -> ../../archive/npm-30/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-31/cert.pem -> ../../archive/npm-31/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-31/chain.pem -> ../../archive/npm-31/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-31/fullchain.pem -> ../../archive/npm-31/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-31/privkey.pem -> ../../archive/npm-31/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-32/cert.pem -> ../../archive/npm-32/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-32/chain.pem -> ../../archive/npm-32/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-32/fullchain.pem -> ../../archive/npm-32/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-32/privkey.pem -> ../../archive/npm-32/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-35/cert.pem -> ../../archive/npm-35/cert2.pem\\nl /opt/npmplus/tls/certbot/live/npm-35/chain.pem -> ../../archive/npm-35/chain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-35/fullchain.pem -> ../../archive/npm-35/fullchain2.pem\\nl /opt/npmplus/tls/certbot/live/npm-35/privkey.pem -> ../../archive/npm-35/privkey2.pem\\nl /opt/npmplus/tls/certbot/live/npm-38/cert.pem -> ../../archive/npm-38/cert1.pem\\nl /opt/npmplus/tls/certbot/live/npm-38/chain.pem -> ../../archive/npm-38/chain1.pem\\nl /opt/npmplus/tls/certbot/live/npm-38/fullchain.pem -> ../../archive/npm-38/fullchain1.pem\\nl /opt/npmplus/tls/certbot/live/npm-38/privkey.pem -> ../../archive/npm-38/privkey1.pem\\n--- TARGET_NATIVE ---\\nd /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru -> \\nd /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru -> \\nf /opt/npmplus/tls/certbot/credentials/cloudflare-gram1.ini -> \\nf /opt/npmplus/tls/certbot/renewal/newfi-staging-gram1-ru.conf -> \\n--- EXPERIMENTAL_ROOTS ---\\n/opt/npmplus/newfi-staging-certbot\\n/opt/npmplus/newfi-staging-certbot-apply6\\n/opt/npmplus/newfi-staging-certbot-apply7\",\"rc\":0}\nCERTBOT_LOG_EVIDENCE={\"err\":\"\",\"out\":\"LOG_MISSING\",\"rc\":0}\nEDGE_ROUTE_ROLLBACK_AND_CONVENTIONS={\"err\":\"\",\"out\":\"--- TARGET_ROUTE ---\\nABSENT\\n--- TARGET_REFERENCES ---\\n--- GIT_ROUTE_REFERENCES ---\\n/opt/npmplus/nginx/proxy_host/10.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/15.conf:26: ssl_certificate /data/tls/certbot/live/npm-31/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/51.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/60.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/999.conf:26: ssl_certificate /data/tls/certbot/live/hbarhub.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/41.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/48.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/200.conf:23: ssl_certificate /data/tls/forum-certs/live/codevipe.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/6.conf:26: ssl_certificate /data/tls/certbot/live/npm-21/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/4.conf:26: ssl_certificate /data/tls/certbot/live/npm-35/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/11.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/14.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/42.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/994.conf.bak-cluster-admin-20260710T215504Z:16: ssl_certificate /data/tls/landing-certs/pvepro.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/8.conf:26: ssl_certificate /data/tls/certbot/live/npm-27/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/5.conf:26: ssl_certificate /data/tls/certbot/live/npm-35/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/204.conf:23: ssl_certificate /data/tls/forum-certs/live/dsmods.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/996.conf:18: ssl_certificate /data/tls/parked-certs/kingofwolk.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/48.conf.bak-route48-fix-20260625T211546Z:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/994.conf:16: ssl_certificate /data/tls/landing-certs/pvepro.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/61.conf:30: ssl_certificate /data/tls/certbot/live/npm-38/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/203.conf:23: ssl_certificate /data/tls/forum-certs/live/zakrutim.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/201.conf:23: ssl_certificate /data/tls/forum-certs/live/gamevipe.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/992.conf:28: ssl_certificate /data/tls/certbot/live/newfilya.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/31.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/19.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/9.conf.bak-gitea-public-20260629200108:14: server_name git.gram1.ru;\\n/opt/npmplus/nginx/proxy_host/9.conf.bak-gitea-public-20260629200108:26: ssl_certificate /data/tls/certbot/live/npm-29/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/52.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/5.conf.bak-gotify-local-20260624T142122Z:26: ssl_certificate /data/tls/certbot/live/npm-35/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/46.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/45.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/49.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/13.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/202.conf:23: ssl_certificate /data/tls/forum-certs/live/hkmods.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/50.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/995.conf:15: ssl_certificate /data/tls/parked-certs/gram1.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/9.conf:14: server_name git.gram1.ru;\\n/opt/npmplus/nginx/proxy_host/9.conf:26: ssl_certificate /data/tls/certbot/live/npm-29/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/998.conf:16: ssl_certificate /data/tls/parked-certs/newfi.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/993.conf:13: ssl_certificate /data/tls/router-certs/taftauto.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/997.conf:16: ssl_certificate /data/tls/parked-certs/hapusya.ru/fullchain.pem;\\n/opt/npmplus/nginx/proxy_host/48.conf.bak-route48-https-scheme-fix-20260625T212141Z:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\\n--- NGINX_TEST ---\\nnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok\\nnginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful\",\"rc\":0}\nCLOUDFLARE_READONLY_STATE={\"err\":\"\",\"out\":\"{\\\"candidate_count\\\":3,\\\"valid_zone_token\\\":true,\\\"newfi-staging.gram1.ru\\\":{\\\"http\\\":200,\\\"rows\\\":[]},\\\"_acme-challenge.newfi-staging.gram1.ru\\\":{\\\"http\\\":200,\\\"rows\\\":[]},\\\"git.gram1.ru\\\":{\\\"http\\\":200,\\\"rows\\\":[{\\\"name\\\":\\\"git.gram1.ru\\\",\\\"type\\\":\\\"A\\\",\\\"content\\\":\\\"185.225.35.6\\\",\\\"proxied\\\":false,\\\"ttl\\\":1}]}}\",\"rc\":0}\nPUBLIC_DNS_STATE={\"1.1.1.1\":{\"err\":\"\",\"out\":\";; Got answer:\\n;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 58178\\n;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1\\n\\n;; OPT PSEUDOSECTION:\\n; EDNS: version: 0, flags:; udp: 1232\\n;; AUTHORITY SECTION:\\ngram1.ru.\\t\\t1800\\tIN\\tSOA\\tsara.ns.cloudflare.com. dns.cloudflare.com. 2414333890 10000 2400 604800 1800\",\"rc\":0},\"8.8.8.8\":{\"err\":\"\",\"out\":\";; Got answer:\\n;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36049\\n;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1\\n\\n;; OPT PSEUDOSECTION:\\n; EDNS: version: 0, flags:; udp: 1232\\n;; AUTHORITY SECTION:\\ngram1.ru.\\t\\t1800\\tIN\\tSOA\\tsara.ns.cloudflare.com. dns.cloudflare.com. 2414333890 10000 2400 604800 1800\",\"rc\":0}}\nPUBLIC_HTTPS_STATE={\"err\":\"curl: (6) Could not resolve host: newfi-staging.gram1.ru\\n\",\"out\":\"\",\"rc\":6}\nFINAL_DECISION=FORENSIC1_COMPLETE_NO_MUTATION_READY_FOR_SINGLE_REBUILT_APPLY\nFORENSIC_END=true\n" + "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSB041D_ACTIVE_ENV={\"exists\":true,\"sha256\":\"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b\",\"values\":{\"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\"}}\nSB041D_OLD_ENV_NEW={\"exists\":true,\"sha256\":\"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b\",\"values\":{\"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\"}}\nSB041D_DOCKERFILE={\"exists\":true,\"instructions\":[{\"arg\":\"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"op\":\"FROM\"},{\"arg\":\"demonov_forward_map /app/demonov_forward_map\",\"op\":\"COPY\"}],\"sha256\":\"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8\"}\nSB041D_BUILD_LOG={\"exists\":true,\"selected_lines\":[\"#7 exporting to image\",\"#7 writing image sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736 done\",\"#7 naming to docker.io/library/8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70 done\"],\"sha256\":\"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb\"}\nSB041D_DEPLOY_FILES={\"exists\":true,\"files\":[\".env.new\",\"Dockerfile\",\"build.log\",\"compose-up.log\",\"demonov_forward_map/__init__.py\",\"demonov_forward_map/bars.py\",\"demonov_forward_map/bitfinex_trade_collector.py\",\"demonov_forward_map/bot_orchestrator.py\",\"demonov_forward_map/canonical_hash.py\",\"demonov_forward_map/checkpoints.py\",\"demonov_forward_map/code_identity.py\",\"demonov_forward_map/consumer_scaling.py\",\"demonov_forward_map/demonov_multiarm.py\",\"demonov_forward_map/domain.py\",\"demonov_forward_map/engine.py\",\"demonov_forward_map/evaluation_freeze.py\",\"demonov_forward_map/event_stream.py\",\"demonov_forward_map/evidence_finality.py\",\"demonov_forward_map/execution_transcript.py\",\"demonov_forward_map/experimental_design.py\",\"demonov_forward_map/incremental_info.py\",\"demonov_forward_map/inference.py\",\"demonov_forward_map/ledger.py\",\"demonov_forward_map/live_d1_finality.py\",\"demonov_forward_map/live_health.py\",\"demonov_forward_map/live_market_adapters.py\",\"demonov_forward_map/live_prospective.py\",\"demonov_forward_map/live_schema.py\",\"demonov_forward_map/live_worker.py\",\"demonov_forward_map/notification_relay.py\",\"demonov_forward_map/numeric.py\",\"demonov_forward_map/opportunity_adapter.py\",\"demonov_forward_map/outbox_delivery.py\",\"demonov_forward_map/producer_core.py\",\"demonov_forward_map/producer_policy.py\",\"demonov_forward_map/producer_runtime.py\",\"demonov_forward_map/producer_state.py\",\"demonov_forward_map/profiles.py\",\"demonov_forward_map/projection_binding.py\",\"demonov_forward_map/proof_completeness.py\",\"demonov_forward_map/prospective_fsm.py\",\"demonov_forward_map/prospective_ledger.py\",\"demonov_forward_map/prospective_market.py\",\"demonov_forward_map/prospective_policy.py\",\"demonov_forward_map/registry.py\",\"demonov_forward_map/replay_integrity.py\",\"demonov_forward_map/research_geometry.py\",\"demonov_forward_map/router.py\",\"demonov_forward_map/runtime_integrity.py\",\"demonov_forward_map/runtime_manifest.py\",\"demonov_forward_map/selectors.py\",\"demonov_forward_map/shadow.py\",\"demonov_forward_map/shadow_delivery_runtime.py\",\"demonov_forward_map/shadow_mail.py\",\"demonov_forward_map/shadow_service.py\",\"demonov_forward_map/signal_consensus.py\",\"demonov_forward_map/signal_outbox.py\",\"demonov_forward_map/spatial_policy.py\",\"demonov_forward_map/target_resolver.py\",\"demonov_forward_map/weekly_report.py\",\"demonov_forward_map/zones.py\",\"experiment.json\",\"package.tar.gz\",\"runtime_manifest.json\"]}\nSB041D_EPOCH={\"exists\":true,\"path\":\"/opt/stacks/8020-demonov-shadow/data/epochs/ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\"}\nSB041D_EPOCH_JSON={\"experiment.json\":{\"bytes\":841,\"exists\":true,\"keys\":[\"code_identity\",\"collection_start_at\",\"demonov_branch_policy_id\",\"experiment_id\",\"experiment_version\",\"finality_policy_id\",\"geometry_policy_id\",\"market_bundle_id\",\"notification_policy_id\",\"outcome_policy_id\",\"policy_registry_id\",\"runtime_manifest_id\"],\"safe_object\":{\"code_identity\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"collection_start_at\":\"2026-09-07T00:00:00+00:00\",\"demonov_branch_policy_id\":\"ALL_FROZEN_PROFILES_ALL_NODES_RESEARCH_V1\",\"experiment_id\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"experiment_version\":\"LIVE_PROSPECTIVE_V2\",\"finality_policy_id\":\"BITFINEX_SEQ_ALL_D1_V1\",\"geometry_policy_id\":\"RESEARCH_RECONSTRUCTION_8020_V1\",\"market_bundle_id\":\"78dbbebab22f49bfc4866b40e2362886b1441790d8a73a005a4eb09a5d2c64ae\",\"notification_policy_id\":\"SIGNIFICANT_STATE_CHANGE_EMAIL_V1\",\"outcome_policy_id\":\"DIRECTIONAL_CLOSE_AFTER_7_D1_BARS_V1\",\"policy_registry_id\":\"055d0b052d394f1e08176b035617fbdd96f04fff0cdfb195c2d736fd66e6ad37\",\"runtime_manifest_id\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"sha256\":\"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa\",\"type\":\"dict\"},\"runtime_manifest.json\":{\"bytes\":584,\"exists\":true,\"keys\":[\"application_image_id\",\"base_image_digest\",\"code_identity\",\"compose_hash\",\"finality_policy_id\",\"package_identity\",\"runtime_manifest_id\"],\"safe_object\":{\"application_image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"base_image_digest\":\"sha256:881d80734ee05dca6f7f42dcb080975652a53c7eda9ba1f03bb8da31aa6a6ec2\",\"code_identity\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"compose_hash\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\",\"finality_policy_id\":\"BITFINEX_SEQ_ALL_D1_V1\",\"package_identity\":\"637acba19fb29c98408a8031dc9265a31dc36551c666fcf0b287e8af83d2b893\",\"runtime_manifest_id\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"sha256\":\"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e\",\"type\":\"dict\"},\"service_boot.json\":{\"bytes\":224,\"exists\":true,\"keys\":[\"booted_at\",\"code_identity\",\"execution_authority\",\"production_launch_allowed\",\"risk_authority\",\"service\"],\"safe_object\":{\"booted_at\":\"2026-09-06T18:48:21.063302+00:00\",\"code_identity\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"execution_authority\":false,\"production_launch_allowed\":false,\"risk_authority\":false,\"service\":\"8020-demonov-shadow\"},\"sha256\":\"798a145e6c142bea2cd41a74a3fa707452da9a606cc84ff6afd1d60b43abb1f8\",\"type\":\"dict\"}}\nSB041D_MANIFEST_HASH_CONTRACT=[{\"matches_expected\":false,\"method\":\"compact_sorted\",\"sha256\":\"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5\"},{\"matches_expected\":false,\"method\":\"compact_sorted_ascii\",\"sha256\":\"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5\"},{\"matches_expected\":false,\"method\":\"default_sorted\",\"sha256\":\"a68890d9717e29ac1db356e9e17f2fc10408327f8d8707caddbeb330e433d524\"},{\"matches_expected\":false,\"method\":\"indent2_sorted\",\"sha256\":\"caaafb8613f463a4ed2915d1ccce0010e7945bb5058d67721a41fa3bb0d80188\"}]\nSB041D_EXPERIMENT_HASH_CONTRACT=[{\"matches_expected\":true,\"method\":\"compact_sorted\",\"sha256\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\"},{\"matches_expected\":true,\"method\":\"compact_sorted_ascii\",\"sha256\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\"},{\"matches_expected\":false,\"method\":\"default_sorted\",\"sha256\":\"bcce3a27298e277b694ea2fb5848b912ad2816fd249c14a4617a0951b1d4dc4d\"},{\"matches_expected\":false,\"method\":\"indent2_sorted\",\"sha256\":\"4ee2673c98107eb0bf81ebc4ef4e57b47670247bc90e0be2e4be5ed3d1348129\"}]\nSB041D_COLLECTOR={\"count\":1,\"name\":\"demonov-shadow-8020-collector-1\"}\nSB041D_RUNTIME_MANIFEST_API={\"classes\":[\"RuntimeDeploymentManifestV1\"],\"functions\":[{\"args\":[\"value\",\"name\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_required\"},{\"args\":[\"value\",\"name\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_sha256_hex\"},{\"args\":[\"value\",\"name\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_sha256_id\"},{\"args\":[\"manifest\"],\"defaults\":0,\"kwonly\":[\"expected_code_identity\",\"actual_image_id\",\"actual_package_identity\"],\"name\":\"verify_runtime_manifest\"}],\"lines\":123,\"rc\":0,\"safe_constants\":{},\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\"}\nSB041D_LIVE_PROSPECTIVE_API={\"classes\":[\"ExperimentProvenance\",\"LiveProspectiveStore\"],\"functions\":[{\"args\":[\"value\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_hash\"},{\"args\":[\"bar\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_bar_json\"},{\"args\":[\"line\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_line_json\"},{\"args\":[\"raw\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_line_from_json\"},{\"args\":[\"states\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_states_json\"},{\"args\":[\"raw\"],\"defaults\":0,\"kwonly\":[],\"name\":\"_states_from_json\"}],\"lines\":851,\"rc\":0,\"safe_constants\":{},\"sha256\":\"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98\"}\nSB041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY\nSB041D_MUTATION_SCOPE=NONE_READ_ONLY\nSIGNALBOT041D_HOLDS=[]\nSIGNALBOT041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY\nSIGNALBOT041D_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 4b149e8f..6f18ce61 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-FORENSIC1 +COMMAND_ID=SIGNALBOT-260908-DEPLOY-PREP-DETAIL-041DETAIL STATUS=OK RC=0 HOST=pve01 MODE=read-only -COMPONENT=newfi-staging-certbot-native-forensic-readonly +COMPONENT=signalbot-cr0116-deploy-prep-detail REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=83f54a894aedb86ad7c09cfc9290485b6778cb2a2643ae41fdc727b084e37675 +COMMAND_SHA256=897dd750d0459b4a65e5a8aae482b95a07d371ca5b5615eeede31d8045ace279 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,34 +24,29 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=cecd7aa5e99b011df8cbd6fefcaa71cd77f1d11ffc1967427d8d2f52ceb01cca -SANITIZED_OUTPUT_SHA256=3eb0c4af0deff2f95b75c2a823efdb3548b1f728d7675c59adc5349153934aa7 +RAW_EVIDENCE_SHA256=be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e +SANITIZED_OUTPUT_SHA256=be711e66f61d03ad61fc70599b9055757b74df411c64d872373207055147a62e OUTPUT_BEGIN -FORENSIC_BEGIN=true -COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-FORENSIC1 -MODE=read-only -MUTATIONS_PERFORMED=NO ERROR_REGISTER_CHECK=OK -ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 REFERENCE_CHECK=OK -REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -PRIOR_APPLY8_GATE=PASS -PRIOR_APPLY8_HISTORY_SHA256=174d27103f2cd6ba6e684b43f7542fcf8ec644fd9396fbbc4f9dd8843900a5f2 -PRIOR_APPLY8_FAILURE=ChangeError:NATIVE_CERTBOT_CERTPATH_VERIFY_FAIL:1: -STAGING_HOSTNAME={"err":"","out":"newfi-staging","rc":0} -STAGING_LOCAL_HTTP={"err":"","http":"503","rc":0} -STAGING_IP_JSON={"err":"","out":"[{\"ifindex\":2,\"ifname\":\"eth0\",\"flags\":[\"BROADCAST\",\"MULTICAST\",\"UP\",\"LOWER_UP\"],\"mtu\":1500,\"qdisc\":\"fq_codel\",\"operstate\":\"UP\",\"group\":\"default\",\"txqlen\":1000,\"altnames\":[\"enp0s18\",\"ens18\"],\"addr_info\":[{\"family\":\"inet\",\"local\":\"[PRIVATE_IP]\",\"prefixlen\":24,\"broadcast\":\"[PRIVATE_IP]\",\"scope\":\"global\",\"label\":\"eth0\",\"valid_life_time\":4294967295,\"preferred_life_time\":4294967295}]}]","rc":0} -EDGE_HOSTNAME={"err":"","out":"edge-vm","rc":0} -NPMPLUS_RUNTIME={"err":"","out":"{\"Command\":\"\\\"tini -- entrypoint.…\\\"\",\"CreatedAt\":\"2026-07-03 02:15:05 +0300 MSK\",\"HealthStatus\":\"healthy\",\"ID\":\"2f18b3d7f386\",\"Image\":\"zoeyvid/npmplus:2026-06-17-b1\",\"Labels\":\"com.centurylinklabs.watchtower.monitor-only=true,com.docker.compose.config-hash=3c289a3eb787a27fee3e84d3bc60b516ce18a1f7b054faa4a9a0b36ae74d9671,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:058637924fae1dbf161d1d78c84b738d86804e9a0ddad66cf7c87cbe33337834,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/opt/stacks/npmplus/compose.yaml,com.docker.compose.project.working_dir=/opt/stacks/npmplus,com.docker.compose.project=npmplus,com.docker.compose.replace=npmplus,com.docker.compose.service=npmplus,com.docker.compose.version=5.1.4,wud.watch.digest=false,wud.watch=false\",\"LocalVolumes\":\"0\",\"Mounts\":\"/opt/npmplus\",\"Names\":\"npmplus\",\"Networks\":\"host\",\"Platform\":{\"architecture\":\"amd64\",\"os\":\"linux\"},\"Ports\":\"\",\"RunningFor\":\"2 months ago\",\"Size\":\"146MB (virtual 413MB)\",\"State\":\"running\",\"Status\":\"Up 10 days (healthy)\"}\n[{\"Type\":\"bind\",\"Source\":\"/opt/npmplus\",\"Destination\":\"/data\",\"Mode\":\"rw\",\"RW\":true,\"Propagation\":\"rprivate\"}]\ndocker.io/zoeyvid/npmplus:2026-06-17-b1 sha256:058637924fae1dbf161d1d78c84b738d86804e9a0ddad66cf7c87cbe33337834","rc":0} -CERTBOT_NATIVE_INSPECTION={"err":"","out":"--- VERSION ---\n/usr/local/bin/certbot\ncertbot 5.7.0\n--- CERTBOT_INI ---\nlogs-dir = /tmp/certbot-log\nwork-dir = /tmp/certbot-work\nconfig-dir = /data/tls/certbot\nwebroot-path = /data/tls/certbot/acme-challenge\n\nagree-tos = true\nnon-interactive = true\nno-random-sleep-on-renew = true\nno-eff-email = true\n\nrsa-key-size = 4096\nelliptic-curve = secp384r1\n\nrequired-profile = classic\nkey-type = ecdsa\nmust-staple = false\nno-verify-ssl = false\n--- PLUGINS ---\nSaving debug log to /var/log/letsencrypt/letsencrypt.log\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n* dns-cloudflare\nDescription: Obtain certificates using a DNS TXT record (if you are using\nCloudflare for DNS).\nInterfaces: Authenticator, Plugin\nEntry point: EntryPoint(name='dns-cloudflare',\nvalue='certbot_dns_cloudflare._internal.dns_cloudflare:Authenticator',\ngroup='certbot.plugins')\n\n* standalone\nDescription: Runs an HTTP server locally which serves the necessary validation\nfiles under the /.well-known/acme-challenge/ request path. Suitable if there is\nno HTTP server already running. HTTP challenge only (wildcards not supported).\nInterfaces: Authenticator, Plugin\nEntry point: EntryPoint(name='standalone',\nvalue='certbot._internal.plugins.standalone:Authenticator',\ngroup='certbot.plugins')\n\n* webroot\nDescription: Saves the necessary validation files to a\n.well-known/acme-challenge/ directory within the nominated webroot path. A\nseparate HTTP server must be running and serving files from the webroot path.\nHTTP challenge only (wildcards not supported).\nInterfaces: Authenticator, Plugin\nEntry point: EntryPoint(name='webroot',\nvalue='certbot._internal.plugins.webroot:Authenticator',\ngroup='certbot.plugins')\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n--- NATIVE_TREE ---\nd /opt/npmplus/tls/certbot -> \nd /opt/npmplus/tls/certbot/accounts -> \nd /opt/npmplus/tls/certbot/accounts/acme-staging-v02.api.letsencrypt.org -> \nd /opt/npmplus/tls/certbot/accounts/acme-staging-v02.api.letsencrypt.org/directory -> \nd /opt/npmplus/tls/certbot/accounts/acme-staging-v02.api.letsencrypt.org/directory/c26218024b9a40b6dabb4d8c9e26cf82 -> \nd /opt/npmplus/tls/certbot/accounts/acme-v02.api.letsencrypt.org -> \nd /opt/npmplus/tls/certbot/accounts/acme-v02.api.letsencrypt.org/directory -> \nd /opt/npmplus/tls/certbot/accounts/acme-v02.api.letsencrypt.org/directory/4a42f24bfe91d8100367cf4c8041f2dd -> \nd /opt/npmplus/tls/certbot/acme-challenge -> \nd /opt/npmplus/tls/certbot/acme-challenge/.well-known -> \nd /opt/npmplus/tls/certbot/acme-challenge/.well-known/acme-challenge -> \nd /opt/npmplus/tls/certbot/archive -> \nd /opt/npmplus/tls/certbot/archive/hbarhub.ru -> \nd /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru -> \nd /opt/npmplus/tls/certbot/archive/newfilya.ru -> \nd /opt/npmplus/tls/certbot/archive/npm-17 -> \nd /opt/npmplus/tls/certbot/archive/npm-18 -> \nd /opt/npmplus/tls/certbot/archive/npm-21 -> \nd /opt/npmplus/tls/certbot/archive/npm-26 -> \nd /opt/npmplus/tls/certbot/archive/npm-27 -> \nd /opt/npmplus/tls/certbot/archive/npm-29 -> \nd /opt/npmplus/tls/certbot/archive/npm-30 -> \nd /opt/npmplus/tls/certbot/archive/npm-31 -> \nd /opt/npmplus/tls/certbot/archive/npm-32 -> \nd /opt/npmplus/tls/certbot/archive/npm-35 -> \nd /opt/npmplus/tls/certbot/archive/npm-38 -> \nd /opt/npmplus/tls/certbot/credentials -> \nd /opt/npmplus/tls/certbot/live -> \nd /opt/npmplus/tls/certbot/live/hbarhub.ru -> \nd /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru -> \nd /opt/npmplus/tls/certbot/live/newfilya.ru -> \nd /opt/npmplus/tls/certbot/live/npm-17 -> \nd /opt/npmplus/tls/certbot/live/npm-18 -> \nd /opt/npmplus/tls/certbot/live/npm-21 -> \nd /opt/npmplus/tls/certbot/live/npm-26 -> \nd /opt/npmplus/tls/certbot/live/npm-27 -> \nd /opt/npmplus/tls/certbot/live/npm-29 -> \nd /opt/npmplus/tls/certbot/live/npm-30 -> \nd /opt/npmplus/tls/certbot/live/npm-31 -> \nd /opt/npmplus/tls/certbot/live/npm-32 -> \nd /opt/npmplus/tls/certbot/live/npm-35 -> \nd /opt/npmplus/tls/certbot/live/npm-38 -> \nd /opt/npmplus/tls/certbot/logs -> \nd /opt/npmplus/tls/certbot/renewal -> \nd /opt/npmplus/tls/certbot/renewal-hooks -> \nd /opt/npmplus/tls/certbot/renewal-hooks/deploy -> \nd /opt/npmplus/tls/certbot/renewal-hooks/post -> \nd /opt/npmplus/tls/certbot/renewal-hooks/pre -> \nd /opt/npmplus/tls/certbot/work -> \nf /opt/npmplus/tls/certbot/acme-challenge/.well-known/acme-challenge/test-challenge -> \nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/cert1.pem -> \nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/chain1.pem -> \nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/fullchain1.pem -> \nf /opt/npmplus/tls/certbot/archive/hbarhub.ru/privkey1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/cert1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/chain1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/fullchain1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru/privkey1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfilya.ru/cert1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfilya.ru/chain1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfilya.ru/fullchain1.pem -> \nf /opt/npmplus/tls/certbot/archive/newfilya.ru/privkey1.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-17/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-17/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-17/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-17/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-18/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-18/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-18/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-18/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-21/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-21/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-21/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-21/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-26/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-26/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-26/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-26/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-27/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-27/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-27/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-27/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-29/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-29/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-29/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-29/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-30/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-30/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-30/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-30/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-31/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-31/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-31/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-31/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-32/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-32/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-32/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-32/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-35/cert2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-35/chain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-35/fullchain2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-35/privkey2.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-38/cert1.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-38/chain1.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-38/fullchain1.pem -> \nf /opt/npmplus/tls/certbot/archive/npm-38/privkey1.pem -> \nf /opt/npmplus/tls/certbot/credentials/cloudflare-gram1.ini -> \nf /opt/npmplus/tls/certbot/live/README -> \nf /opt/npmplus/tls/certbot/live/hbarhub.ru/README -> \nf /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/README -> \nf /opt/npmplus/tls/certbot/live/newfilya.ru/README -> \nf /opt/npmplus/tls/certbot/live/npm-17/README -> \nf /opt/npmplus/tls/certbot/live/npm-18/README -> \nf /opt/npmplus/tls/certbot/live/npm-21/README -> \nf /opt/npmplus/tls/certbot/live/npm-26/README -> \nf /opt/npmplus/tls/certbot/live/npm-27/README -> \nf /opt/npmplus/tls/certbot/live/npm-29/README -> \nf /opt/npmplus/tls/certbot/live/npm-30/README -> \nf /opt/npmplus/tls/certbot/live/npm-31/README -> \nf /opt/npmplus/tls/certbot/live/npm-32/README -> \nf /opt/npmplus/tls/certbot/live/npm-35/README -> \nf /opt/npmplus/tls/certbot/live/npm-38/README -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.1 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.2 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.3 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.4 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.5 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.6 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.7 -> \nf /opt/npmplus/tls/certbot/logs/letsencrypt.log.8 -> \nf /opt/npmplus/tls/certbot/npm-35-before-dns01-20260816T223428.tgz -> \nf /opt/npmplus/tls/certbot/renewal/hbarhub.ru.conf -> \nf /opt/npmplus/tls/certbot/renewal/newfi-staging-gram1-ru.conf -> \nf /opt/npmplus/tls/certbot/renewal/newfilya.ru.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-17.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-21.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-26.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-27.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-29.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-30.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-31.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-32.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-35.conf -> \nf /opt/npmplus/tls/certbot/renewal/npm-35.conf.bak-20260816T235337 -> \nf /opt/npmplus/tls/certbot/renewal/npm-38.conf -> \nl /opt/npmplus/tls/certbot/live/hbarhub.ru/cert.pem -> ../../archive/hbarhub.ru/cert1.pem\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/chain.pem -> ../../archive/hbarhub.ru/chain1.pem\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/fullchain.pem -> ../../archive/hbarhub.ru/fullchain1.pem\nl /opt/npmplus/tls/certbot/live/hbarhub.ru/privkey.pem -> ../../archive/hbarhub.ru/privkey1.pem\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/cert.pem -> ../../archive/newfi-staging-gram1-ru/cert1.pem\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/chain.pem -> ../../archive/newfi-staging-gram1-ru/chain1.pem\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/fullchain.pem -> ../../archive/newfi-staging-gram1-ru/fullchain1.pem\nl /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru/privkey.pem -> ../../archive/newfi-staging-gram1-ru/privkey1.pem\nl /opt/npmplus/tls/certbot/live/newfilya.ru/cert.pem -> ../../archive/newfilya.ru/cert1.pem\nl /opt/npmplus/tls/certbot/live/newfilya.ru/chain.pem -> ../../archive/newfilya.ru/chain1.pem\nl /opt/npmplus/tls/certbot/live/newfilya.ru/fullchain.pem -> ../../archive/newfilya.ru/fullchain1.pem\nl /opt/npmplus/tls/certbot/live/newfilya.ru/privkey.pem -> ../../archive/newfilya.ru/privkey1.pem\nl /opt/npmplus/tls/certbot/live/npm-17/cert.pem -> ../../archive/npm-17/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-17/chain.pem -> ../../archive/npm-17/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-17/fullchain.pem -> ../../archive/npm-17/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-17/privkey.pem -> ../../archive/npm-17/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-18/cert.pem -> ../../archive/npm-18/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-18/chain.pem -> ../../archive/npm-18/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-18/fullchain.pem -> ../../archive/npm-18/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-18/privkey.pem -> ../../archive/npm-18/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-21/cert.pem -> ../../archive/npm-21/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-21/chain.pem -> ../../archive/npm-21/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-21/fullchain.pem -> ../../archive/npm-21/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-21/privkey.pem -> ../../archive/npm-21/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-26/cert.pem -> ../../archive/npm-26/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-26/chain.pem -> ../../archive/npm-26/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-26/fullchain.pem -> ../../archive/npm-26/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-26/privkey.pem -> ../../archive/npm-26/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-27/cert.pem -> ../../archive/npm-27/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-27/chain.pem -> ../../archive/npm-27/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-27/fullchain.pem -> ../../archive/npm-27/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-27/privkey.pem -> ../../archive/npm-27/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-29/cert.pem -> ../../archive/npm-29/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-29/chain.pem -> ../../archive/npm-29/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-29/fullchain.pem -> ../../archive/npm-29/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-29/privkey.pem -> ../../archive/npm-29/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-30/cert.pem -> ../../archive/npm-30/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-30/chain.pem -> ../../archive/npm-30/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-30/fullchain.pem -> ../../archive/npm-30/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-30/privkey.pem -> ../../archive/npm-30/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-31/cert.pem -> ../../archive/npm-31/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-31/chain.pem -> ../../archive/npm-31/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-31/fullchain.pem -> ../../archive/npm-31/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-31/privkey.pem -> ../../archive/npm-31/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-32/cert.pem -> ../../archive/npm-32/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-32/chain.pem -> ../../archive/npm-32/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-32/fullchain.pem -> ../../archive/npm-32/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-32/privkey.pem -> ../../archive/npm-32/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-35/cert.pem -> ../../archive/npm-35/cert2.pem\nl /opt/npmplus/tls/certbot/live/npm-35/chain.pem -> ../../archive/npm-35/chain2.pem\nl /opt/npmplus/tls/certbot/live/npm-35/fullchain.pem -> ../../archive/npm-35/fullchain2.pem\nl /opt/npmplus/tls/certbot/live/npm-35/privkey.pem -> ../../archive/npm-35/privkey2.pem\nl /opt/npmplus/tls/certbot/live/npm-38/cert.pem -> ../../archive/npm-38/cert1.pem\nl /opt/npmplus/tls/certbot/live/npm-38/chain.pem -> ../../archive/npm-38/chain1.pem\nl /opt/npmplus/tls/certbot/live/npm-38/fullchain.pem -> ../../archive/npm-38/fullchain1.pem\nl /opt/npmplus/tls/certbot/live/npm-38/privkey.pem -> ../../archive/npm-38/privkey1.pem\n--- TARGET_NATIVE ---\nd /opt/npmplus/tls/certbot/archive/newfi-staging-gram1-ru -> \nd /opt/npmplus/tls/certbot/live/newfi-staging-gram1-ru -> \nf /opt/npmplus/tls/certbot/credentials/cloudflare-gram1.ini -> \nf /opt/npmplus/tls/certbot/renewal/newfi-staging-gram1-ru.conf -> \n--- EXPERIMENTAL_ROOTS ---\n/opt/npmplus/newfi-staging-certbot\n/opt/npmplus/newfi-staging-certbot-apply6\n/opt/npmplus/newfi-staging-certbot-apply7","rc":0} -CERTBOT_LOG_EVIDENCE={"err":"","out":"LOG_MISSING","rc":0} -EDGE_ROUTE_ROLLBACK_AND_CONVENTIONS={"err":"","out":"--- TARGET_ROUTE ---\nABSENT\n--- TARGET_REFERENCES ---\n--- GIT_ROUTE_REFERENCES ---\n/opt/npmplus/nginx/proxy_host/10.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/15.conf:26: ssl_certificate /data/tls/certbot/live/npm-31/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/51.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/60.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/999.conf:26: ssl_certificate /data/tls/certbot/live/hbarhub.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/41.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/48.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/200.conf:23: ssl_certificate /data/tls/forum-certs/live/codevipe.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/6.conf:26: ssl_certificate /data/tls/certbot/live/npm-21/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/4.conf:26: ssl_certificate /data/tls/certbot/live/npm-35/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/11.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/14.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/42.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/994.conf.bak-cluster-admin-20260710T215504Z:16: ssl_certificate /data/tls/landing-certs/pvepro.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/8.conf:26: ssl_certificate /data/tls/certbot/live/npm-27/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/5.conf:26: ssl_certificate /data/tls/certbot/live/npm-35/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/204.conf:23: ssl_certificate /data/tls/forum-certs/live/dsmods.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/996.conf:18: ssl_certificate /data/tls/parked-certs/kingofwolk.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/48.conf.bak-route48-fix-20260625T211546Z:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/994.conf:16: ssl_certificate /data/tls/landing-certs/pvepro.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/61.conf:30: ssl_certificate /data/tls/certbot/live/npm-38/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/203.conf:23: ssl_certificate /data/tls/forum-certs/live/zakrutim.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/201.conf:23: ssl_certificate /data/tls/forum-certs/live/gamevipe.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/992.conf:28: ssl_certificate /data/tls/certbot/live/newfilya.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/31.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/19.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/9.conf.bak-gitea-public-20260629200108:14: server_name git.gram1.ru;\n/opt/npmplus/nginx/proxy_host/9.conf.bak-gitea-public-20260629200108:26: ssl_certificate /data/tls/certbot/live/npm-29/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/52.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/5.conf.bak-gotify-local-20260624T142122Z:26: ssl_certificate /data/tls/certbot/live/npm-35/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/46.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/45.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/49.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/13.conf:26: ssl_certificate /data/tls/certbot/live/npm-30/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/202.conf:23: ssl_certificate /data/tls/forum-certs/live/hkmods.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/50.conf:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/995.conf:15: ssl_certificate /data/tls/parked-certs/gram1.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/9.conf:14: server_name git.gram1.ru;\n/opt/npmplus/nginx/proxy_host/9.conf:26: ssl_certificate /data/tls/certbot/live/npm-29/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/998.conf:16: ssl_certificate /data/tls/parked-certs/newfi.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/993.conf:13: ssl_certificate /data/tls/router-certs/taftauto.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/997.conf:16: ssl_certificate /data/tls/parked-certs/hapusya.ru/fullchain.pem;\n/opt/npmplus/nginx/proxy_host/48.conf.bak-route48-https-scheme-fix-20260625T212141Z:26: ssl_certificate /data/tls/certbot/live/npm-32/fullchain.pem;\n--- NGINX_TEST ---\nnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok\nnginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful","rc":0} -CLOUDFLARE_READONLY_STATE={"err":"","out":"{\"candidate_count\":3,\"valid_zone_token\":true,\"newfi-staging.gram1.ru\":{\"http\":200,\"rows\":[]},\"_acme-challenge.newfi-staging.gram1.ru\":{\"http\":200,\"rows\":[]},\"git.gram1.ru\":{\"http\":200,\"rows\":[{\"name\":\"git.gram1.ru\",\"type\":\"A\",\"content\":\"185.225.35.6\",\"proxied\":false,\"ttl\":1}]}}","rc":0} -PUBLIC_DNS_STATE={"1.1.1.1":{"err":"","out":";; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 58178\n;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 1232\n;; AUTHORITY SECTION:\ngram1.ru.\t\t1800\tIN\tSOA\tsara.ns.cloudflare.com. dns.cloudflare.com. 2414333890 10000 2400 604800 1800","rc":0},"8.8.8.8":{"err":"","out":";; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36049\n;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 1232\n;; AUTHORITY SECTION:\ngram1.ru.\t\t1800\tIN\tSOA\tsara.ns.cloudflare.com. dns.cloudflare.com. 2414333890 10000 2400 604800 1800","rc":0}} -PUBLIC_HTTPS_STATE={"err":"curl: (6) Could not resolve host: newfi-staging.gram1.ru\n","out":"","rc":6} -FINAL_DECISION=FORENSIC1_COMPLETE_NO_MUTATION_READY_FOR_SINGLE_REBUILT_APPLY -FORENSIC_END=true +SB041D_ACTIVE_ENV={"exists":true,"sha256":"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b","values":{"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"}} +SB041D_OLD_ENV_NEW={"exists":true,"sha256":"4bbc6bd31417f6265767c1fb971d118d36d27d7b57a90b49e6586461acf0609b","values":{"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"}} +SB041D_DOCKERFILE={"exists":true,"instructions":[{"arg":"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d","op":"FROM"},{"arg":"demonov_forward_map /app/demonov_forward_map","op":"COPY"}],"sha256":"901951def73961f76d2c2a93c5428a0fbdcc50113d42b39da92983a5ce157cb8"} +SB041D_BUILD_LOG={"exists":true,"selected_lines":["#7 exporting to image","#7 writing image sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736 done","#7 naming to docker.io/library/8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70 done"],"sha256":"601fe18bcce58d509431626b9c934e170fd572089dcfbfbf310c3aa9217293eb"} +SB041D_DEPLOY_FILES={"exists":true,"files":[".env.new","Dockerfile","build.log","compose-up.log","demonov_forward_map/__init__.py","demonov_forward_map/bars.py","demonov_forward_map/bitfinex_trade_collector.py","demonov_forward_map/bot_orchestrator.py","demonov_forward_map/canonical_hash.py","demonov_forward_map/checkpoints.py","demonov_forward_map/code_identity.py","demonov_forward_map/consumer_scaling.py","demonov_forward_map/demonov_multiarm.py","demonov_forward_map/domain.py","demonov_forward_map/engine.py","demonov_forward_map/evaluation_freeze.py","demonov_forward_map/event_stream.py","demonov_forward_map/evidence_finality.py","demonov_forward_map/execution_transcript.py","demonov_forward_map/experimental_design.py","demonov_forward_map/incremental_info.py","demonov_forward_map/inference.py","demonov_forward_map/ledger.py","demonov_forward_map/live_d1_finality.py","demonov_forward_map/live_health.py","demonov_forward_map/live_market_adapters.py","demonov_forward_map/live_prospective.py","demonov_forward_map/live_schema.py","demonov_forward_map/live_worker.py","demonov_forward_map/notification_relay.py","demonov_forward_map/numeric.py","demonov_forward_map/opportunity_adapter.py","demonov_forward_map/outbox_delivery.py","demonov_forward_map/producer_core.py","demonov_forward_map/producer_policy.py","demonov_forward_map/producer_runtime.py","demonov_forward_map/producer_state.py","demonov_forward_map/profiles.py","demonov_forward_map/projection_binding.py","demonov_forward_map/proof_completeness.py","demonov_forward_map/prospective_fsm.py","demonov_forward_map/prospective_ledger.py","demonov_forward_map/prospective_market.py","demonov_forward_map/prospective_policy.py","demonov_forward_map/registry.py","demonov_forward_map/replay_integrity.py","demonov_forward_map/research_geometry.py","demonov_forward_map/router.py","demonov_forward_map/runtime_integrity.py","demonov_forward_map/runtime_manifest.py","demonov_forward_map/selectors.py","demonov_forward_map/shadow.py","demonov_forward_map/shadow_delivery_runtime.py","demonov_forward_map/shadow_mail.py","demonov_forward_map/shadow_service.py","demonov_forward_map/signal_consensus.py","demonov_forward_map/signal_outbox.py","demonov_forward_map/spatial_policy.py","demonov_forward_map/target_resolver.py","demonov_forward_map/weekly_report.py","demonov_forward_map/zones.py","experiment.json","package.tar.gz","runtime_manifest.json"]} +SB041D_EPOCH={"exists":true,"path":"/opt/stacks/8020-demonov-shadow/data/epochs/ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338"} +SB041D_EPOCH_JSON={"experiment.json":{"bytes":841,"exists":true,"keys":["code_identity","collection_start_at","demonov_branch_policy_id","experiment_id","experiment_version","finality_policy_id","geometry_policy_id","market_bundle_id","notification_policy_id","outcome_policy_id","policy_registry_id","runtime_manifest_id"],"safe_object":{"code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","collection_start_at":"2026-09-07T00:00:00+00:00","demonov_branch_policy_id":"ALL_FROZEN_PROFILES_ALL_NODES_RESEARCH_V1","experiment_id":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","experiment_version":"LIVE_PROSPECTIVE_V2","finality_policy_id":"BITFINEX_SEQ_ALL_D1_V1","geometry_policy_id":"RESEARCH_RECONSTRUCTION_8020_V1","market_bundle_id":"78dbbebab22f49bfc4866b40e2362886b1441790d8a73a005a4eb09a5d2c64ae","notification_policy_id":"SIGNIFICANT_STATE_CHANGE_EMAIL_V1","outcome_policy_id":"DIRECTIONAL_CLOSE_AFTER_7_D1_BARS_V1","policy_registry_id":"055d0b052d394f1e08176b035617fbdd96f04fff0cdfb195c2d736fd66e6ad37","runtime_manifest_id":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"sha256":"827dc4fb5ace8a25a0bd80d05450eaa758bd39d1d09485d3d428dd20ad9325aa","type":"dict"},"runtime_manifest.json":{"bytes":584,"exists":true,"keys":["application_image_id","base_image_digest","code_identity","compose_hash","finality_policy_id","package_identity","runtime_manifest_id"],"safe_object":{"application_image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","base_image_digest":"sha256:881d80734ee05dca6f7f42dcb080975652a53c7eda9ba1f03bb8da31aa6a6ec2","code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","compose_hash":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061","finality_policy_id":"BITFINEX_SEQ_ALL_D1_V1","package_identity":"637acba19fb29c98408a8031dc9265a31dc36551c666fcf0b287e8af83d2b893","runtime_manifest_id":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"sha256":"388a610997fad0071b9140a44e88edff60a3e7ee3486faeaca769c0026246c8e","type":"dict"},"service_boot.json":{"bytes":224,"exists":true,"keys":["booted_at","code_identity","execution_authority","production_launch_allowed","risk_authority","service"],"safe_object":{"booted_at":"2026-09-06T18:48:21.063302+00:00","code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","execution_authority":false,"production_launch_allowed":false,"risk_authority":false,"service":"8020-demonov-shadow"},"sha256":"798a145e6c142bea2cd41a74a3fa707452da9a606cc84ff6afd1d60b43abb1f8","type":"dict"}} +SB041D_MANIFEST_HASH_CONTRACT=[{"matches_expected":false,"method":"compact_sorted","sha256":"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5"},{"matches_expected":false,"method":"compact_sorted_ascii","sha256":"7ac46712abbea24436b24af4fc962bdf5b8a348559a64c879c278fb17114c0a5"},{"matches_expected":false,"method":"default_sorted","sha256":"a68890d9717e29ac1db356e9e17f2fc10408327f8d8707caddbeb330e433d524"},{"matches_expected":false,"method":"indent2_sorted","sha256":"caaafb8613f463a4ed2915d1ccce0010e7945bb5058d67721a41fa3bb0d80188"}] +SB041D_EXPERIMENT_HASH_CONTRACT=[{"matches_expected":true,"method":"compact_sorted","sha256":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338"},{"matches_expected":true,"method":"compact_sorted_ascii","sha256":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338"},{"matches_expected":false,"method":"default_sorted","sha256":"bcce3a27298e277b694ea2fb5848b912ad2816fd249c14a4617a0951b1d4dc4d"},{"matches_expected":false,"method":"indent2_sorted","sha256":"4ee2673c98107eb0bf81ebc4ef4e57b47670247bc90e0be2e4be5ed3d1348129"}] +SB041D_COLLECTOR={"count":1,"name":"demonov-shadow-8020-collector-1"} +SB041D_RUNTIME_MANIFEST_API={"classes":["RuntimeDeploymentManifestV1"],"functions":[{"args":["value","name"],"defaults":0,"kwonly":[],"name":"_required"},{"args":["value","name"],"defaults":0,"kwonly":[],"name":"_sha256_hex"},{"args":["value","name"],"defaults":0,"kwonly":[],"name":"_sha256_id"},{"args":["manifest"],"defaults":0,"kwonly":["expected_code_identity","actual_image_id","actual_package_identity"],"name":"verify_runtime_manifest"}],"lines":123,"rc":0,"safe_constants":{},"sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2"} +SB041D_LIVE_PROSPECTIVE_API={"classes":["ExperimentProvenance","LiveProspectiveStore"],"functions":[{"args":["value"],"defaults":0,"kwonly":[],"name":"_hash"},{"args":["bar"],"defaults":0,"kwonly":[],"name":"_bar_json"},{"args":["line"],"defaults":0,"kwonly":[],"name":"_line_json"},{"args":["raw"],"defaults":0,"kwonly":[],"name":"_line_from_json"},{"args":["states"],"defaults":0,"kwonly":[],"name":"_states_json"},{"args":["raw"],"defaults":0,"kwonly":[],"name":"_states_from_json"}],"lines":851,"rc":0,"safe_constants":{},"sha256":"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98"} +SB041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY +SB041D_MUTATION_SCOPE=NONE_READ_ONLY +SIGNALBOT041D_HOLDS=[] +SIGNALBOT041D_DECISION=DEPLOY_PREP_DETAIL_EVIDENCE_READY +SIGNALBOT041D_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION OUTPUT_END CHAT_OUTPUT_END