{
  "schema_version": 1,
  "channel": "homelab-runtime",
  "command_id": "GRAM1-SITE-CHARTS-STATIC-COMPAT-ACCORDION-V29-ATOMIC-FIX-20260801T105500Z",
  "status": "OK",
  "rc": 0,
  "host": "pve01",
  "mode": "change",
  "component": "gram1-charts-v29-ui-fix",
  "started_at_utc": "2026-08-01T10:56:54Z",
  "finished_at_utc": "2026-08-01T10:57:08Z",
  "reference_register_checked": true,
  "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
  "error_register_checked": true,
  "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
  "command_sha256": "bf15c2f625e2df3ea246d9564920c832ff74e708c06dec7470eecd7f888bd187",
  "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": "b42cd112ab0748a9b3376f5cf25a9198ff0bb9c9cdb363a10a85734ea545fb36",
  "sanitized_output_sha256": "76a5bf7b4e8d90b3c60595c2e537343c79ba09652531d5652b7df7cf41359141",
  "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-STATIC-COMPAT-ACCORDION-V29-ATOMIC-FIX-20260801T105500Z\",\"mutation_outcome\":\"MUTATED\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":true,\"command_id\":\"GRAM1-SITE-CHARTS-STATIC-COMPAT-ACCORDION-V29-ATOMIC-FIX-20260801T105500Z\",\"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_path\":\"/var/lib/homelab-change-rollback/GRAM1-SITE-CHARTS-STATIC-COMPAT-ACCORDION-V29-ATOMIC-FIX-20260801T105500Z\",\"baseline_capsule_sha256\":\"568b0311741b93ae8ece3a3346c287f195c3f727ce6d04d4e28bdf87a5a4a88b\",\"baseline_command_id\":\"GRAM1-SITE-CHARTS-LAZY-ACCORDION-V26-ATOMIC-FIX-20260801T093500Z\",\"baseline_metadata_sha256\":\"fee67cb4877e96dca3113a17d1ec2facc8ecacaa97def7d83db86c1a545f1f53\",\"changed_paths\":[\"templates/index.html\"],\"changes_made\":true,\"command_id\":\"GRAM1-SITE-CHARTS-STATIC-COMPAT-ACCORDION-V29-ATOMIC-FIX-20260801T105500Z\",\"control_plane_error\":null,\"deployment\":{\"chart_cache\":{\"all_present\":true,\"symbols\":{\"AVAX\":72,\"HBAR\":84,\"LINK\":92,\"POL\":24}},\"container_hashes\":[{\"path\":\"templates/index.html\",\"service\":\"web\",\"sha256\":\"e9e723c9b916383ce10dffe8f8bbdb4049b78d89c5b139e2de5ed82194a27be4\"},{\"path\":\"app.py\",\"service\":\"web\",\"sha256\":\"ec226952cdb7fb58edbfc0173af47f4d901f3206e15169df12294983731fbc20\"},{\"path\":\"worker.py\",\"service\":\"worker\",\"sha256\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}],\"running\":[\"web\",\"worker\"]},\"diagnostic_capsule_sha256\":\"f164b187dcae620c21210581687553e6216e9c1643ec8a29a7f63f086bde483c\",\"diagnostic_command_id\":\"GRAM1-SITE-CHARTS-BROWSER-RUNTIME-V28-REDIRECT-AWARE-READ-ONLY-EXACT-DIAG-20260801T103600Z\",\"duration_seconds\":13.202,\"gitea_changed\":false,\"idempotent\":false,\"installed_hashes\":{\"app.py\":\"ec226952cdb7fb58edbfc0173af47f4d901f3206e15169df12294983731fbc20\",\"templates/index.html\":\"e9e723c9b916383ce10dffe8f8bbdb4049b78d89c5b139e2de5ed82194a27be4\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"mutation_outcome\":\"MUTATED\",\"old_hashes\":{\"app.py\":\"ec226952cdb7fb58edbfc0173af47f4d901f3206e15169df12294983731fbc20\",\"templates/index.html\":\"db9a1605bd37fca7d6ff651921dd3bc0ccac991f2e8f221179c4dddc3b2c3536\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"production_site_changed\":true,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"semantic_checks\":{\"all_symbols\":true,\"api_v4\":true,\"api_v5\":true,\"legacy_hidden\":true,\"normalization\":true,\"same_origin\":true,\"script_v3\":true,\"shell_before_library\":true,\"style_v3\":true,\"visible_errors\":true},\"status\":\"OK\",\"target_hashes\":{\"app.py\":\"ec226952cdb7fb58edbfc0173af47f4d901f3206e15169df12294983731fbc20\",\"templates/index.html\":\"e9e723c9b916383ce10dffe8f8bbdb4049b78d89c5b139e2de5ed82194a27be4\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"ui_facts\":{\"candle_normalization\":true,\"chart_layout\":\"EXCLUSIVE_ACCORDION\",\"first_open\":\"HBAR\",\"legacy_no_data_hidden\":true,\"library_api\":\"V4_AND_V5\",\"shell_mount\":\"BEFORE_LIBRARY_WAIT\"}},\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"selected_method\":\"ALIAS_PINNED_AS_DEBIAN\",\"ssh_method_probes\":[{\"duration_seconds\":0.12,\"identity_count\":null,\"identity_sudo_read_ok\":true,\"name\":\"ALIAS_PINNED_AS_DEBIAN\",\"rc\":0,\"stderr\":\"\"},{\"duration_seconds\":0.123,\"identity_count\":2,\"identity_sudo_read_ok\":true,\"name\":\"DIRECT_PINNED_AS_DEBIAN_NO_PROXY\",\"rc\":0,\"stderr\":\"\"}],\"status\":\"OK\"}\n"
}
