{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "RESULT-INTEGRATION-DESIGN-PREFLIGHT-20260727T064218Z", "status": "FAIL", "rc": 1, "host": "pve01", "mode": "verify", "component": "result-integration", "started_at_utc": "2026-07-27T07:21:08Z", "finished_at_utc": "2026-07-27T07:21:09Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", "command_sha256": "2abcd8ed3caba3c56dfe1df39f3d834c9ed9e4972caf331a8e3d2132922beb6a", "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": 1, "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": "9d100401351f949bb1c6fb06d107acda5f52729fbcaedc717a0c0ce64222b74b", "sanitized_output_sha256": "e3e004dbf0b954143046f1135c5c929091333d74b8210438c0cdf9dc959aac55", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "{\"architecture\":{\"adapter_functions\":{\"dispatch\":{\"calls\":[\"AdapterError\",\"bind_enrollment\",\"consume_bootstrap\",\"enroll_device\",\"evidence_url\",\"get\",\"import_capsule\",\"public_state\",\"response_ok\",\"start_execution\",\"str\"],\"line\":2419,\"names\":[\"AdapterError\",\"Any\",\"bind_enrollment\",\"consume_bootstrap\",\"dict\",\"enroll_device\",\"evidence_url\",\"import_capsule\",\"operation\",\"public_state\",\"request\",\"response_ok\",\"start_execution\",\"str\"],\"strings\":[\"\",\"bind_enrollment\",\"client_ip\",\"consume_bootstrap\",\"device_token\",\"enroll\",\"evidence_url\",\"execute\",\"health\",\"import\",\"ok\",\"op\",\"session_token\",\"short_id\",\"state\",\"status\",\"token\",\"unsupported operation\",\"upload_path\",\"version\"]},\"evidence_url\":{\"calls\":[\"AdapterError\",\"GlobalLock\",\"authorize_session\",\"get\",\"isinstance\",\"load_json\",\"sign_evidence\",\"state_path\",\"str\"],\"line\":2186,\"names\":[\"AdapterError\",\"Any\",\"GlobalLock\",\"authorize_session\",\"client_ip\",\"dict\",\"digest\",\"evidence\",\"isinstance\",\"load_json\",\"object_key\",\"session_token\",\"short_id\",\"sign_evidence\",\"signed\",\"state\",\"state_path\",\"str\"],\"strings\":[\"evidence\",\"evidence not ready\",\"expires_at_utc\",\"object_key\",\"sha256\",\"url\"]},\"public_state\":{\"calls\":[\"GlobalLock\",\"authorize_session\",\"load_json\",\"sanitize_state\",\"state_path\"],\"line\":1311,\"names\":[\"Any\",\"GlobalLock\",\"authorize_session\",\"client_ip\",\"dict\",\"load_json\",\"sanitize_state\",\"session_token\",\"short_id\",\"state\",\"state_path\",\"str\"],\"strings\":[]},\"sanitize_state\":{\"calls\":[\"get\",\"isinstance\"],\"line\":1327,\"names\":[\"Any\",\"dict\",\"evidence\",\"execution\",\"isinstance\",\"key\",\"public_evidence\",\"public_execution\",\"state\",\"str\"],\"strings\":[\"bytes\",\"capsule_bytes\",\"capsule_sha256\",\"command_object\",\"error\",\"evidence\",\"execution\",\"finished_at_utc\",\"gateway_verified\",\"imported_at_utc\",\"manifest\",\"object_key\",\"runner_document_rc\",\"runner_json_sha256\",\"runner_rc\",\"runner_status\",\"runner_text_sha256\",\"runner_wrapper_matches_document\",\"schema_version\",\"sha256\",\"short_id\",\"started_at_utc\",\"status\"]},\"upload_evidence\":{\"calls\":[\"AdapterError\",\"remote_evidence_presign\",\"run_command\",\"sha256_file\",\"sign_evidence\",\"str\",\"token_hex\",\"unlink\"],\"line\":1668,\"names\":[\"AdapterError\",\"FileNotFoundError\",\"Path\",\"RUN_DIR\",\"bundle\",\"digest\",\"object_key\",\"remote_evidence_presign\",\"result\",\"run_command\",\"secrets\",\"sha256_file\",\"sign_evidence\",\"signed\",\"signed_get\",\"str\",\"verify\",\"verify_path\"],\"strings\":[\"--connect-timeout\",\"--fail\",\"--fail-with-body\",\"--max-time\",\"--output\",\"--request\",\"--resolve\",\"--show-error\",\"--silent\",\"--upload-file\",\".tgz\",\".verify-\",\"/usr/bin/curl\",\"10\",\"120\",\"; stderr=\",\"PUT\",\"evidence gateway SHA verification failed\",\"evidence gateway verification failed: \",\"evidence upload failed: rc=\",\"evidence.vpn.gram1.ru:443:[PRIVATE_IP]\",\"url\"]},\"worker\":{\"calls\":[\"AdapterError\",\"GlobalLock\",\"Path\",\"atomic_json\",\"chmod\",\"create_evidence_bundle\",\"dict\",\"ensure_layout\",\"get\",\"getpid\",\"int\",\"isinstance\",\"iso\",\"load_json\",\"open\",\"read_bytes\",\"run_existing_runner\",\"select_runner_artifacts\",\"sha256_bytes\",\"sha256_file\",\"state_path\",\"str\",\"substitute_argv\",\"time\",\"type\",\"update\",\"upload_evidence\",\"validate_capsule\",\"verify_command_object\",\"verify_local_integrity\",\"worker_state_owned\",\"write\",\"write_text\"],\"line\":1994,\"names\":[\"AdapterError\",\"Exception\",\"GlobalLock\",\"KeyError\",\"Path\",\"RUNNER\",\"RUN_DIR\",\"SAFE_ENV\",\"TypeError\",\"ValueError\",\"_\",\"argv\",\"atomic_json\",\"bundle\",\"command_object\",\"create_evidence_bundle\",\"current\",\"dict\",\"display\",\"document_rc\",\"document_status\",\"ensure_layout\",\"environment\",\"evidence_bytes\",\"evidence_sha\",\"exc\",\"int\",\"isinstance\",\"iso\",\"load_json\",\"object_key\",\"os\",\"path\",\"payload_root\",\"prefix\",\"raw\",\"result\",\"run_existing_runner\",\"runner_args\",\"runner_document\",\"runner_json\",\"runner_txt\",\"select_runner_artifacts\",\"sha256_bytes\",\"sha256_file\",\"short_id\",\"started_epoch\",\"state\",\"state_path\",\"str\",\"stream\",\"substitute_argv\",\"time\",\"type\",\"upload_evidence\",\"validate_capsule\",\"verify_command_object\",\"verify_local_integrity\",\"worker_state_owned\",\"wrapper_log\",\"wrapper_matches\"],\"strings\":[\"--\",\".runner.log\",\"/\",\"/evidence.tgz\",\":\",\"FAIL\",\"HOMELAB_TIMEOUT\",\"RUNNING\",\"RunnerWrapperMismatch\",\"WORKER_ERROR=\",\"\\\\n\",\"a\",\"argv\",\"bytes\",\"capsule SHA changed\",\"capsule manifest changed\",\"capsule_bytes\",\"capsule_path\",\"capsule_sha256\",\"command object state missing\",\"command-portal-smoke\",\"command_id\",\"command_object\",\"component\",\"error\",\"evidence\",\"execution\",\"existing runner returned a different rc after writing its public artifact; runtime publication or wrapper completion failed\",\"finished_at_utc\",\"gateway_verified\",\"local_bundle\",\"manifest\",\"message\",\"mode\",\"object_key\",\"payload_root\",\"portal\",\"portal-tests\",\"rc\",\"replace\",\"runner artifact rc invalid\",\"runner_document_rc\",\"runner_json\",\"runner_json_sha256\",\"runner_rc\",\"runner_status\",\"runner_text\",\"runner_text_sha256\",\"runner_wrapper_matches_document\",\"sha256\",\"status\",\"timeout_seconds\",\"type\",\"utf-8\",\"worker finalization ownership lost\",\"worker state invalid: \"]}},\"command_templates\":{\"adapter\":[[\"/usr/bin/curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",\"--connect-timeout\",\"10\",\"--max-time\",\"120\",\"--request\",\"PUT\"]],\"portal\":[],\"runner\":[]},\"portal_classes\":{\"Handler\":{\"line\":451,\"methods\":[\"content_length\",\"do_GET\",\"do_POST\",\"error_reply\",\"log_message\",\"path_parts\",\"read_body\",\"redirect\",\"reply\"],\"strings\":[\"\",\"\\n\",\" - \",\"(/enroll/)[A-Za-z0-9_-]{32,160}\",\"([?&]t=)[^&\\\\s]+\",\",\",\".hcmd\",\".upload-\",\"/api/enroll\",\"/api/import\",\"/api/state/([A-Z2-7]{10,20})\",\"/bridge-setup.cmd\",\"/bridge-setup.cmd\\\">Скачать установщик
\\nПосле запуска установщика файлы .hcmd будут открываться двойным кликом.