1
0

runtime: publish SIGNALBOT-260908-DEPLOY-STAGE-042FIX5

This commit is contained in:
homelab-runtime-publisher
2026-09-08 07:25:27 +00:00
parent 606aea254c
commit b1882d6322
4 changed files with 114 additions and 53 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,42 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=SIGNALBOT-260908-DEPLOY-STAGE-042FIX5
STATUS=OK
RC=0
HOST=pve01
MODE=change
COMPONENT=signalbot-cr0116-deploy-stage
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=7f7e6d4625ede681d6fa3e35e4c749bef6a17eed3b9c02b6da17f070f498d3cd
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=true
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=OK
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=true
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=MUTATED
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537
SANITIZED_OUTPUT_SHA256=ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537
OUTPUT_BEGIN
ERROR_REGISTER_CHECK=OK
REFERENCE_CHECK=OK
AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
SB042F5_PRESTATE={"build_context_policy":"ABSOLUTE_STAGE_ONLY","fix_branch":"signalbot-260908-ws-keepalive-fix-040fix2","fix_commit":"76e1f58baa544a0e208bba317f0150e5b6d74dbd","remote_main":"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce","runtime_activation":false}
SB042F5_ARCHIVE={"bytes":1157120,"collector_source_sha256":"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5","sha256":"d478958654435b1a65ac7c8aa209867eb59c1e7b26affb65530e289646123dce"}
SB042F5_QGA_INPUT={"gzip_bytes":208514,"limit_bytes":921600,"mode":"stage","raw_tar_bytes":1157120,"script_bytes":295136}
SB042F5_VM170_STAGE={"context_marker":"SB042F5_CONTEXT={\"base_image_id\":\"sha256:008ab480142056d1f0b628e6c17bb6b99b30b8b4f59f24e31d972a4a128a8602\",\"base_image_ref\":\"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"checks\":{\"absolute_context\":true,\"absolute_dockerfile\":true,\"base_image_exact\":true,\"collector_regular\":true,\"collector_sha\":true,\"context_parent_exact\":true,\"copy_root_directory\":true,\"copy_source_inside_context\":true,\"dockerfile_exact\":true,\"dockerfile_inside_context\":true,\"dockerfile_regular\":true,\"dockerfile_sha\":true,\"env_exact\":true,\"new_image_absent\":true,\"owner_contract\":true,\"services_exact_prestate\":true,\"stage_path_contract\":true},\"context\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"copy_source\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map\",\"dockerfile\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile\",\"pass\":true}","exitcode":0,"marker":"SB042F5_GUEST_JSON={\"active_env_unchanged\":true,\"build_context\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"collector_source_sha256\":\"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5\",\"copy_source\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map\",\"decision\":\"DEPLOY_STAGE_READY\",\"dockerfile\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile\",\"helper_candidates\":{\"demonov_forward_map.live_prospective\":[{\"name\":\"_hash\",\"pure_candidate\":true,\"signature\":\"(value: 'object') -> 'str'\"}],\"demonov_forward_map.runtime_integrity\":[{\"name\":\"canonical_hash\",\"pure_candidate\":true,\"signature\":\"(payload: 'Any') -> 'str'\"},{\"name\":\"verify_experiment_seal_receipt\",\"pure_candidate\":true,\"signature\":\"(*, bundle: 'FinalProspectiveSealBundle', receipt: 'ExperimentSealReceipt', collection_start_at: 'datetime', receipt_verifier: 'Callable[[ExperimentSealReceipt], bool]') -> 'None'\"},{\"name\":\"required_retained_hashes\",\"pure_candidate\":true,\"signature\":\"(*, runtime_registry: 'RuntimeRegistry', model_registry: 'FinalModelRegistry', state_snapshots: 'Sequence[StateSnapshotManifest]' = (), predictor_runtime: 'PredictorRuntimeManifest | None' = None) -> 'Mapping[str, RetainedArtifactKind]'\"}],\"demonov_forward_map.runtime_manifest\":[{\"name\":\"canonical_hash\",\"pure_candidate\":true,\"signature\":\"(payload: 'Any') -> 'str'\"},{\"name\":\"verify_runtime_manifest\",\"pure_candidate\":true,\"signature\":\"(manifest: 'RuntimeDeploymentManifestV1', *, expected_code_identity: 'str', actual_image_id: 'str', actual_package_identity: 'str') -> 'None'\"}]},\"new_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"new_image_id\":\"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99\",\"policy\":{\"close_timeout\":5,\"open_timeout\":10,\"ping_interval\":20,\"ping_timeout\":60},\"runtime_activated\":false,\"service_identity_unchanged\":true,\"stage_path\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"websockets_version\":\"15.0.1\"}","state":"COMPLETE","stderr":""}
SB042F5_RESULT={"active_env_unchanged":true,"build_context":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","collector_source_sha256":"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5","copy_source":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map","decision":"DEPLOY_STAGE_READY","dockerfile":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile","helper_candidates":{"demonov_forward_map.live_prospective":[{"name":"_hash","pure_candidate":true,"signature":"(value: 'object') -> 'str'"}],"demonov_forward_map.runtime_integrity":[{"name":"canonical_hash","pure_candidate":true,"signature":"(payload: 'Any') -> 'str'"},{"name":"verify_experiment_seal_receipt","pure_candidate":true,"signature":"(*, bundle: 'FinalProspectiveSealBundle', receipt: 'ExperimentSealReceipt', collection_start_at: 'datetime', receipt_verifier: 'Callable[[ExperimentSealReceipt], bool]') -> 'None'"},{"name":"required_retained_hashes","pure_candidate":true,"signature":"(*, runtime_registry: 'RuntimeRegistry', model_registry: 'FinalModelRegistry', state_snapshots: 'Sequence[StateSnapshotManifest]' = (), predictor_runtime: 'PredictorRuntimeManifest | None' = None) -> 'Mapping[str, RetainedArtifactKind]'"}],"demonov_forward_map.runtime_manifest":[{"name":"canonical_hash","pure_candidate":true,"signature":"(payload: 'Any') -> 'str'"},{"name":"verify_runtime_manifest","pure_candidate":true,"signature":"(manifest: 'RuntimeDeploymentManifestV1', *, expected_code_identity: 'str', actual_image_id: 'str', actual_package_identity: 'str') -> 'None'"}]},"new_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","new_image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","policy":{"close_timeout":5,"open_timeout":10,"ping_interval":20,"ping_timeout":60},"runtime_activated":false,"service_identity_unchanged":true,"stage_path":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","websockets_version":"15.0.1"}
SB042F5_POSTSTATE={"authoritative_repo_unchanged":true,"local_temp_cleanup":true,"origin_main_unchanged":true,"runtime_activated":false}
HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
OUTPUT_END
CHAT_OUTPUT_END
+15 -15
View File
File diff suppressed because one or more lines are too long
+19 -38
View File
@@ -1,61 +1,42 @@
CHAT_OUTPUT_BEGIN
COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY13
STATUS=FAIL
RC=1
COMMAND_ID=SIGNALBOT-260908-DEPLOY-STAGE-042FIX5
STATUS=OK
RC=0
HOST=pve01
MODE=change
COMPONENT=newfi-staging-local-proof-fix-existing-cert-route-dns
COMPONENT=signalbot-cr0116-deploy-stage
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=81a540993275ea3e4490b436e70a575c75210637401d741d60449e5231b90cd0
COMMAND_SHA256=7f7e6d4625ede681d6fa3e35e4c749bef6a17eed3b9c02b6da17f070f498d3cd
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=true
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=FAIL
RESULT_CONTRACT_STATUS=OK
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=1
COMMAND_RC=0
CHANGES_MADE=true
ROLLBACK_STARTED=true
ROLLBACK_RESTORED=true
MUTATION_OUTCOME=ROLLED_BACK
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=MUTATED
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=f6bf2515e0d1852fc3ff47fc360f13571dc25f84bd97a9eb0cd7c618084a2c2d
SANITIZED_OUTPUT_SHA256=fbdf5a88bdabf56bf86bc9a0ce9467fce632eef5a2f5a7f1f879d488cef225b2
RAW_EVIDENCE_SHA256=ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537
SANITIZED_OUTPUT_SHA256=ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537
OUTPUT_BEGIN
APPLY13_BEGIN=true
COMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY13
COMPONENT=newfi-staging-local-proof-fix-existing-cert-route-dns
MODE=change
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
REFERENCE_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
PRIOR_APPLY12_HISTORY_SHA256=4b5163ee81bc5e070614287d9b524b7ab5d2962d7887f707c08b1a35d2cac9a0
PORTAL_PRODUCT_STATE_GATE=PASS
STAGING_PREFLIGHT={"backend_ip":"[PRIVATE_IP]","local_http":"503"}
NPMPLUS_LOCAL_PROOF_TOOL_GATE={"curl":"/usr/bin/curl"}
EXISTING_CERT_GATE={"authenticator":"dns-cloudflare","cert":"/data/tls/certbot/live/newfi-staging-gram1-ru/fullchain.pem","cert_name":"newfi-staging-gram1-ru","key":"/data/tls/certbot/live/newfi-staging-gram1-ru/privkey.pem","metadata":"subject=CN=newfi-staging.gram1.ru\nissuer=C=US, O=Let's Encrypt, CN=YE2\nnotBefore=Sep 8 05:18:03 2026 GMT\nnotAfter=Dec 7 05:18:02 2026 GMT\nserial=06CD3AC17EB3DB6B6C24F569FDF654155013","renewal":"/data/tls/certbot/renewal/newfi-staging-gram1-ru.conf","renewal_credential_host":"/opt/npmplus/secure/.newfi-staging-NEWFI-260908-A-STAGINGEDGE-APPLY8.ini","renewal_credential_inside":"/data/secure/.newfi-staging-NEWFI-260908-A-STAGINGEDGE-APPLY8.ini","server":"https://acme-v02.api.letsencrypt.org/directory"}
CF_TOKEN_GATE={"source_path":"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before","valid_count":1,"zone_id_sha256":"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7"}
INGRESS_PREFLIGHT={"git_direct_https":"200","ip":"185.225.35.6"}
PREFLIGHT_COMPLETE_NO_MUTATION={"acme_txt_empty":true,"backend_http":"503","existing_cert_name":"newfi-staging-gram1-ru","existing_cert_valid":true,"ingress_ip":"185.225.35.6","renewal_authenticator":"dns-cloudflare","renewal_credential_inside":"/data/secure/.newfi-staging-NEWFI-260908-A-STAGINGEDGE-APPLY8.ini","renewal_server":"production_letsencrypt","route_absent":true,"strict_qga_timeout_zero":true,"target_dns_empty":true}
RENEWAL_CREDENTIAL_GATE={"created_now":true,"host_path":"/opt/npmplus/secure/.newfi-staging-NEWFI-260908-A-STAGINGEDGE-APPLY8.ini","inside_path":"/data/secure/.newfi-staging-NEWFI-260908-A-STAGINGEDGE-APPLY8.ini","mode":"0600","zone_access":"PASS"}
ROUTE_WRITTEN={"bytes":881,"path":"/opt/npmplus/nginx/proxy_host/newfi-staging-gram1-ru.manual.conf","proof_header":"NEWFI-260908-A-STAGINGEDGE-APPLY13","sha256":"5536ada122f3a0196d4eeb9aab593ee5960f87899df4427677db92622a7d6765"}
NGINX_TEST_AFTER_ROUTE=PASS
NGINX_RELOAD=PASS
NGINX_POSTRELOAD_TEST=PASS
LOCAL_TLS_503_PROOF=CURL_RC=0 HTTP=503 PROOF_RC=0 BYTES=23820
APPLY13_FAILURE=ChangeError:PUBLIC_TLS_503_PROOF_FAIL:60:000:False:curl: (60) SSL: no alternative certificate subject name matches target hostname 'newfi-staging.gram1.ru'\nMore details here: https://curl.se/docs/sslcerts.html\n\ncurl failed to verify the legitimacy of the server and therefore could not\nestablish a secure connection to it. To learn more about this situation and\nhow to fix it, please visit the webpage mentioned above.\n
ROLLBACK_ROUTE=PASS
ROLLBACK_CREATED_RENEWAL_CREDENTIAL=PASS
FINAL_DECISION=FAIL_NEWFI_STAGING_APPLY13_ROLLBACK_RESTORED
HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"NEWFI-260908-A-STAGINGEDGE-APPLY13","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
SB042F5_PRESTATE={"build_context_policy":"ABSOLUTE_STAGE_ONLY","fix_branch":"signalbot-260908-ws-keepalive-fix-040fix2","fix_commit":"76e1f58baa544a0e208bba317f0150e5b6d74dbd","remote_main":"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce","runtime_activation":false}
SB042F5_ARCHIVE={"bytes":1157120,"collector_source_sha256":"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5","sha256":"d478958654435b1a65ac7c8aa209867eb59c1e7b26affb65530e289646123dce"}
SB042F5_QGA_INPUT={"gzip_bytes":208514,"limit_bytes":921600,"mode":"stage","raw_tar_bytes":1157120,"script_bytes":295136}
SB042F5_VM170_STAGE={"context_marker":"SB042F5_CONTEXT={\"base_image_id\":\"sha256:008ab480142056d1f0b628e6c17bb6b99b30b8b4f59f24e31d972a4a128a8602\",\"base_image_ref\":\"8020-demonov-shadow:ac7094a76ddc06f376d71a76432af7c2dd10ec7d\",\"checks\":{\"absolute_context\":true,\"absolute_dockerfile\":true,\"base_image_exact\":true,\"collector_regular\":true,\"collector_sha\":true,\"context_parent_exact\":true,\"copy_root_directory\":true,\"copy_source_inside_context\":true,\"dockerfile_exact\":true,\"dockerfile_inside_context\":true,\"dockerfile_regular\":true,\"dockerfile_sha\":true,\"env_exact\":true,\"new_image_absent\":true,\"owner_contract\":true,\"services_exact_prestate\":true,\"stage_path_contract\":true},\"context\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"copy_source\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map\",\"dockerfile\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile\",\"pass\":true}","exitcode":0,"marker":"SB042F5_GUEST_JSON={\"active_env_unchanged\":true,\"build_context\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"collector_source_sha256\":\"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5\",\"copy_source\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map\",\"decision\":\"DEPLOY_STAGE_READY\",\"dockerfile\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile\",\"helper_candidates\":{\"demonov_forward_map.live_prospective\":[{\"name\":\"_hash\",\"pure_candidate\":true,\"signature\":\"(value: 'object') -> 'str'\"}],\"demonov_forward_map.runtime_integrity\":[{\"name\":\"canonical_hash\",\"pure_candidate\":true,\"signature\":\"(payload: 'Any') -> 'str'\"},{\"name\":\"verify_experiment_seal_receipt\",\"pure_candidate\":true,\"signature\":\"(*, bundle: 'FinalProspectiveSealBundle', receipt: 'ExperimentSealReceipt', collection_start_at: 'datetime', receipt_verifier: 'Callable[[ExperimentSealReceipt], bool]') -> 'None'\"},{\"name\":\"required_retained_hashes\",\"pure_candidate\":true,\"signature\":\"(*, runtime_registry: 'RuntimeRegistry', model_registry: 'FinalModelRegistry', state_snapshots: 'Sequence[StateSnapshotManifest]' = (), predictor_runtime: 'PredictorRuntimeManifest | None' = None) -> 'Mapping[str, RetainedArtifactKind]'\"}],\"demonov_forward_map.runtime_manifest\":[{\"name\":\"canonical_hash\",\"pure_candidate\":true,\"signature\":\"(payload: 'Any') -> 'str'\"},{\"name\":\"verify_runtime_manifest\",\"pure_candidate\":true,\"signature\":\"(manifest: 'RuntimeDeploymentManifestV1', *, expected_code_identity: 'str', actual_image_id: 'str', actual_package_identity: 'str') -> 'None'\"}]},\"new_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"new_image_id\":\"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99\",\"policy\":{\"close_timeout\":5,\"open_timeout\":10,\"ping_interval\":20,\"ping_timeout\":60},\"runtime_activated\":false,\"service_identity_unchanged\":true,\"stage_path\":\"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"websockets_version\":\"15.0.1\"}","state":"COMPLETE","stderr":""}
SB042F5_RESULT={"active_env_unchanged":true,"build_context":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","collector_source_sha256":"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5","copy_source":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map","decision":"DEPLOY_STAGE_READY","dockerfile":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile","helper_candidates":{"demonov_forward_map.live_prospective":[{"name":"_hash","pure_candidate":true,"signature":"(value: 'object') -> 'str'"}],"demonov_forward_map.runtime_integrity":[{"name":"canonical_hash","pure_candidate":true,"signature":"(payload: 'Any') -> 'str'"},{"name":"verify_experiment_seal_receipt","pure_candidate":true,"signature":"(*, bundle: 'FinalProspectiveSealBundle', receipt: 'ExperimentSealReceipt', collection_start_at: 'datetime', receipt_verifier: 'Callable[[ExperimentSealReceipt], bool]') -> 'None'"},{"name":"required_retained_hashes","pure_candidate":true,"signature":"(*, runtime_registry: 'RuntimeRegistry', model_registry: 'FinalModelRegistry', state_snapshots: 'Sequence[StateSnapshotManifest]' = (), predictor_runtime: 'PredictorRuntimeManifest | None' = None) -> 'Mapping[str, RetainedArtifactKind]'"}],"demonov_forward_map.runtime_manifest":[{"name":"canonical_hash","pure_candidate":true,"signature":"(payload: 'Any') -> 'str'"},{"name":"verify_runtime_manifest","pure_candidate":true,"signature":"(manifest: 'RuntimeDeploymentManifestV1', *, expected_code_identity: 'str', actual_image_id: 'str', actual_package_identity: 'str') -> 'None'"}]},"new_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","new_image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","policy":{"close_timeout":5,"open_timeout":10,"ping_interval":20,"ping_timeout":60},"runtime_activated":false,"service_identity_unchanged":true,"stage_path":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","websockets_version":"15.0.1"}
SB042F5_POSTSTATE={"authoritative_repo_unchanged":true,"local_temp_cleanup":true,"origin_main_unchanged":true,"runtime_activated":false}
HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
OUTPUT_END
CHAT_OUTPUT_END