{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "GRAM1-SITE-CHARTS-V37-SCOPED-RUNTIME-VERIFY-20260801T122700Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "change", "component": "gram1-charts-v37-runtime", "started_at_utc": "2026-08-01T12:28:00Z", "finished_at_utc": "2026-08-01T12:28:08Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", "command_sha256": "8dc349bc17807be512dee9cabea9df0b3712ce0a6bcd09541f910a5b394bc9a2", "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": "5ec064dc72788518660e3858b17b7619f3adf2e512b0a33a20b4ad6fbc799d77", "sanitized_output_sha256": "f43a0c68ab8caa07ccc70ce9e9cab29783805a091f932208bc0a7dd56fb9b1e3", "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\":true,\"command_id\":\"GRAM1-SITE-CHARTS-V37-SCOPED-RUNTIME-VERIFY-20260801T122700Z\",\"mutation_outcome\":\"MUTATED\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":true,\"command_id\":\"GRAM1-SITE-CHARTS-V37-SCOPED-RUNTIME-VERIFY-20260801T122700Z\",\"control_plane_error\":null,\"gitea_changed\":false,\"mutation_outcome\":\"MUTATED\",\"pinned_host_key_aliases\":[\"[PRIVATE_IP]\"],\"production_site_changed\":true,\"rc\":0,\"remote_result\":{\"backup_dir\":\"/var/lib/homelab-change-rollback/GRAM1-SITE-CHARTS-V37-SCOPED-RUNTIME-VERIFY-20260801T122700Z\",\"baseline_capsule_sha256\":\"8686c0d694fb9928d91889858d2fbae09494b52b39588df68e7072c4ef666563\",\"baseline_command_id\":\"GRAM1-SITE-CHARTS-V34-COMPOSE-MAX-OUTPUT-FIX-20260801T115500Z\",\"changed_paths\":[\"templates/index.html\"],\"changes_made\":true,\"command_id\":\"GRAM1-SITE-CHARTS-V37-SCOPED-RUNTIME-VERIFY-20260801T122700Z\",\"control_plane_error\":null,\"deployment\":{\"container_hashes\":[{\"path\":\"app.py\",\"service\":\"web\",\"sha256\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\"},{\"path\":\"templates/index.html\",\"service\":\"web\",\"sha256\":\"541157608706ebb8d4a415a13ee1d1972947bc5b6cbe26c0eae36b6cabc9b7a5\"},{\"path\":\"worker.py\",\"service\":\"worker\",\"sha256\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}],\"running\":[\"web\",\"worker\"],\"runtime\":{\"local_headers\":{\"server\":\"uvicorn\"},\"local_root_sha256\":\"541157608706ebb8d4a415a13ee1d1972947bc5b6cbe26c0eae36b6cabc9b7a5\",\"public\":{\"headers\":{},\"root_sha256\":\"541157608706ebb8d4a415a13ee1d1972947bc5b6cbe26c0eae36b6cabc9b7a5\",\"status\":200},\"svg\":{\"AVAX\":{\"bytes\":12739,\"candles\":72,\"sha256\":\"2dd8850447185c0b4be5c146242e8195ae840af1666fe877a4c5b110f60a22c9\"},\"HBAR\":{\"bytes\":14697,\"candles\":84,\"sha256\":\"fc264da18dc00f687524173cfed544f449c2a4e57dee99c06d4504e505bb38af\"},\"LINK\":{\"bytes\":16003,\"candles\":92,\"sha256\":\"cb40e40aac61db48c82361a18fe7e89e93c96624718d205c3575db9f4d22d38c\"},\"POL\":{\"bytes\":4949,\"candles\":24,\"sha256\":\"cc01cf71a17ea5420a4d679574f289f04438365f5ded4aaa1a70d2fc12902823\"}}}},\"diagnostic_capsule_sha256\":\"8686c0d694fb9928d91889858d2fbae09494b52b39588df68e7072c4ef666563\",\"diagnostic_command_id\":\"GRAM1-SITE-CHARTS-V34-COMPOSE-MAX-OUTPUT-FIX-20260801T115500Z\",\"duration_seconds\":7.555,\"gitea_changed\":false,\"mutation_outcome\":\"MUTATED\",\"old_hashes\":{\"app.py\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"templates/index.html\":\"40c9667f6adb283ed606357c52f2def24ce4a330cb69a1559f1c0ebc0b3478b3\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"production_site_changed\":true,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"semantic_checks\":{\"details\":true,\"direct_content\":true,\"direct_marker\":true,\"images\":true,\"new_script\":true,\"new_style\":true,\"no_sibling_root\":true},\"status\":\"OK\",\"target_hashes\":{\"app.py\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"templates/index.html\":\"541157608706ebb8d4a415a13ee1d1972947bc5b6cbe26c0eae36b6cabc9b7a5\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}},\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"selected_method\":\"ALIAS_PINNED_AS_DEBIAN\",\"ssh_method_probes\":[{\"duration_seconds\":0.133,\"identity_count\":null,\"identity_sudo_read_ok\":true,\"name\":\"ALIAS_PINNED_AS_DEBIAN\",\"rc\":0,\"stderr\":\"\"},{\"duration_seconds\":0.124,\"identity_count\":2,\"identity_sudo_read_ok\":true,\"name\":\"DIRECT_PINNED_AS_DEBIAN_NO_PROXY\",\"rc\":0,\"stderr\":\"\"}],\"status\":\"OK\"}\n" }