From b1882d632265f9ab01336badf02cc2ec5df478f1 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Tue, 8 Sep 2026 07:25:27 +0000 Subject: [PATCH] runtime: publish SIGNALBOT-260908-DEPLOY-STAGE-042FIX5 --- ...SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.json | 38 +++++++++++++ .../SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.txt | 42 ++++++++++++++ runtime/latest.json | 30 +++++----- runtime/latest.txt | 57 +++++++------------ 4 files changed, 114 insertions(+), 53 deletions(-) create mode 100644 runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.json create mode 100644 runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.txt diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.json b/runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.json new file mode 100644 index 00000000..85aaebb1 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260908-DEPLOY-STAGE-042FIX5", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "change", + "component": "signalbot-cr0116-deploy-stage", + "started_at_utc": "2026-09-08T07:25:22Z", + "finished_at_utc": "2026-09-08T07:25:26Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "7f7e6d4625ede681d6fa3e35e4c749bef6a17eed3b9c02b6da17f070f498d3cd", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": true, + "result_contract_valid": true, + "result_contract_status": "OK", + "result_contract_error": null, + "command_rc": 0, + "changes_made": true, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "MUTATED", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537", + "sanitized_output_sha256": "ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537", + "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\nSB042F5_PRESTATE={\"build_context_policy\":\"ABSOLUTE_STAGE_ONLY\",\"fix_branch\":\"signalbot-260908-ws-keepalive-fix-040fix2\",\"fix_commit\":\"76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"remote_main\":\"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce\",\"runtime_activation\":false}\nSB042F5_ARCHIVE={\"bytes\":1157120,\"collector_source_sha256\":\"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5\",\"sha256\":\"d478958654435b1a65ac7c8aa209867eb59c1e7b26affb65530e289646123dce\"}\nSB042F5_QGA_INPUT={\"gzip_bytes\":208514,\"limit_bytes\":921600,\"mode\":\"stage\",\"raw_tar_bytes\":1157120,\"script_bytes\":295136}\nSB042F5_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\":\"\"}\nSB042F5_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\"}\nSB042F5_POSTSTATE={\"authoritative_repo_unchanged\":true,\"local_temp_cleanup\":true,\"origin_main_unchanged\":true,\"runtime_activated\":false}\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n" +} diff --git a/runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.txt b/runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.txt new file mode 100644 index 00000000..5fa33199 --- /dev/null +++ b/runtime/history/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5.txt @@ -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 diff --git a/runtime/latest.json b/runtime/latest.json index ec7add63..85aaebb1 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "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", - "started_at_utc": "2026-09-08T07:23:19Z", - "finished_at_utc": "2026-09-08T07:24:05Z", + "component": "signalbot-cr0116-deploy-stage", + "started_at_utc": "2026-09-08T07:25:22Z", + "finished_at_utc": "2026-09-08T07:25:26Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "81a540993275ea3e4490b436e70a575c75210637401d741d60449e5231b90cd0", + "command_sha256": "7f7e6d4625ede681d6fa3e35e4c749bef6a17eed3b9c02b6da17f070f498d3cd", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "change_declared": true, "result_contract_valid": true, - "result_contract_status": "FAIL", + "result_contract_status": "OK", "result_contract_error": null, - "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": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "f6bf2515e0d1852fc3ff47fc360f13571dc25f84bd97a9eb0cd7c618084a2c2d", - "sanitized_output_sha256": "fbdf5a88bdabf56bf86bc9a0ce9467fce632eef5a2f5a7f1f879d488cef225b2", + "raw_evidence_sha256": "ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537", + "sanitized_output_sha256": "ce35b7f12895fe7588ed9bdf6065342d6160e31ec3578c068a76f089300c6537", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "APPLY13_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-STAGINGEDGE-APPLY13\nCOMPONENT=newfi-staging-local-proof-fix-existing-cert-route-dns\nMODE=change\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nPRIOR_APPLY12_HISTORY_SHA256=4b5163ee81bc5e070614287d9b524b7ab5d2962d7887f707c08b1a35d2cac9a0\nPORTAL_PRODUCT_STATE_GATE=PASS\nSTAGING_PREFLIGHT={\"backend_ip\":\"[PRIVATE_IP]\",\"local_http\":\"503\"}\nNPMPLUS_LOCAL_PROOF_TOOL_GATE={\"curl\":\"/usr/bin/curl\"}\nEXISTING_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\"}\nCF_TOKEN_GATE={\"source_path\":\"/root/cert38-narrow-migration-20260904T074428Z/credentials-38.before\",\"valid_count\":1,\"zone_id_sha256\":\"5a88f12ebe16612b4e42f11ee57b4b95ca4a13c4abb8f0009f09babfbec927e7\"}\nINGRESS_PREFLIGHT={\"git_direct_https\":\"200\",\"ip\":\"185.225.35.6\"}\nPREFLIGHT_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}\nRENEWAL_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\"}\nROUTE_WRITTEN={\"bytes\":881,\"path\":\"/opt/npmplus/nginx/proxy_host/newfi-staging-gram1-ru.manual.conf\",\"proof_header\":\"NEWFI-260908-A-STAGINGEDGE-APPLY13\",\"sha256\":\"5536ada122f3a0196d4eeb9aab593ee5960f87899df4427677db92622a7d6765\"}\nNGINX_TEST_AFTER_ROUTE=PASS\nNGINX_RELOAD=PASS\nNGINX_POSTRELOAD_TEST=PASS\nLOCAL_TLS_503_PROOF=CURL_RC=0 HTTP=503 PROOF_RC=0 BYTES=23820\nAPPLY13_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\nROLLBACK_ROUTE=PASS\nROLLBACK_CREATED_RENEWAL_CREDENTIAL=PASS\nFINAL_DECISION=FAIL_NEWFI_STAGING_APPLY13_ROLLBACK_RESTORED\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"NEWFI-260908-A-STAGINGEDGE-APPLY13\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n" + "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSB042F5_PRESTATE={\"build_context_policy\":\"ABSOLUTE_STAGE_ONLY\",\"fix_branch\":\"signalbot-260908-ws-keepalive-fix-040fix2\",\"fix_commit\":\"76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"remote_main\":\"3792dcae0fa4d1f0bdd2aac3be1037f49a1620ce\",\"runtime_activation\":false}\nSB042F5_ARCHIVE={\"bytes\":1157120,\"collector_source_sha256\":\"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5\",\"sha256\":\"d478958654435b1a65ac7c8aa209867eb59c1e7b26affb65530e289646123dce\"}\nSB042F5_QGA_INPUT={\"gzip_bytes\":208514,\"limit_bytes\":921600,\"mode\":\"stage\",\"raw_tar_bytes\":1157120,\"script_bytes\":295136}\nSB042F5_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\":\"\"}\nSB042F5_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\"}\nSB042F5_POSTSTATE={\"authoritative_repo_unchanged\":true,\"local_temp_cleanup\":true,\"origin_main_unchanged\":true,\"runtime_activated\":false}\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260908-DEPLOY-STAGE-042FIX5\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 558f272b..5fa33199 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -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