{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", "component": "hbarhub-application-local-stack-plan-v1", "started_at_utc": "2026-07-29T16:35:57Z", "finished_at_utc": "2026-07-29T16:35:58Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", "command_sha256": "c0e65625810f0ed77bc9b09266d6cdb4e616d67b52737eab635c574cc09bb8c4", "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": "a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22", "sanitized_output_sha256": "a31c29087fd69946a35c632e2e4784deb4d45a585714d6417f14eccc68223e22", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"2eaf961aa1e96915b39f5d4c7b70625ce755b80c358b6969753021a393892ba1\",\"approved_application_plan\":{\"application\":{\"first_release_scope\":[\"русская стартовая страница\",\"HBAR, POL, AVAX, LINK\",\"18 отслеживаемых активов\",\"health/readiness\",\"PostgreSQL, Redis, Celery worker и scheduler\",\"без публичного proxy\",\"без торговых API-ключей\"],\"framework\":\"Django\",\"health_endpoints\":[\"/health/live\",\"/health/ready\"],\"internal_port\":8040,\"language\":\"Python\",\"locale\":\"ru-RU\",\"services\":[\"web\",\"worker\",\"scheduler\",\"postgres\",\"redis\"],\"timezone\":\"Europe/Moscow\"},\"expected_main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"operation\":\"READ_ONLY_APPLICATION_AND_LOCAL_STACK_PLAN\",\"parent_evidence\":{\"capsule_sha256\":\"5a271039feaaf1566c27591c8273b82811645976a0816a3bb03735dc56a3194a\",\"command_id\":\"HBARHUB-MAIN-BRANCH-PROTECTION-APPLY-V1-20260729T163000Z\",\"protection_policy_sha256\":\"9bf8cb79b6b81ba7343f6378925e4535a015c412e6091ca3de731e4838ce067e\",\"runner_json_sha256\":\"64a9aff3572c641adaad79221e74f87affbd04a9a3b50a52e1603a91faa5439f\"},\"project\":\"hbarhub\",\"proposed_sequence\":[\"Gitea PR: добавить исходный код и compose-каркас\",\"локальный deploy на core-apps без NPMplus\",\"проверка health и сохранности данных\",\"дальнейшие data-pipeline этапы отдельными PR/APPLY\"],\"protected_branch\":\"main\",\"repository\":\"homelab-admin/hbarhub\",\"schema\":1},\"changes_made\":false,\"checks\":{\"compose_available\":true,\"core_hostname\":true,\"disk_free_minimum\":true,\"docker_available\":true,\"main_protected\":true,\"memory_available_minimum\":true,\"no_hbarhub_containers\":true,\"no_hbarhub_volumes\":true,\"no_mutation\":true,\"no_open_pull_requests\":true,\"no_work_branch_collision\":true,\"parent_protection_apply_verified\":true,\"port_8040_free\":true,\"reference_stack_exists\":true,\"repository_main_verified\":true,\"target_path_absent\":true},\"command_id\":\"HBARHUB-APPLICATION-LOCAL-STACK-PLAN-V1-20260729T163500Z\",\"core_apps\":{\"capacity\":{\"disk_free_bytes\":76766601216,\"disk_total_bytes\":126605975552,\"memory\":{\"MemAvailable\":2854141952,\"MemTotal\":10435301376}},\"docker\":{\"compose_available\":true,\"hbarhub_containers\":[],\"hbarhub_volumes\":[],\"network_names\":[\"actual-budget_default\",\"authentik_default\",\"beszel_default\",\"bridge\",\"crypto-portfolio_default\",\"dockge-agent_default\",\"filebrowser_default\",\"gitea_default\",\"homebox_default\",\"homelab-gitea-context-mcp_default\",\"homepage_default\",\"host\",\"immich_default\",\"it-tools_default\",\"karakeep_default\",\"linkding_default\",\"mealie_default\",\"memos_default\",\"minio_default\",\"n8n_default\",\"netbox_default\",\"node-red_default\",\"none\",\"paperless_default\",\"searxng_default\",\"syncthing_default\",\"vaultwarden-compose_default\"],\"present\":true,\"server_available\":true},\"hostname_matches\":true,\"port_8040_free\":true,\"reference_files\":[{\"bytes\":1233,\"contains_env_file\":false,\"contains_health_path\":false,\"exists\":true,\"gid\":0,\"healthcheck_services\":[],\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"named_networks\":[],\"named_volumes\":[],\"path\":\"/opt/stacks/crypto-portfolio/compose.yaml\",\"restart_policy_services\":[\"web\",\"worker\"],\"services\":[\"web\",\"worker\"],\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"uid\":0}],\"reference_helpers\":[],\"reference_stack\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0750\",\"path\":\"/opt/stacks/crypto-portfolio\",\"uid\":0},\"role\":\"core-apps\",\"schema\":1,\"target_stack\":{\"exists\":false,\"is_dir\":false,\"is_file\":false,\"is_symlink\":false,\"path\":\"/opt/stacks/hbarhub\"}},\"gate\":\"READY_FOR_APPLICATION_SCAFFOLD_PR_APPLY\",\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"APPLICATION_SCAFFOLD_PR_APPLY\",\"parent_evidence\":{\"result_sequence\":\"c6fa06e112d9582f5248cba5218947f91be4bd6c74ab0930478e7e028c914ed1\",\"result_sha256\":\"0e55cdf2939521a46a765af4a2594807af774394961f3317efb0255ddd3ec4de\"},\"private_addresses_included\":false,\"repository\":{\"branch_names\":[\"main\"],\"main_head\":\"61114b5855f8a58b97b3c377054e73d9a3f0af4e\",\"open_pull_requests\":[],\"protection_policy\":{\"enable_force_push\":false,\"enable_merge_whitelist\":true,\"enable_push\":false,\"merge_whitelist_usernames\":[\"homelab-admin\"]}},\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_COMPLETE\"}\n" }