diff --git a/runtime/history/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1.json b/runtime/history/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1.json new file mode 100644 index 00000000..026ec7c8 --- /dev/null +++ b/runtime/history/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "homelab-backup-gfs-partial-rca", + "started_at_utc": "2026-09-21T01:39:51Z", + "finished_at_utc": "2026-09-21T01:39:51Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "35b236613d6860b2e4136d3e1e3107102f08d5803afd08f853873173625af3d5", + "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": "e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e", + "sanitized_output_sha256": "e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "WORKERS2_BACKUP_GFS_PARTIAL_RCA_BEGIN=1\nCOMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1\nMODE=read-only\nCOMPONENT=homelab-backup-gfs-partial-rca\nHOST=pve01\nUID=0\nMUTATION_BOUNDARY=READ_ONLY_NO_FETCH_NO_RESET_NO_CHECKOUT_NO_WRITE_NO_SERVICE_ACTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL\nWORKTREE_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation\nWORKTREE_HEAD=326622a4864fa9b5f43b69981733236bb42c4d7b\nWORKTREE_STATUS_LINES=[\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\"]\nCOMMITS_SINCE_BASE=0\nCACHED_DIFF=[]\nCHANGE_FILES=[]\nTASK_FILES=[{\"bytes\":10566,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py\",\"sha256\":\"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793\"},{\"bytes\":2320,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py\",\"sha256\":\"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011\"},{\"bytes\":13825,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py\",\"sha256\":\"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d\"},{\"bytes\":3449,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py\",\"sha256\":\"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3\"},{\"bytes\":4627,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py\",\"sha256\":\"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b\"},{\"bytes\":4097,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py\",\"sha256\":\"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96\"},{\"bytes\":449,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json\",\"sha256\":\"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c\"},{\"bytes\":1806,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run\",\"sha256\":\"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a\"},{\"bytes\":39160,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit\",\"sha256\":\"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c\"},{\"bytes\":285,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service\",\"sha256\":\"7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa\"},{\"bytes\":221,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer\",\"sha256\":\"987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a\"},{\"bytes\":3455,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy\",\"sha256\":\"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa\"},{\"bytes\":32975,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc\",\"sha256\":\"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3\"},{\"bytes\":327,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service\",\"sha256\":\"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c\"},{\"bytes\":237,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer\",\"sha256\":\"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f\"},{\"bytes\":4406,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry\",\"sha256\":\"c681c44be7557d192d7b453b67e31164237874596168f1d4c78e1e926e2e9cb4\"},{\"bytes\":1656,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2\",\"sha256\":\"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2\"},{\"bytes\":309,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service\",\"sha256\":\"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565\"},{\"bytes\":192,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer\",\"sha256\":\"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d\"},{\"bytes\":4758,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json\",\"sha256\":\"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e\"},{\"bytes\":436,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\",\"sha256\":\"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d\"}]\nCANDIDATE_FILES=[{\"bytes\":436,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\",\"sha256\":\"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d\"}]\nBASELINE_RELEASE_FILES=[{\"bytes\":10566,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py\",\"sha256\":\"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793\"},{\"bytes\":2320,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py\",\"sha256\":\"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011\"},{\"bytes\":13825,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py\",\"sha256\":\"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d\"},{\"bytes\":3449,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py\",\"sha256\":\"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3\"},{\"bytes\":4627,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py\",\"sha256\":\"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b\"},{\"bytes\":4097,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py\",\"sha256\":\"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96\"}]\nLIVE_GFS_META={\"bytes\":449,\"exists\":true,\"sha256\":\"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c\"}\nLIVE_TARGETS_META={\"bytes\":4758,\"exists\":true,\"sha256\":\"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e\"}\nGFS_HELPER_META={\"bytes\":3455,\"exists\":true,\"sha256\":\"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa\"}\nGFS_CRITICAL_VM_LOGICALS=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\",\"vm200\"]\nACTIVE_VM_LOGICALS=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\",\"vm171\",\"vm190\",\"vm9130\"]\nGFS_CRITICAL_ACTIVE_INTERSECTION=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\"]\nGFS_CRITICAL_NOT_ACTIVE=[\"vm200\"]\nGFS_CRITICAL_RECORDS={\"vm110\":[{\"id\":\"110\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm110\",\"owner\":\"pve01\"}],\"vm111\":[{\"id\":\"111\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm111\",\"owner\":\"pve02\"}],\"vm112\":[{\"id\":\"112\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm112\",\"owner\":\"pve01\"}],\"vm113\":[{\"id\":\"113\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm113\",\"owner\":\"pve02\"}],\"vm130\":[{\"id\":\"130\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm130\",\"owner\":\"pve03\"}],\"vm150\":[{\"id\":\"150\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm150\",\"owner\":\"pve01\"}],\"vm160\":[{\"id\":\"160\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm160\",\"owner\":\"pve02\"}],\"vm170\":[{\"id\":\"170\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm170\",\"owner\":\"pve01\"}],\"vm200\":[{\"id\":\"200\",\"kind\":\"VM\",\"lifecycle\":\"RETIRED_PRESERVE\",\"logical_id\":\"vm200\",\"owner\":\"pve03\"}]}\nLIVE_POLICY_VALIDATE={\"path\":\"/etc/homelab-backup/gfs-retention.json\",\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200\"],\"stdout_lines\":[]}\nLIVE_POLICY_CRITICAL_LOGICALS={\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200\"],\"stdout_lines\":[]}\nCANDIDATE_GFS_EXISTS=true\nCANDIDATE_GFS_META={\"bytes\":436,\"critical_not_active\":[],\"critical_vm_logicals\":[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\"],\"sha256\":\"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d\"}\nCANDIDATE_POLICY_VALIDATE={\"path\":\"/root/homelab-ops-cr-2026-1005/tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\",\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_SET_INVALID\"],\"stdout_lines\":[]}\nCANDIDATE_POLICY_CRITICAL_LOGICALS={\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_SET_INVALID\"],\"stdout_lines\":[]}\nIN_MEMORY_CORRECTED_CRITICAL_VM_LOGICALS=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\"]\nIN_MEMORY_REMOVALS=[\"vm200\"]\nGFS_HELPER_VALIDATION_FOCUS=[{\"line\":4,\"sha256\":\"f73eaf5c141167f26d3cd9b0cdfca9b1cb34bc48e2a47efcfe8473d4148a89c4\",\"text\":\"REG=pathlib.Path(os.environ.get(\\\"HOMELAB_BACKUP_TARGET_REGISTRY\\\",\\\"/etc/homelab-backup/targets.json\\\"))\"},{\"line\":11,\"sha256\":\"17d911bfd01a1f638cca468224effdf6f9cc7ee8511bd556cb236fbc64e3e7ff\",\"text\":\" if c.get(\\\"completed_periods_only\\\") is not True or c.get(\\\"weekly_buckets\\\")!=4 or c.get(\\\"monthly_buckets\\\")!=6 or c.get(\\\"capacity_guard_max_free_fraction_milli\\\")!=500 or c.get(\\\"capacity_guard_target_max_age_seconds\\\")!=172800 or c.get(\\\"capacity_guard_cloud_max_age_seconds\\\")!=14400: die(\\\"POLICY_INVALID\\\",66)\"},{\"line\":12,\"sha256\":\"880f2144e950185b2bed0118c1ba10498b909a176b421d285cb96573a204c855\",\"text\":\" crit=c.get(\\\"critical_vm_logicals\\\")\"},{\"line\":13,\"sha256\":\"c44f6760ffd70ef6bcdc3064327167b3f0e6a79ae984f364195f1b218c62502a\",\"text\":\" if not isinstance(crit,list) or len(crit)!=9 or len(set(crit))!=9: die(\\\"CRITICAL_SET_INVALID\\\",66)\"},{\"line\":14,\"sha256\":\"a7894fb8f64ddd7cfe49ce592ad92002276da503fb5d9e2ea630aa9712b3555d\",\"text\":\" rows={x.get(\\\"logical_id\\\"):x for x in r.get(\\\"targets\\\",[])}\"},{\"line\":17,\"sha256\":\"1a59b8ac77450c24932f51e77bb0e485edca8b0664f74f5bfa3983aa9ba009c5\",\"text\":\" if not rec or rec.get(\\\"kind\\\")!=\\\"VM\\\" or rec.get(\\\"lifecycle\\\")!=\\\"ACTIVE\\\": die(f\\\"CRITICAL_NOT_ACTIVE_VM_{logical}\\\",66)\"},{\"line\":30,\"sha256\":\"4c9978e610851b78ae6d9f76e29b9021cb62944940640dc68ecc71dc41e2f378\",\"text\":\" if logical not in c[\\\"critical_vm_logicals\\\"]: return\"},{\"line\":32,\"sha256\":\"5c149f5d84df11ab050d1ab21e70b6259e8facc6d5ec60c8c6005400bdd9ccc1\",\"text\":\" weekly=[]; monthly=[]; seen_w=set(); seen_m=set()\"},{\"line\":39,\"sha256\":\"3a95b6ce11458868739c37ad6b934f4f69ee821f18c4fc655e913742a8bd3d05\",\"text\":\" if wb!=cur_week and len(weekly)=c[\\\"weekly_buckets\\\"] and len(monthly)>=c[\\\"monthly_buckets\\\"]: break\"},{\"line\":44,\"sha256\":\"8ddd05307b16bdb65e27ed4daaa771bff5c79cef98f456936e8fe5a1702258be\",\"text\":\" for gen,b in weekly: print(f\\\"WEEKLY\\\\t{gen}\\\\t{b}\\\")\"},{\"line\":45,\"sha256\":\"1117b07f51ec1fecccdde8595f3f4c22d1468fb33b1bee17fb70df87e24a3a14\",\"text\":\" for gen,b in monthly: print(f\\\"MONTHLY\\\\t{gen}\\\\t{b}\\\")\"},{\"line\":48,\"sha256\":\"0a7ee6ef3c083194f0004d25d05a420f3d4b36231bdbbb86faefe3df3e22bfb5\",\"text\":\" if args==[\\\"validate\\\"]: print(\\\"GFS_POLICY=OK\\\"); return\"},{\"line\":49,\"sha256\":\"c61eee89554bc74f8ccab7518825e202e69d626bd7385132da86752e4e997187\",\"text\":\" if args==[\\\"critical-logicals\\\"]:\"},{\"line\":50,\"sha256\":\"a6db40d91e1d862c8ca704051a4bd342a8dc443673314f5713b926709a5369d5\",\"text\":\" print(\\\"\\\\n\\\".join(c[\\\"critical_vm_logicals\\\"])); return\"},{\"line\":51,\"sha256\":\"41e05ff5ca7a41dadee3e5d88a28a843d3d0a8c48c382142b386aebf2b9b55be\",\"text\":\" if args==[\\\"weekly-buckets\\\"]: print(c[\\\"weekly_buckets\\\"]); return\"},{\"line\":52,\"sha256\":\"7187022be500b823309292b134f1d87a2148def6a60db7ec4450e3a470e10eac\",\"text\":\" if args==[\\\"monthly-buckets\\\"]: print(c[\\\"monthly_buckets\\\"]); return\"},{\"line\":53,\"sha256\":\"bec70750c2fa1733ce3829a85169999d3a0f90eb879021467c16e88683851999\",\"text\":\" if args==[\\\"capacity-guard-milli\\\"]: print(c[\\\"capacity_guard_max_free_fraction_milli\\\"]); return\"},{\"line\":54,\"sha256\":\"9b69cba2b5792004710d50ad75c02583c68431d7d928faee8d29925dbdafa785\",\"text\":\" if len(args)==2 and args[0]==\\\"is-critical\\\": raise SystemExit(0 if args[1] in c[\\\"critical_vm_logicals\\\"] else 1)\"}]\nPARTIAL_REPO_STATE_PRESENT=true\nNO_MUTATION=true\nNO_GIT_FETCH=true\nNO_RESET=true\nNO_CHECKOUT=true\nNO_SERVICE_ACTION=true\nNO_BACKUP_STARTED=true\nNO_RESTORE_STARTED=true\nNO_RETENTION_RUN_STARTED=true\nNO_DELETE=true\nNO_MAIL_SENT=true\nRCA_DURATION_SEC=0.089\nTASK_RESULT=PASS_HOMELAB_BACKUP_GFS_PARTIAL_RCA_READONLY\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\nWORKERS2_BACKUP_GFS_PARTIAL_RCA_END=1\n" +} diff --git a/runtime/history/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1.txt b/runtime/history/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1.txt new file mode 100644 index 00000000..edf10d34 --- /dev/null +++ b/runtime/history/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1.txt @@ -0,0 +1,80 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=homelab-backup-gfs-partial-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=35b236613d6860b2e4136d3e1e3107102f08d5803afd08f853873173625af3d5 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e +SANITIZED_OUTPUT_SHA256=e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e +OUTPUT_BEGIN +WORKERS2_BACKUP_GFS_PARTIAL_RCA_BEGIN=1 +COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1 +MODE=read-only +COMPONENT=homelab-backup-gfs-partial-rca +HOST=pve01 +UID=0 +MUTATION_BOUNDARY=READ_ONLY_NO_FETCH_NO_RESET_NO_CHECKOUT_NO_WRITE_NO_SERVICE_ACTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL +WORKTREE_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation +WORKTREE_HEAD=326622a4864fa9b5f43b69981733236bb42c4d7b +WORKTREE_STATUS_LINES=["?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json","?? tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json"] +COMMITS_SINCE_BASE=0 +CACHED_DIFF=[] +CHANGE_FILES=[] +TASK_FILES=[{"bytes":10566,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py","sha256":"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793"},{"bytes":2320,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py","sha256":"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011"},{"bytes":13825,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py","sha256":"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d"},{"bytes":3449,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py","sha256":"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3"},{"bytes":4627,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py","sha256":"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b"},{"bytes":4097,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py","sha256":"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96"},{"bytes":449,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json","sha256":"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c"},{"bytes":1806,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run","sha256":"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a"},{"bytes":39160,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit","sha256":"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c"},{"bytes":285,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service","sha256":"7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa"},{"bytes":221,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer","sha256":"987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a"},{"bytes":3455,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy","sha256":"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa"},{"bytes":32975,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc","sha256":"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3"},{"bytes":327,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service","sha256":"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c"},{"bytes":237,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer","sha256":"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f"},{"bytes":4406,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry","sha256":"c681c44be7557d192d7b453b67e31164237874596168f1d4c78e1e926e2e9cb4"},{"bytes":1656,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2","sha256":"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2"},{"bytes":309,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service","sha256":"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565"},{"bytes":192,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer","sha256":"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d"},{"bytes":4758,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json","sha256":"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e"},{"bytes":436,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json","sha256":"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d"}] +CANDIDATE_FILES=[{"bytes":436,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json","sha256":"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d"}] +BASELINE_RELEASE_FILES=[{"bytes":10566,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py","sha256":"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793"},{"bytes":2320,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py","sha256":"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011"},{"bytes":13825,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py","sha256":"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d"},{"bytes":3449,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py","sha256":"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3"},{"bytes":4627,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py","sha256":"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b"},{"bytes":4097,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py","sha256":"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96"}] +LIVE_GFS_META={"bytes":449,"exists":true,"sha256":"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c"} +LIVE_TARGETS_META={"bytes":4758,"exists":true,"sha256":"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e"} +GFS_HELPER_META={"bytes":3455,"exists":true,"sha256":"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa"} +GFS_CRITICAL_VM_LOGICALS=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170","vm200"] +ACTIVE_VM_LOGICALS=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170","vm171","vm190","vm9130"] +GFS_CRITICAL_ACTIVE_INTERSECTION=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170"] +GFS_CRITICAL_NOT_ACTIVE=["vm200"] +GFS_CRITICAL_RECORDS={"vm110":[{"id":"110","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm110","owner":"pve01"}],"vm111":[{"id":"111","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm111","owner":"pve02"}],"vm112":[{"id":"112","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm112","owner":"pve01"}],"vm113":[{"id":"113","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm113","owner":"pve02"}],"vm130":[{"id":"130","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm130","owner":"pve03"}],"vm150":[{"id":"150","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm150","owner":"pve01"}],"vm160":[{"id":"160","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm160","owner":"pve02"}],"vm170":[{"id":"170","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm170","owner":"pve01"}],"vm200":[{"id":"200","kind":"VM","lifecycle":"RETIRED_PRESERVE","logical_id":"vm200","owner":"pve03"}]} +LIVE_POLICY_VALIDATE={"path":"/etc/homelab-backup/gfs-retention.json","rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200"],"stdout_lines":[]} +LIVE_POLICY_CRITICAL_LOGICALS={"rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200"],"stdout_lines":[]} +CANDIDATE_GFS_EXISTS=true +CANDIDATE_GFS_META={"bytes":436,"critical_not_active":[],"critical_vm_logicals":["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170"],"sha256":"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d"} +CANDIDATE_POLICY_VALIDATE={"path":"/root/homelab-ops-cr-2026-1005/tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json","rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_SET_INVALID"],"stdout_lines":[]} +CANDIDATE_POLICY_CRITICAL_LOGICALS={"rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_SET_INVALID"],"stdout_lines":[]} +IN_MEMORY_CORRECTED_CRITICAL_VM_LOGICALS=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170"] +IN_MEMORY_REMOVALS=["vm200"] +GFS_HELPER_VALIDATION_FOCUS=[{"line":4,"sha256":"f73eaf5c141167f26d3cd9b0cdfca9b1cb34bc48e2a47efcfe8473d4148a89c4","text":"REG=pathlib.Path(os.environ.get(\"HOMELAB_BACKUP_TARGET_REGISTRY\",\"/etc/homelab-backup/targets.json\"))"},{"line":11,"sha256":"17d911bfd01a1f638cca468224effdf6f9cc7ee8511bd556cb236fbc64e3e7ff","text":" if c.get(\"completed_periods_only\") is not True or c.get(\"weekly_buckets\")!=4 or c.get(\"monthly_buckets\")!=6 or c.get(\"capacity_guard_max_free_fraction_milli\")!=500 or c.get(\"capacity_guard_target_max_age_seconds\")!=172800 or c.get(\"capacity_guard_cloud_max_age_seconds\")!=14400: die(\"POLICY_INVALID\",66)"},{"line":12,"sha256":"880f2144e950185b2bed0118c1ba10498b909a176b421d285cb96573a204c855","text":" crit=c.get(\"critical_vm_logicals\")"},{"line":13,"sha256":"c44f6760ffd70ef6bcdc3064327167b3f0e6a79ae984f364195f1b218c62502a","text":" if not isinstance(crit,list) or len(crit)!=9 or len(set(crit))!=9: die(\"CRITICAL_SET_INVALID\",66)"},{"line":14,"sha256":"a7894fb8f64ddd7cfe49ce592ad92002276da503fb5d9e2ea630aa9712b3555d","text":" rows={x.get(\"logical_id\"):x for x in r.get(\"targets\",[])}"},{"line":17,"sha256":"1a59b8ac77450c24932f51e77bb0e485edca8b0664f74f5bfa3983aa9ba009c5","text":" if not rec or rec.get(\"kind\")!=\"VM\" or rec.get(\"lifecycle\")!=\"ACTIVE\": die(f\"CRITICAL_NOT_ACTIVE_VM_{logical}\",66)"},{"line":30,"sha256":"4c9978e610851b78ae6d9f76e29b9021cb62944940640dc68ecc71dc41e2f378","text":" if logical not in c[\"critical_vm_logicals\"]: return"},{"line":32,"sha256":"5c149f5d84df11ab050d1ab21e70b6259e8facc6d5ec60c8c6005400bdd9ccc1","text":" weekly=[]; monthly=[]; seen_w=set(); seen_m=set()"},{"line":39,"sha256":"3a95b6ce11458868739c37ad6b934f4f69ee821f18c4fc655e913742a8bd3d05","text":" if wb!=cur_week and len(weekly)=c[\"weekly_buckets\"] and len(monthly)>=c[\"monthly_buckets\"]: break"},{"line":44,"sha256":"8ddd05307b16bdb65e27ed4daaa771bff5c79cef98f456936e8fe5a1702258be","text":" for gen,b in weekly: print(f\"WEEKLY\\t{gen}\\t{b}\")"},{"line":45,"sha256":"1117b07f51ec1fecccdde8595f3f4c22d1468fb33b1bee17fb70df87e24a3a14","text":" for gen,b in monthly: print(f\"MONTHLY\\t{gen}\\t{b}\")"},{"line":48,"sha256":"0a7ee6ef3c083194f0004d25d05a420f3d4b36231bdbbb86faefe3df3e22bfb5","text":" if args==[\"validate\"]: print(\"GFS_POLICY=OK\"); return"},{"line":49,"sha256":"c61eee89554bc74f8ccab7518825e202e69d626bd7385132da86752e4e997187","text":" if args==[\"critical-logicals\"]:"},{"line":50,"sha256":"a6db40d91e1d862c8ca704051a4bd342a8dc443673314f5713b926709a5369d5","text":" print(\"\\n\".join(c[\"critical_vm_logicals\"])); return"},{"line":51,"sha256":"41e05ff5ca7a41dadee3e5d88a28a843d3d0a8c48c382142b386aebf2b9b55be","text":" if args==[\"weekly-buckets\"]: print(c[\"weekly_buckets\"]); return"},{"line":52,"sha256":"7187022be500b823309292b134f1d87a2148def6a60db7ec4450e3a470e10eac","text":" if args==[\"monthly-buckets\"]: print(c[\"monthly_buckets\"]); return"},{"line":53,"sha256":"bec70750c2fa1733ce3829a85169999d3a0f90eb879021467c16e88683851999","text":" if args==[\"capacity-guard-milli\"]: print(c[\"capacity_guard_max_free_fraction_milli\"]); return"},{"line":54,"sha256":"9b69cba2b5792004710d50ad75c02583c68431d7d928faee8d29925dbdafa785","text":" if len(args)==2 and args[0]==\"is-critical\": raise SystemExit(0 if args[1] in c[\"critical_vm_logicals\"] else 1)"}] +PARTIAL_REPO_STATE_PRESENT=true +NO_MUTATION=true +NO_GIT_FETCH=true +NO_RESET=true +NO_CHECKOUT=true +NO_SERVICE_ACTION=true +NO_BACKUP_STARTED=true +NO_RESTORE_STARTED=true +NO_RETENTION_RUN_STARTED=true +NO_DELETE=true +NO_MAIL_SENT=true +RCA_DURATION_SEC=0.089 +TASK_RESULT=PASS_HOMELAB_BACKUP_GFS_PARTIAL_RCA_READONLY +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +WORKERS2_BACKUP_GFS_PARTIAL_RCA_END=1 + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 73b051d0..026ec7c8 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-DESIGN-CONTINUE-1012R1", - "status": "FAIL", - "rc": 76, + "command_id": "SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "homelab-backup-remediation-design-continue", - "started_at_utc": "2026-09-21T01:38:02Z", - "finished_at_utc": "2026-09-21T01:38:02Z", + "mode": "read-only", + "component": "homelab-backup-gfs-partial-rca", + "started_at_utc": "2026-09-21T01:39:51Z", + "finished_at_utc": "2026-09-21T01:39:51Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "fe181bc082af6c386c79448ec9e60ea98d4309d5df86d413cc09bdcddaa4334f", + "command_sha256": "35b236613d6860b2e4136d3e1e3107102f08d5803afd08f853873173625af3d5", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, - "result_contract_valid": false, + "change_declared": false, + "result_contract_valid": true, "result_contract_status": null, - "result_contract_error": "MISSING_CONTRACT", - "command_rc": 1, - "changes_made": null, - "rollback_started": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "UNKNOWN", + "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "c78acb250b3d3c9516ec8e076e79a01fd225a4594387bd2ae66286db38b5e275", - "sanitized_output_sha256": "c78acb250b3d3c9516ec8e076e79a01fd225a4594387bd2ae66286db38b5e275", + "raw_evidence_sha256": "e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e", + "sanitized_output_sha256": "e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "Traceback (most recent call last):\n File \"\", line 1, in \n import base64,zlib;exec(compile(zlib.decompress(base64.b64decode(\"eNrFPGt32kiy3/0rFG2ygY0ASQjxyNHdxUBsTmzsAzi5s46PpiW1jBKQNJIg9sT+77eqWy8wfmR3cu7MGSO1uqvrXV3V3eOtwiBKhCCW4rUVRoFN41j6Gge+tCDxYulZUkgS9htRKfFWVIoX68RbHgzGQ0OcXZyfn03nNVWXu6pSOz47HZ30D2uH/cHHi/PadHQ6Go778/HZpDYczcZHk9rgbDIfTy5GNUVW1KkiHnyeG+kE9XP4rYiNKAiSxiJY0SWxakEY1+yopsqqDkPkllg9OJwaYrmpZhH72zqsbdTagpJlsqiRJY0Sz7+uRXRFHY8kXuCLB4f92cgQm6quqyrROrrmkq7VcrWmpXe7HaXdbKpN3bI01dactiUezPuzj8bneUNMSPwtFhvii+apbYCowxMDRzdEEsc04WNjuvR8Kh4M+pPh7leb+I7nkAQ/H7M57QXxryl+G0xL1B9MRycjpGOHZ0FYsCxHsxHRJYV540aBebCh0ZLc1lqyFik1m+idtg58sJsWcHY270/nBgq5jn8q1YOD0f+ejwbz0dA8h0/j/onx44Dzo/FSbjQ4lY2MA41rN4YuCfWxQx1VTZT+a6A7xJO14yW/CGw9ptHGs+mvAo+sj/564Mj2MFh69u1fDzsXZ+3a/rXQfx3zt2b5RTJISHRNExh07cVJ9AsEsVF/Bcxfx3SA/VexmvM2zhzKfeG6Mp8JrsuNaLwwlze2uaDLkEb18FbsiY5lNakOf9uKpcjtbttx201daypOtyUrpN1Siex2bK3ZVfSm3SWy5ThW223rba3tyoqC2EPodNY2jUx6Q7ehW02r25a7Xct22gpEnzbA0nXaUVxCqE40lXR1p6N3HYhCXWjQ265OiW532ordla0mQkeMiUPCJAPadEnbUbqarMgOePC23bFsQLbZIrQDLl3VVdptNttduUmbiuxqEOdajtvp2ICAY3ccBPoHXa23oSpdGdigqZbT1CyLdlrU0nTX6QJLrGarrTqaTmWiKbbadfCPRVtu13FbVNM6rtKyEGpsL6izBqFtgya6q7eVVpfomqy32yzaurLaAY4ghl2qtGxXaZOOAgGYkhbVFbULfHMVR3OAQwga7DO6hcjFIZaDl6LpLUvWWk1NIx0CaHZ11aGK3m2rdtshjq0RW1dbbXhRVYDQbnebTElwUXAynozM2XEfFWRPcOqJII2WqlsURrdbXcWiLkzc7nZtajuO62odras3FdJt6tSxu26r27S0tqoorkVA5C3mEvcGKOC41tZsANTqWJatWE1C21qzreqKo1iO1VWBS2pX1V1L7WpNG8TclNVW0+1Yagem0B4FnZtsT2xboMqgD67sgK7QFiDYlFvEdXRNbXZ0uaMStd2yLNJsASvtrtV0qAs24Og2LIUIeXQKbrk9sQvc6LbcTpPSLpAO8morutVp6jBPB9igKDKxNVvvaC5YTtdSwL4cS6EttUk1Xd83QSlY9UTdalNbIWCjVLFbmky6itK0Wroqg+Q1q0VaskNhMt1tEhnsqKlYKlVUremqTYu4++BvBayeCCpj6TbYCUhXcZtdu9VsA0vAHAlwxFE6oKsKRaPQbGLbxAHc211bVZpAcYc0n5mhJAzZ1kDVgQ0W6CGlNpGJ23Jt0pEJccEMiONQW7WUDgEOdlVbdqnSttWOpbd0UCb7uZkymRCZtvUm+Jq2Bvyh4CBk4BRYktpUFI3IStPV4CPYXFO3bQrKoSodi9Cu1VEpUd098+wGL7BAvaPYmmbRdquF3kiFdTPYoKW3waQVVK92B+bv6oreQTu22x2qUFBnCt7JtrQ9k0AA64ktud3WNPATLbvdVLWWYlsdrdPt6B3Z1WGRDvJViKqBloJ/cpWuAiZBEW+nBa1E3Qu3JASFuuDvLVvXZbBjorgquCXw6i7pgNm1AbTSbbZlFBF0AJErQGcT7LSpdDotvbUffsb6FngfudXWZcBctZoyKKViAwXQJndaYOQyuEvwqE3aosC0jk0tF6yt5YAmdGjX4bGwFMzAAqjtyoAAkUHvVaJQdEaUgq9XIHIQ4AngpemgLt2W05ItpQmOhGiy1iHQqlPm6g7ArIVo7VfslSPZ3x1jEvhUov6GPVR7BwL8ExpFGlgvd4b/WF/4T0roTWLMozXkgokTrJPymPPx+QibaRTtNlfZDKCu68gXwjp/sAOHSmGdA+IPMJThGi9IJUzxWhhpOlqHVrWlVziw716yEIKQ+pVQEiOIP9badWkEywVDrgokFlw+nPVdeEsqINpFG/5jGS7gQpyKAvwCuVW3vnqu4AeJYPUECzp92/q2qK9DzNoq1hZpi/qC3jgepG8JoImU0JWXVL5Jm5QYgOnFnh8nxLdpZSNVHM9OpCWYlWQFwVLy/ERylwFJqlUhiIQN9BZQRj0hBNIA0jvREN+hbtSd9SqMAURMQxKRJIhioyJK8G9PrEoxZPbmN3obM2FVOZJ0Ge8AAmuubKoc0++Rl1ATBQwcjaUVSMeQA13TMv2owzzgbuqrb44XVfgLhy/RG6DADL7x2dLuJYAxKBCIG4UjrhO31hF5pyCu2wuYCWbE+TgiSJ2J1EFrYH19iMkWpiVeYGfPdwAtQ93hAMwfryNqktj2POMDAU5U34lfYLnI5z3gXBE/n00/jqYz1eR1DLNUxzB5HcPM6hjm4ehoPDEUIIUJWRycnZ5Chm+Oh6I0GA+r77nwxdOz4QjEwvN6MW+G7udnk9FkDt8e+PVivevQ2Lv2a3YAjt5f03y247MZjAQGrn2CCXvdB0LwMZ/gAhGBDuBO6NpzKtVs6OnFnFN0eHYxGfanvwEG09H5mXk2OfmtoG/QP59fTEcF3aen47k5OTPPp2fDiwGDAG+z0fTTeDAy+3lLyjt4mo5m8zMAwR7nQGvaYwjr8jlrPu2PT/D3aDwf9c3zi9kxUHgAZlJG/JUhozXsIbYeh0skqS5WL+WrV4YYbqisiD0hIl5MhenaR988iqIg4iwzgSvm6Xh22p8PcKrUyD/P615sol5X949FxZhPRyMcOxtPjmBoZEvouNDdobu8FK+x8CDWBqKEdvV5XpVEKwJDX2BrLV4E32v2OkKzEa/YzJHNyFrDmi2JvBAJPZw+M//htD8ZHJdJeAkeEd3UwGJjiAfi8ag/fAIBWBY/gwIC+FkElri4XgUJIhBE3rUHpgdYuXEDkj0nbqwItABSS29DTXwxKiW0UjGjjNGFlr4wpyaIYomcHMRTxHB9A+2bmKdnn0bDF5IBjjtZx0yeYRDZYLSA6UZhDQA/AvulTs2FcBMbZLlEioidrMnSgJQVQoLL8POp4PmcCqQLG+JKESFQIbGtJ2RWv/sFqCdREmMMrIj//KcgPqK1F5M8FZ5PwSrhN5fi4Lg/ORqZ4jsEeNlTr7hL5ujWYTVaYR+aPa4qvP2VsVsW3D9x+tGcDc7OR7muwGQ7sRxdcP1r4PkV9NfUqfBpqtU6Cxhg6tVySL3sKTqgw9iI5i99J36CvCwnc3WIDqucn6FxeNLAvmUehmjtKKUKC7N8ufHKQGj76SnDL5PDHO5B5kXScsMzruSTmtUlys6ELk0EFhspI8I6vgpIaYgU5rAhr2bAucZnw15l43ZrH88j8WF8MpqN5mWLnh6eINtKde+0oCy+F+DbC5YAaX9zRRNiXF49lNgunttSiyPbSD88EB58eyg+aHxSgCV694oQ4TtxYkxTbXkv8M2Ouh2Et2wqmEGCHhBe81ULvEp8YZLhh6hgp2dQyULro6iU2VcnISxzncoPEb+LPcZGkRuQ2MN5IM7cJjQWezA1uoYEPWZixt6f9B60k9XRTGTpzt7BOo4ay8Amy0ZseX5eoWP9V8Qn1zTKlyRrv4iWOcBCDvtJ7Z+MpnMzN55C3TkEZDiq2XMTPxRGjoGUQyoLJm/MxJP2XxADJVSMOTjgtUYz3OXNhgBvPCtnCu+XFSnXvud64Ol5OYTlatUMlOe7gfFDZAYBMskmKHh1j3x82Mw1H/LrIklZfDXY+hYyAieu5EMwZ+Hr3wfL6iKFKWFzKSZByBbD4lXmJxZf69gAfmQnKVl8lTApSSMrmG4GMKZL48f9QSk92jNqO8FCq/+G1n5ZRE7OQTN/j7z4mxnTDeRuyW32DhQC3fjZiUzIJAO3GIBBMQqWJqvoQuTEtsDCHJ9Y3pIDsUlIbP7IEzXHJIm5TmzxahvDlBKG5OKrQHxnm6rLb1dSBcJ/kZnxRC25DWmFZc8se6uCAQB/oLfBxuyXAvSgNuCCUqDL9zsfuUFfMQ3NRJ0mbjc2DRNhxH4gKcD0FlYHW8PZ6s6kaHcAg6FHq3WTRQfTPDhI6wplfaqg7W3VG6pPq9a1+3D8nrLpM1A2K1WWjcsbph03yPgMB/hTyRASpcsrppo3vHkZXHvgqUzPEauGITIg4hVa0pL6FfYKXldhWTO+wFIxHei51L61l5A6QX4Aach4iqsXSE0gcRk9kip8OgUQEDGOxrP59DfWG3KmUTlG2qCvBsq+AizgU2ETQ3KzMlN8OR3Mc+JX8GBrzDM5+ojwU/MffZjtnRomNPON47JESskw9Knu9Lzcj+DVliywC2P7q4LJuHH9gpifTQbOFEfs1Y33pfS+6C9t4Ql5qr8xwJnDjxfBSHT7Fcxr/c2lmJ40yLJMxqOzk/HgNzQdWKcXUDlGECPwB5f2+Fss70vhDxw9bt48tXEqbsiSb9RfZdUwJlU+BWSo+wWJjBgPUX6I6Kf+CX/5AGkvaOGD9XAlRfVdiuoz6+CYQrQEicbomLMlFkrx0cVguiYuljks+TCeiikScyqxAelauCQ22NFW2gJuzAOFSAMFIuFJWYpD/fWKRlgnY50lpRQf2Oq1HlMS2YtK9LbyT6/6xaqgl6d3QBVYbZzcFVZ/tyS4pFnbWFS8A62Kbk3iwmIYnuP1Mrm7pj5OBZp2dx1R6psYUTBI3xUR4C7bojK5lyneORDA4C1DfieOIYXFMoyd5uh5xRpsR4gsQ9srN0lEDos9nnK1ZPnqnnv4XJCXKBUIIjAhCFmVr2D5hmsMM9xaKW3tJb0XeBcuyrT7fy7QdMJMqo9JtDRnLtc9Mq3Yy2Dt1P5YB9F6dZcnFHez32bz0enQ5CrK6lF3n07N+fh0NL3rn5+nT1iNmp6dpG/z/vQIMpXML9+xJcAd6MySluUPrUkQQTTceA4QT++YVlUfiLYg9K8XbpsLl0+xUU3yHTynQfzbSpFVicjRm0s+7qrwwQVeYOOw4EY1jlLxXh6If3vFXBcu2cELCRYgyLZfaSLU6DoQQi+kLvGW2LhekfibILfb8PL2eNQ/mR8br3/s+FC+TOdfe7WfXvrevwXYPEgNx9PHwOcd9syQqXO64V8CiMmpIb7OBzeYKHksYb1GkyHWEB+dNf0OkyLPWJ4Tg6RXwB82DRYFjdeVRRAnzHnW4io2X17CkyC+5kwRhb//XXgl1E5KLVdXwt0dLM0gXOpaNuQGOmRTlgcVbeVhXRw2HQ3G5+PRBLEIN6DPAjgmoUGYowOkaRSzg3H/CslKqNUgOITrpAa6siIJC6aC+j8Nh24a/nq5FO6Er3+AFkTCl7d1ikQKjYZAV2Fy++VtTpgPGOXTbqOkZ6y/mAE+CIuB2lq0I8h68SheTD5Ozj5PxC9vC/awuabj2ccylK2l/jNDIVydTTIc7Hx0mhjg4MurB6OG0/J0O6nD0xNCSl4emyUQTw86O9zi0lYW8vTIDzgb23RwYeSb+MsX+ZE/OJILRESxAUvZL+cPPg6n+Bfwxx/ASAQl4M4qXq/gmXz/BlP8YJMJr5X7VBHYek6ohULJuphJsRRaAP/14AusRT8ZInsET5+ZSGGoWxpfar26ei8kC+oLDECJYS4YO404ZoWe7ozeUu87SJDXuMfheojGYX9oyAxpgmXgnFHgRM8+3h1NR6NJVXj/XvhHVcCuCj7TmNgFCeJr+CAKhiEoiL34+gPw8ZUBD4hsgTuOEIQf/EcQctHNg56AovIZ3oVVPeg4W1tfIfvrCZepoxK4o7qC4QLXUAOeUMuNAiDb5nmoAQ+gDyAphnV2bQ6JX0/AgNIIsTj9XrAXmBkmxsX8Q62DYBHyg/HH4P9SQg6ZracopW1TwCp75BaYvg2nArOx9HWQmk36elY2iDKfHiHrGcXmWN+DTpc9ai3BdrrclaeM8mS+jkvy/0+6MO7s0wjSzi3y/3IZpoLj4RoWYjYe+aWOACHiTVwXBnzv6aGu1V+kbPvZzs0wWYVG2Wjr0FB//ZqNRGP3IXDBgltww1QE/DX1y8WEvBnRyjWCN0GoE19XcBkv1NbCuze/1d6sam+c+Zvj3pvT3pvZv6si+jhczq9IT5FKjqX32g2lVJlf818JZ+i9xr/Sdnmo95ok4CCF/xFfAwkld6gzd5i1rTZCzU3ft70VfL3iS7bbPA3eWeVgVK7xLrB0L21mZ8OkYldke/GXblnLQbvVqh74mNr6LLH1S2ktXw6KNZ9vW2VAq3wbx38qWZ2czccfxqMpVmyPzUmapYos0WQnaIwCM1iHXl74XnIFcw1pbEceK00Zx5xYwdpSRr4UyaiBIX1M3QyfJt+D6Fst8Nmymidl8PUzwRrDI18PRDAUWHvCbFirHbE6q/FYMXsP0yURgVzOOE1IAFqcEQCHFwFOfwHkGrjmguejKFiH2cvohtoz3Hr7yekOgPnskNALGAgiEV7IREbGHOEikDP/ELCcUdtQ5BXbXz3zcYK+nXgbytpbvP0c1pTANDwogdEUt/+J7wQr70/qDGHiW+ysy9kMYyyHLpdXqWCoc3jLrgpEcSExRmJJl5/T/OJgcfrwc6PTo8PsB9TT8WLm7G7xICd3AiJ4gfTMBdYMe9u3KSR2LQM3BMQebk9IIts1vgYMCNs7xjQu3UYGFkTcTMz8Lkfvh5ht0eC+gdhDU8uKLFL+jW0Ei73ybo4kpnsRTOBmlmXmGxT3MB2vu7E5+Ik7E515BFRkpU1JZGWurJxnUcgHACts2PnEaiRi70WFQKm4jmLyuleOHxalS5W1cs+sMAaehc8T2UgEV9p8/wOr1NCann79IZYBpyULgJolysCQrcRZymvn3BNm33mdRNUg10a+qWypD3LNyikAP3uE76hBJj9Qw7lre6EHVmDGwTpi5wPzRIvbWkTjYLmBEMosfXmLcSjVBXZ8IRsP4dnBigBIiJ0tQnR5jpmqh/gw+8S9DeqsQ5wWsLaWNIuHpeDFZ2GqbXLDt/mdph6WXO/xcN/g+PnSbLnqOjhuiLm9pGfm8/fqwXbHiP6xpnG6wyXlxoW1tZih8bSRJV6yRPqmQINv4yG8dI3ySU2dmiQcfZgJeZFY4GonsY0YLoOsKICuiCdYoASxT0LmrHsim0/u1lQFUlhi5wISMmONBUjmkjWuhJgxCHawAp1wYgGwVKcKXkiTp+wov4cLMAfhoxoB8AJdL8aFIh6DAL8g5Efd3zP86Y29XINiISEeTsTsNNvgEWKQMjg55JgAWTuMjREk5LK4Ln7PzxeSa9rIZC2gksQC048lipxm3EgChkamj8BW17tmtOWqSxwnwoOXSBAucYAMPE62XrHjpZRtSl4W9ssI4GwXMlNm22x5hyziCCHevIhZwUmosQM8O6wWZsd9sGpYkqLAeYyOOckC91FCunu3RGmE4RLDox+kga6RFu4arGYI5C8pUwqPJUhY0RasW6F0Oi4FcYWUAkyEgkpYTIE3S4Tsk5CCj1NFASxrDECuMsxfM91jkUXgxSZhEggco6LGuIUcWF4iBC5IBl64OdTFg/vtkAbW5K3CJSDvJwxEfcUO/P5NKBuNsN1H4N4K1ue+ePDOBX3EI5y//8CYdf97PW0X//Y34TwCzcH+LrjJmDfXhN+ZIv6OSP6+u/X1u2CtE+QmxLiYbcMtuDJkwUH4dCrgBhfkH7ku4CGuDfAI1mS3GfR6ilwtTzHSGmG2fmG+GjS+xnw54o/hctvDV+vL4DuNKtX7ErzC/DIJASHfIyzWgjYuwVd6q9WaO880yALwNA5ngADONPPUON7HApTANMFBso88oDDX8dTlx8JOKChFANwqWjPpsAuTJSFMQNKQQK+9JWh3WdXzEw7Oiu13gla6UbBClgPK8PgnxU0bjEKxJGDxFjUu5slbbl1O5LmJJLCNjdvMuaR2RX3gArhJgWEL2ukx//4FDybsqCE6BaZ8u7qHH2IkpyYMA3bSIwHPlORebUmvCXgJCAlrcEGpIyOg8qnYQU65Y2REgGOC7LIAB1Is+XpueyjYpbDtjnI/xGyRwFh2EBYWq9z9QlrMDC+iG49+p055DnSdqcycNZ4HT22owdmbBYPyEAzfNYzfuHscroGP4ODQGvIInztVHHXOLnyVSFitY9D5mD4u8XCBt3F5VONBKvNJ7OTOfjGlXfaLKv2I0sqsLo1rnDFhEHug4reYPd3WhWk2H+cahNQGM2Ww8sxx8bOqDIqX1IUPa2STEBbE/qQfRaMSdjx5VEJjn9fcxwcWsvYygX3h+jraG/rTeMSkNvNuyv4k9RZpwAI+wDonjVSZg8l2T6E5ZCAGT8bMnS6PRE2mA6gnzOsCh3Llcwp1Y6Ag6qS5EVt1BL6U+lMpE4BUMqbcKUk7PJe4R0CzkFC/jzDHAS0HbLbsIztsymMTE8QBP8iabgKiQ2RneQbHEt5iT0/S5CcU0z1n7FaPrpeBVRH/IVa3d3zLx524lhQ7b0UihZuX4F4wAUsCPHhbzU+4hTvn26StRCKs3u+uYNPz89mOcraSLWeJaZbGfu7T06WMIna6A9bXJWresTYk/yGNO/TldCcv214HNDGJqz62Q37Zr/2b1P6Ua926+eZd7erdv0ot8Pqlnr5f/VCl+7dS8sihvBE7c38yno+m/RPzA94BMMV3/LwpUP+SY9DgDdmR5/xaQ9zYXfn/1JXe/Dj6o4e1zf5wWNSjXoKj47kuQ9ImGJPYI5LIHCJOCIp0TZ2twy+7R7LZQZir7NgjH/Bo6ex4PDnCXc4jhuLapzchy1i3ZuAwsqOslZutk9z7eNkQ2RnX7Y4/eWEaNJQRUeC0nwiOfHpoezQb9M9H/wWz4QGW489Ldjj+8MEcHI8GH39OwDxQYStkNluZZy8L8lsOv8gaUoeXV3OexzG9/PLosR08svPscR0gCi87/PRNDQik9LuJQw38k119QHhpPfuvvrOQ36XgY7MZn7kXAjZgDmDpPTH7H8C5pEzLbyxt3SMSpYym/L5S+j1VQqymQ98LvB+FJ/y44eR3mPA0VX62ivnzRwtVWamLHb3LS2UIEz897JFWzLDDi6pmWLbCPMjkuZHDazPFgbFyXSxDv38xBHX6pJr9z/0p4L+TC2UsKZ1aT4+Mi1K5mJiBywv3j7Ik3wZ4umz1VEmMZUCl8hcuaEy8o3r2UbwvMClfD8tumolSWobKO23fGnv4PT3Ewf6/NOARHnzPbpZtdzgofc+um00vJo+D4RfRHrazEDljl/N2P5Vuqm1Nmqrv8GLKL9fNRmCEEWiUUyn9f3VqDBWpCYqcXjnEtQSSc3EyN877s5m5c47liSuIYg4kG8PhsA5TYO32XdEf4lbZjmcLrG43GA9zP8Hkmcd1c0Ucmml0tno302pMoTbZh3RhCl/wbPT9Cy+n/geXL0eTIbt6+X9is0GR\")).decode(\"utf-8\"),\"w2_design_continue\",\"exec\"))\n ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"w2_design_continue\", line 141, in \nRuntimeError: CANDIDATE_GFS_VALIDATE_FAILED_343221bc342698c5\nWORKERS2_BACKUP_REMEDIATION_DESIGN_CONTINUE_BEGIN=1\nCOMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-DESIGN-CONTINUE-1012R1\nMODE=change\nCOMPONENT=homelab-backup-remediation-design-continue\nHOST=pve01\nUID=0\nMUTATION_BOUNDARY=REPO_ONLY_CONTINUE_CAPTURE_DESIGN_COMMIT_NO_PRODUCTION_NO_SERVICE_ACTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL_NO_GITEA_PUSH\n" + "output": "WORKERS2_BACKUP_GFS_PARTIAL_RCA_BEGIN=1\nCOMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1\nMODE=read-only\nCOMPONENT=homelab-backup-gfs-partial-rca\nHOST=pve01\nUID=0\nMUTATION_BOUNDARY=READ_ONLY_NO_FETCH_NO_RESET_NO_CHECKOUT_NO_WRITE_NO_SERVICE_ACTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL\nWORKTREE_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation\nWORKTREE_HEAD=326622a4864fa9b5f43b69981733236bb42c4d7b\nWORKTREE_STATUS_LINES=[\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json\",\"?? tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\"]\nCOMMITS_SINCE_BASE=0\nCACHED_DIFF=[]\nCHANGE_FILES=[]\nTASK_FILES=[{\"bytes\":10566,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py\",\"sha256\":\"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793\"},{\"bytes\":2320,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py\",\"sha256\":\"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011\"},{\"bytes\":13825,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py\",\"sha256\":\"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d\"},{\"bytes\":3449,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py\",\"sha256\":\"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3\"},{\"bytes\":4627,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py\",\"sha256\":\"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b\"},{\"bytes\":4097,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py\",\"sha256\":\"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96\"},{\"bytes\":449,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json\",\"sha256\":\"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c\"},{\"bytes\":1806,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run\",\"sha256\":\"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a\"},{\"bytes\":39160,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit\",\"sha256\":\"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c\"},{\"bytes\":285,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service\",\"sha256\":\"7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa\"},{\"bytes\":221,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer\",\"sha256\":\"987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a\"},{\"bytes\":3455,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy\",\"sha256\":\"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa\"},{\"bytes\":32975,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc\",\"sha256\":\"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3\"},{\"bytes\":327,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service\",\"sha256\":\"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c\"},{\"bytes\":237,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer\",\"sha256\":\"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f\"},{\"bytes\":4406,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry\",\"sha256\":\"c681c44be7557d192d7b453b67e31164237874596168f1d4c78e1e926e2e9cb4\"},{\"bytes\":1656,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2\",\"sha256\":\"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2\"},{\"bytes\":309,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service\",\"sha256\":\"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565\"},{\"bytes\":192,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer\",\"sha256\":\"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d\"},{\"bytes\":4758,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json\",\"sha256\":\"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e\"},{\"bytes\":436,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\",\"sha256\":\"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d\"}]\nCANDIDATE_FILES=[{\"bytes\":436,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\",\"sha256\":\"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d\"}]\nBASELINE_RELEASE_FILES=[{\"bytes\":10566,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py\",\"sha256\":\"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793\"},{\"bytes\":2320,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py\",\"sha256\":\"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011\"},{\"bytes\":13825,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py\",\"sha256\":\"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d\"},{\"bytes\":3449,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py\",\"sha256\":\"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3\"},{\"bytes\":4627,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py\",\"sha256\":\"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b\"},{\"bytes\":4097,\"path\":\"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py\",\"sha256\":\"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96\"}]\nLIVE_GFS_META={\"bytes\":449,\"exists\":true,\"sha256\":\"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c\"}\nLIVE_TARGETS_META={\"bytes\":4758,\"exists\":true,\"sha256\":\"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e\"}\nGFS_HELPER_META={\"bytes\":3455,\"exists\":true,\"sha256\":\"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa\"}\nGFS_CRITICAL_VM_LOGICALS=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\",\"vm200\"]\nACTIVE_VM_LOGICALS=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\",\"vm171\",\"vm190\",\"vm9130\"]\nGFS_CRITICAL_ACTIVE_INTERSECTION=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\"]\nGFS_CRITICAL_NOT_ACTIVE=[\"vm200\"]\nGFS_CRITICAL_RECORDS={\"vm110\":[{\"id\":\"110\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm110\",\"owner\":\"pve01\"}],\"vm111\":[{\"id\":\"111\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm111\",\"owner\":\"pve02\"}],\"vm112\":[{\"id\":\"112\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm112\",\"owner\":\"pve01\"}],\"vm113\":[{\"id\":\"113\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm113\",\"owner\":\"pve02\"}],\"vm130\":[{\"id\":\"130\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm130\",\"owner\":\"pve03\"}],\"vm150\":[{\"id\":\"150\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm150\",\"owner\":\"pve01\"}],\"vm160\":[{\"id\":\"160\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm160\",\"owner\":\"pve02\"}],\"vm170\":[{\"id\":\"170\",\"kind\":\"VM\",\"lifecycle\":\"ACTIVE\",\"logical_id\":\"vm170\",\"owner\":\"pve01\"}],\"vm200\":[{\"id\":\"200\",\"kind\":\"VM\",\"lifecycle\":\"RETIRED_PRESERVE\",\"logical_id\":\"vm200\",\"owner\":\"pve03\"}]}\nLIVE_POLICY_VALIDATE={\"path\":\"/etc/homelab-backup/gfs-retention.json\",\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200\"],\"stdout_lines\":[]}\nLIVE_POLICY_CRITICAL_LOGICALS={\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200\"],\"stdout_lines\":[]}\nCANDIDATE_GFS_EXISTS=true\nCANDIDATE_GFS_META={\"bytes\":436,\"critical_not_active\":[],\"critical_vm_logicals\":[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\"],\"sha256\":\"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d\"}\nCANDIDATE_POLICY_VALIDATE={\"path\":\"/root/homelab-ops-cr-2026-1005/tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json\",\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_SET_INVALID\"],\"stdout_lines\":[]}\nCANDIDATE_POLICY_CRITICAL_LOGICALS={\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_SET_INVALID\"],\"stdout_lines\":[]}\nIN_MEMORY_CORRECTED_CRITICAL_VM_LOGICALS=[\"vm110\",\"vm111\",\"vm112\",\"vm113\",\"vm130\",\"vm150\",\"vm160\",\"vm170\"]\nIN_MEMORY_REMOVALS=[\"vm200\"]\nGFS_HELPER_VALIDATION_FOCUS=[{\"line\":4,\"sha256\":\"f73eaf5c141167f26d3cd9b0cdfca9b1cb34bc48e2a47efcfe8473d4148a89c4\",\"text\":\"REG=pathlib.Path(os.environ.get(\\\"HOMELAB_BACKUP_TARGET_REGISTRY\\\",\\\"/etc/homelab-backup/targets.json\\\"))\"},{\"line\":11,\"sha256\":\"17d911bfd01a1f638cca468224effdf6f9cc7ee8511bd556cb236fbc64e3e7ff\",\"text\":\" if c.get(\\\"completed_periods_only\\\") is not True or c.get(\\\"weekly_buckets\\\")!=4 or c.get(\\\"monthly_buckets\\\")!=6 or c.get(\\\"capacity_guard_max_free_fraction_milli\\\")!=500 or c.get(\\\"capacity_guard_target_max_age_seconds\\\")!=172800 or c.get(\\\"capacity_guard_cloud_max_age_seconds\\\")!=14400: die(\\\"POLICY_INVALID\\\",66)\"},{\"line\":12,\"sha256\":\"880f2144e950185b2bed0118c1ba10498b909a176b421d285cb96573a204c855\",\"text\":\" crit=c.get(\\\"critical_vm_logicals\\\")\"},{\"line\":13,\"sha256\":\"c44f6760ffd70ef6bcdc3064327167b3f0e6a79ae984f364195f1b218c62502a\",\"text\":\" if not isinstance(crit,list) or len(crit)!=9 or len(set(crit))!=9: die(\\\"CRITICAL_SET_INVALID\\\",66)\"},{\"line\":14,\"sha256\":\"a7894fb8f64ddd7cfe49ce592ad92002276da503fb5d9e2ea630aa9712b3555d\",\"text\":\" rows={x.get(\\\"logical_id\\\"):x for x in r.get(\\\"targets\\\",[])}\"},{\"line\":17,\"sha256\":\"1a59b8ac77450c24932f51e77bb0e485edca8b0664f74f5bfa3983aa9ba009c5\",\"text\":\" if not rec or rec.get(\\\"kind\\\")!=\\\"VM\\\" or rec.get(\\\"lifecycle\\\")!=\\\"ACTIVE\\\": die(f\\\"CRITICAL_NOT_ACTIVE_VM_{logical}\\\",66)\"},{\"line\":30,\"sha256\":\"4c9978e610851b78ae6d9f76e29b9021cb62944940640dc68ecc71dc41e2f378\",\"text\":\" if logical not in c[\\\"critical_vm_logicals\\\"]: return\"},{\"line\":32,\"sha256\":\"5c149f5d84df11ab050d1ab21e70b6259e8facc6d5ec60c8c6005400bdd9ccc1\",\"text\":\" weekly=[]; monthly=[]; seen_w=set(); seen_m=set()\"},{\"line\":39,\"sha256\":\"3a95b6ce11458868739c37ad6b934f4f69ee821f18c4fc655e913742a8bd3d05\",\"text\":\" if wb!=cur_week and len(weekly)=c[\\\"weekly_buckets\\\"] and len(monthly)>=c[\\\"monthly_buckets\\\"]: break\"},{\"line\":44,\"sha256\":\"8ddd05307b16bdb65e27ed4daaa771bff5c79cef98f456936e8fe5a1702258be\",\"text\":\" for gen,b in weekly: print(f\\\"WEEKLY\\\\t{gen}\\\\t{b}\\\")\"},{\"line\":45,\"sha256\":\"1117b07f51ec1fecccdde8595f3f4c22d1468fb33b1bee17fb70df87e24a3a14\",\"text\":\" for gen,b in monthly: print(f\\\"MONTHLY\\\\t{gen}\\\\t{b}\\\")\"},{\"line\":48,\"sha256\":\"0a7ee6ef3c083194f0004d25d05a420f3d4b36231bdbbb86faefe3df3e22bfb5\",\"text\":\" if args==[\\\"validate\\\"]: print(\\\"GFS_POLICY=OK\\\"); return\"},{\"line\":49,\"sha256\":\"c61eee89554bc74f8ccab7518825e202e69d626bd7385132da86752e4e997187\",\"text\":\" if args==[\\\"critical-logicals\\\"]:\"},{\"line\":50,\"sha256\":\"a6db40d91e1d862c8ca704051a4bd342a8dc443673314f5713b926709a5369d5\",\"text\":\" print(\\\"\\\\n\\\".join(c[\\\"critical_vm_logicals\\\"])); return\"},{\"line\":51,\"sha256\":\"41e05ff5ca7a41dadee3e5d88a28a843d3d0a8c48c382142b386aebf2b9b55be\",\"text\":\" if args==[\\\"weekly-buckets\\\"]: print(c[\\\"weekly_buckets\\\"]); return\"},{\"line\":52,\"sha256\":\"7187022be500b823309292b134f1d87a2148def6a60db7ec4450e3a470e10eac\",\"text\":\" if args==[\\\"monthly-buckets\\\"]: print(c[\\\"monthly_buckets\\\"]); return\"},{\"line\":53,\"sha256\":\"bec70750c2fa1733ce3829a85169999d3a0f90eb879021467c16e88683851999\",\"text\":\" if args==[\\\"capacity-guard-milli\\\"]: print(c[\\\"capacity_guard_max_free_fraction_milli\\\"]); return\"},{\"line\":54,\"sha256\":\"9b69cba2b5792004710d50ad75c02583c68431d7d928faee8d29925dbdafa785\",\"text\":\" if len(args)==2 and args[0]==\\\"is-critical\\\": raise SystemExit(0 if args[1] in c[\\\"critical_vm_logicals\\\"] else 1)\"}]\nPARTIAL_REPO_STATE_PRESENT=true\nNO_MUTATION=true\nNO_GIT_FETCH=true\nNO_RESET=true\nNO_CHECKOUT=true\nNO_SERVICE_ACTION=true\nNO_BACKUP_STARTED=true\nNO_RESTORE_STARTED=true\nNO_RETENTION_RUN_STARTED=true\nNO_DELETE=true\nNO_MAIL_SENT=true\nRCA_DURATION_SEC=0.089\nTASK_RESULT=PASS_HOMELAB_BACKUP_GFS_PARTIAL_RCA_READONLY\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\nWORKERS2_BACKUP_GFS_PARTIAL_RCA_END=1\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 4b21d63e..edf10d34 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,45 +1,80 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-DESIGN-CONTINUE-1012R1 -STATUS=FAIL -RC=76 +COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=homelab-backup-remediation-design-continue +MODE=read-only +COMPONENT=homelab-backup-gfs-partial-rca REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=fe181bc082af6c386c79448ec9e60ea98d4309d5df86d413cc09bdcddaa4334f +COMMAND_SHA256=35b236613d6860b2e4136d3e1e3107102f08d5803afd08f853873173625af3d5 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true -RESULT_CONTRACT_VALID=false -RESULT_CONTRACT_STATUS=UNKNOWN -RESULT_CONTRACT_ERROR=MISSING_CONTRACT -COMMAND_RC=1 -CHANGES_MADE=unknown -ROLLBACK_STARTED=unknown +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -MUTATION_OUTCOME=UNKNOWN +MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=c78acb250b3d3c9516ec8e076e79a01fd225a4594387bd2ae66286db38b5e275 -SANITIZED_OUTPUT_SHA256=c78acb250b3d3c9516ec8e076e79a01fd225a4594387bd2ae66286db38b5e275 +RAW_EVIDENCE_SHA256=e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e +SANITIZED_OUTPUT_SHA256=e7f29e20bf01daf4023cb87cd8aa68b8c9ab3150fb95414463311a5d198f6d2e OUTPUT_BEGIN -Traceback (most recent call last): - File "", line 1, in - import base64,zlib;exec(compile(zlib.decompress(base64.b64decode("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")).decode("utf-8"),"w2_design_continue","exec")) - ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "w2_design_continue", line 141, in -RuntimeError: CANDIDATE_GFS_VALIDATE_FAILED_343221bc342698c5 -WORKERS2_BACKUP_REMEDIATION_DESIGN_CONTINUE_BEGIN=1 -COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-DESIGN-CONTINUE-1012R1 -MODE=change -COMPONENT=homelab-backup-remediation-design-continue +WORKERS2_BACKUP_GFS_PARTIAL_RCA_BEGIN=1 +COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1 +MODE=read-only +COMPONENT=homelab-backup-gfs-partial-rca HOST=pve01 UID=0 -MUTATION_BOUNDARY=REPO_ONLY_CONTINUE_CAPTURE_DESIGN_COMMIT_NO_PRODUCTION_NO_SERVICE_ACTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL_NO_GITEA_PUSH +MUTATION_BOUNDARY=READ_ONLY_NO_FETCH_NO_RESET_NO_CHECKOUT_NO_WRITE_NO_SERVICE_ACTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL +WORKTREE_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation +WORKTREE_HEAD=326622a4864fa9b5f43b69981733236bb42c4d7b +WORKTREE_STATUS_LINES=["?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer","?? tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json","?? tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json"] +COMMITS_SINCE_BASE=0 +CACHED_DIFF=[] +CHANGE_FILES=[] +TASK_FILES=[{"bytes":10566,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py","sha256":"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793"},{"bytes":2320,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py","sha256":"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011"},{"bytes":13825,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py","sha256":"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d"},{"bytes":3449,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py","sha256":"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3"},{"bytes":4627,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py","sha256":"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b"},{"bytes":4097,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py","sha256":"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96"},{"bytes":449,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/gfs-retention.json","sha256":"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c"},{"bytes":1806,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-alertmanager-backup-run","sha256":"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a"},{"bytes":39160,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit","sha256":"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c"},{"bytes":285,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.service","sha256":"7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa"},{"bytes":221,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-audit.timer","sha256":"987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a"},{"bytes":3455,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-gfs-policy","sha256":"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa"},{"bytes":32975,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc","sha256":"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3"},{"bytes":327,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.service","sha256":"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c"},{"bytes":237,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-retention-gc.timer","sha256":"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f"},{"bytes":4406,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-target-registry","sha256":"c681c44be7557d192d7b453b67e31164237874596168f1d4c78e1e926e2e9cb4"},{"bytes":1656,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2","sha256":"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2"},{"bytes":309,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.service","sha256":"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565"},{"bytes":192,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/homelab-backup-v2.timer","sha256":"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d"},{"bytes":4758,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/targets.json","sha256":"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e"},{"bytes":436,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json","sha256":"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d"}] +CANDIDATE_FILES=[{"bytes":436,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json","sha256":"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d"}] +BASELINE_RELEASE_FILES=[{"bytes":10566,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/entry504.py","sha256":"ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793"},{"bytes":2320,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/fresh_lxc_helper.py","sha256":"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011"},{"bytes":13825,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/lxc_adapter.py","sha256":"3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d"},{"bytes":3449,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/producer_exec_helper.py","sha256":"b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3"},{"bytes":4627,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/qemu_adapter.py","sha256":"1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b"},{"bytes":4097,"path":"tasks/backup-v2-health-alerting-remediation-v1/assets/baseline/backup-v2-release/scheduler_adapter.py","sha256":"a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96"}] +LIVE_GFS_META={"bytes":449,"exists":true,"sha256":"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c"} +LIVE_TARGETS_META={"bytes":4758,"exists":true,"sha256":"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e"} +GFS_HELPER_META={"bytes":3455,"exists":true,"sha256":"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa"} +GFS_CRITICAL_VM_LOGICALS=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170","vm200"] +ACTIVE_VM_LOGICALS=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170","vm171","vm190","vm9130"] +GFS_CRITICAL_ACTIVE_INTERSECTION=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170"] +GFS_CRITICAL_NOT_ACTIVE=["vm200"] +GFS_CRITICAL_RECORDS={"vm110":[{"id":"110","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm110","owner":"pve01"}],"vm111":[{"id":"111","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm111","owner":"pve02"}],"vm112":[{"id":"112","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm112","owner":"pve01"}],"vm113":[{"id":"113","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm113","owner":"pve02"}],"vm130":[{"id":"130","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm130","owner":"pve03"}],"vm150":[{"id":"150","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm150","owner":"pve01"}],"vm160":[{"id":"160","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm160","owner":"pve02"}],"vm170":[{"id":"170","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm170","owner":"pve01"}],"vm200":[{"id":"200","kind":"VM","lifecycle":"RETIRED_PRESERVE","logical_id":"vm200","owner":"pve03"}]} +LIVE_POLICY_VALIDATE={"path":"/etc/homelab-backup/gfs-retention.json","rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200"],"stdout_lines":[]} +LIVE_POLICY_CRITICAL_LOGICALS={"rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200"],"stdout_lines":[]} +CANDIDATE_GFS_EXISTS=true +CANDIDATE_GFS_META={"bytes":436,"critical_not_active":[],"critical_vm_logicals":["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170"],"sha256":"2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d"} +CANDIDATE_POLICY_VALIDATE={"path":"/root/homelab-ops-cr-2026-1005/tasks/backup-v2-health-alerting-remediation-v1/assets/candidate/gfs-retention.json","rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_SET_INVALID"],"stdout_lines":[]} +CANDIDATE_POLICY_CRITICAL_LOGICALS={"rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_SET_INVALID"],"stdout_lines":[]} +IN_MEMORY_CORRECTED_CRITICAL_VM_LOGICALS=["vm110","vm111","vm112","vm113","vm130","vm150","vm160","vm170"] +IN_MEMORY_REMOVALS=["vm200"] +GFS_HELPER_VALIDATION_FOCUS=[{"line":4,"sha256":"f73eaf5c141167f26d3cd9b0cdfca9b1cb34bc48e2a47efcfe8473d4148a89c4","text":"REG=pathlib.Path(os.environ.get(\"HOMELAB_BACKUP_TARGET_REGISTRY\",\"/etc/homelab-backup/targets.json\"))"},{"line":11,"sha256":"17d911bfd01a1f638cca468224effdf6f9cc7ee8511bd556cb236fbc64e3e7ff","text":" if c.get(\"completed_periods_only\") is not True or c.get(\"weekly_buckets\")!=4 or c.get(\"monthly_buckets\")!=6 or c.get(\"capacity_guard_max_free_fraction_milli\")!=500 or c.get(\"capacity_guard_target_max_age_seconds\")!=172800 or c.get(\"capacity_guard_cloud_max_age_seconds\")!=14400: die(\"POLICY_INVALID\",66)"},{"line":12,"sha256":"880f2144e950185b2bed0118c1ba10498b909a176b421d285cb96573a204c855","text":" crit=c.get(\"critical_vm_logicals\")"},{"line":13,"sha256":"c44f6760ffd70ef6bcdc3064327167b3f0e6a79ae984f364195f1b218c62502a","text":" if not isinstance(crit,list) or len(crit)!=9 or len(set(crit))!=9: die(\"CRITICAL_SET_INVALID\",66)"},{"line":14,"sha256":"a7894fb8f64ddd7cfe49ce592ad92002276da503fb5d9e2ea630aa9712b3555d","text":" rows={x.get(\"logical_id\"):x for x in r.get(\"targets\",[])}"},{"line":17,"sha256":"1a59b8ac77450c24932f51e77bb0e485edca8b0664f74f5bfa3983aa9ba009c5","text":" if not rec or rec.get(\"kind\")!=\"VM\" or rec.get(\"lifecycle\")!=\"ACTIVE\": die(f\"CRITICAL_NOT_ACTIVE_VM_{logical}\",66)"},{"line":30,"sha256":"4c9978e610851b78ae6d9f76e29b9021cb62944940640dc68ecc71dc41e2f378","text":" if logical not in c[\"critical_vm_logicals\"]: return"},{"line":32,"sha256":"5c149f5d84df11ab050d1ab21e70b6259e8facc6d5ec60c8c6005400bdd9ccc1","text":" weekly=[]; monthly=[]; seen_w=set(); seen_m=set()"},{"line":39,"sha256":"3a95b6ce11458868739c37ad6b934f4f69ee821f18c4fc655e913742a8bd3d05","text":" if wb!=cur_week and len(weekly)=c[\"weekly_buckets\"] and len(monthly)>=c[\"monthly_buckets\"]: break"},{"line":44,"sha256":"8ddd05307b16bdb65e27ed4daaa771bff5c79cef98f456936e8fe5a1702258be","text":" for gen,b in weekly: print(f\"WEEKLY\\t{gen}\\t{b}\")"},{"line":45,"sha256":"1117b07f51ec1fecccdde8595f3f4c22d1468fb33b1bee17fb70df87e24a3a14","text":" for gen,b in monthly: print(f\"MONTHLY\\t{gen}\\t{b}\")"},{"line":48,"sha256":"0a7ee6ef3c083194f0004d25d05a420f3d4b36231bdbbb86faefe3df3e22bfb5","text":" if args==[\"validate\"]: print(\"GFS_POLICY=OK\"); return"},{"line":49,"sha256":"c61eee89554bc74f8ccab7518825e202e69d626bd7385132da86752e4e997187","text":" if args==[\"critical-logicals\"]:"},{"line":50,"sha256":"a6db40d91e1d862c8ca704051a4bd342a8dc443673314f5713b926709a5369d5","text":" print(\"\\n\".join(c[\"critical_vm_logicals\"])); return"},{"line":51,"sha256":"41e05ff5ca7a41dadee3e5d88a28a843d3d0a8c48c382142b386aebf2b9b55be","text":" if args==[\"weekly-buckets\"]: print(c[\"weekly_buckets\"]); return"},{"line":52,"sha256":"7187022be500b823309292b134f1d87a2148def6a60db7ec4450e3a470e10eac","text":" if args==[\"monthly-buckets\"]: print(c[\"monthly_buckets\"]); return"},{"line":53,"sha256":"bec70750c2fa1733ce3829a85169999d3a0f90eb879021467c16e88683851999","text":" if args==[\"capacity-guard-milli\"]: print(c[\"capacity_guard_max_free_fraction_milli\"]); return"},{"line":54,"sha256":"9b69cba2b5792004710d50ad75c02583c68431d7d928faee8d29925dbdafa785","text":" if len(args)==2 and args[0]==\"is-critical\": raise SystemExit(0 if args[1] in c[\"critical_vm_logicals\"] else 1)"}] +PARTIAL_REPO_STATE_PRESENT=true +NO_MUTATION=true +NO_GIT_FETCH=true +NO_RESET=true +NO_CHECKOUT=true +NO_SERVICE_ACTION=true +NO_BACKUP_STARTED=true +NO_RESTORE_STARTED=true +NO_RETENTION_RUN_STARTED=true +NO_DELETE=true +NO_MAIL_SENT=true +RCA_DURATION_SEC=0.089 +TASK_RESULT=PASS_HOMELAB_BACKUP_GFS_PARTIAL_RCA_READONLY +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +WORKERS2_BACKUP_GFS_PARTIAL_RCA_END=1 OUTPUT_END CHAT_OUTPUT_END