diff --git a/runtime/history/SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2.json b/runtime/history/SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2.json new file mode 100644 index 00000000..ee200a2a --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2", + "status": "FAIL", + "rc": 3, + "host": "pve01", + "mode": "read-only", + "component": "signalbot-final-d1-semantic-eligibility-preflight", + "started_at_utc": "2026-09-21T01:24:02Z", + "finished_at_utc": "2026-09-21T01:24:03Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "8a44d2cbd80611e1dc019b01e0987cc399555a4141867c2dec6a8d9124b561fc", + "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": 3, + "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": "41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d", + "sanitized_output_sha256": "41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SIGNALBOT052PREP2_FATAL={\"type\":\"NameError\",\"msg\":\"name 'guest_z' is not defined\"}\nTASK_RESULT=FAIL_SIGNALBOT_052PREP2_HOST_EXCEPTION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2.txt b/runtime/history/SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2.txt new file mode 100644 index 00000000..8e3f813b --- /dev/null +++ b/runtime/history/SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2.txt @@ -0,0 +1,35 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2 +STATUS=FAIL +RC=3 +HOST=pve01 +MODE=read-only +COMPONENT=signalbot-final-d1-semantic-eligibility-preflight +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=8a44d2cbd80611e1dc019b01e0987cc399555a4141867c2dec6a8d9124b561fc +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=3 +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=41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d +SANITIZED_OUTPUT_SHA256=41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d +OUTPUT_BEGIN +SIGNALBOT052PREP2_FATAL={"type":"NameError","msg":"name 'guest_z' is not defined"} +TASK_RESULT=FAIL_SIGNALBOT_052PREP2_HOST_EXCEPTION +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 8a393b91..ee200a2a 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-PREPARE-1005R1", - "status": "OK", - "rc": 0, + "command_id": "SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2", + "status": "FAIL", + "rc": 3, "host": "pve01", - "mode": "change", - "component": "homelab-backup-remediation-prepare", - "started_at_utc": "2026-09-21T01:18:15Z", - "finished_at_utc": "2026-09-21T01:18:16Z", + "mode": "read-only", + "component": "signalbot-final-d1-semantic-eligibility-preflight", + "started_at_utc": "2026-09-21T01:24:02Z", + "finished_at_utc": "2026-09-21T01:24:03Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "c4a4c3077ecd1b305c4d528b0a4b31a2ddb723f1a29dcb86d561ffb52aa773b2", + "command_sha256": "8a44d2cbd80611e1dc019b01e0987cc399555a4141867c2dec6a8d9124b561fc", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "OK", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 0, - "changes_made": true, + "command_rc": 3, + "changes_made": false, "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "MUTATED", + "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "141d876a057fa8cde080189e7158eda13f55bb446e2595126c453ea407134030", - "sanitized_output_sha256": "141d876a057fa8cde080189e7158eda13f55bb446e2595126c453ea407134030", + "raw_evidence_sha256": "41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d", + "sanitized_output_sha256": "41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "WORKERS2_BACKUP_REMEDIATION_PREPARE_BEGIN=1\nCOMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PREPARE-1005R1\nMODE=change\nCOMPONENT=homelab-backup-remediation-prepare\nHOST=pve01\nUID=0\nTIME_UTC=2026-09-21T01:18:15Z\nMUTATION_BOUNDARY=REPO_ONLY_UNIQUE_FETCH_REF_BRANCH_WORKTREE_NO_PRODUCTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL_NO_GITEA_PUSH\nGITEA_MAIN_PRE=326622a4864fa9b5f43b69981733236bb42c4d7b\nGITEA_MAIN_POST=326622a4864fa9b5f43b69981733236bb42c4d7b\nFETCHED_BASE=326622a4864fa9b5f43b69981733236bb42c4d7b\nPREPARED_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation\nPREPARED_WORKTREE=/root/homelab-ops-cr-2026-1005\nPREPARED_BASE_SHA=326622a4864fa9b5f43b69981733236bb42c4d7b\nGITEA_PUSH=NO\nPRODUCTION_MUTATION=NO\n===== LIVE_SOURCE_TOPOLOGY =====\nSOURCE_TOPOLOGY={\"bytes\":39160,\"exists\":true,\"path\":\"/usr/local/sbin/homelab-backup-audit\",\"repo_candidates\":[],\"sha256\":\"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c\"}\nSOURCE_TOPOLOGY={\"bytes\":32975,\"exists\":true,\"path\":\"/usr/local/sbin/homelab-backup-retention-gc\",\"repo_candidates\":[],\"sha256\":\"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3\"}\nSOURCE_TOPOLOGY={\"bytes\":1656,\"exists\":true,\"path\":\"/usr/local/sbin/homelab-backup-v2\",\"repo_candidates\":[],\"sha256\":\"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2\"}\nSOURCE_TOPOLOGY={\"bytes\":3455,\"exists\":true,\"path\":\"/usr/local/libexec/homelab-backup-gfs-policy\",\"repo_candidates\":[],\"sha256\":\"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa\"}\nSOURCE_TOPOLOGY={\"bytes\":4406,\"exists\":true,\"path\":\"/usr/local/libexec/homelab-backup-target-registry\",\"repo_candidates\":[],\"sha256\":\"c681c44be7557d192d7b453b67e31164237874596168f1d4c78e1e926e2e9cb4\"}\nSOURCE_TOPOLOGY={\"bytes\":449,\"exists\":true,\"path\":\"/etc/homelab-backup/gfs-retention.json\",\"repo_candidates\":[],\"sha256\":\"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c\"}\nSOURCE_TOPOLOGY={\"bytes\":4758,\"exists\":true,\"path\":\"/etc/homelab-backup/targets.json\",\"repo_candidates\":[],\"sha256\":\"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e\"}\nSOURCE_TOPOLOGY={\"bytes\":309,\"exists\":true,\"path\":\"/etc/systemd/system/homelab-backup-v2.service\",\"repo_candidates\":[],\"sha256\":\"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565\"}\nSOURCE_TOPOLOGY={\"bytes\":192,\"exists\":true,\"path\":\"/etc/systemd/system/homelab-backup-v2.timer\",\"repo_candidates\":[],\"sha256\":\"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d\"}\nSOURCE_TOPOLOGY={\"bytes\":285,\"exists\":true,\"path\":\"/etc/systemd/system/homelab-backup-audit.service\",\"repo_candidates\":[],\"sha256\":\"7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa\"}\nSOURCE_TOPOLOGY={\"bytes\":221,\"exists\":true,\"path\":\"/etc/systemd/system/homelab-backup-audit.timer\",\"repo_candidates\":[],\"sha256\":\"987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a\"}\nSOURCE_TOPOLOGY={\"bytes\":327,\"exists\":true,\"path\":\"/etc/systemd/system/homelab-backup-retention-gc.service\",\"repo_candidates\":[],\"sha256\":\"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c\"}\nSOURCE_TOPOLOGY={\"bytes\":237,\"exists\":true,\"path\":\"/etc/systemd/system/homelab-backup-retention-gc.timer\",\"repo_candidates\":[],\"sha256\":\"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f\"}\nSOURCE_TOPOLOGY={\"bytes\":1806,\"exists\":true,\"path\":\"/usr/local/sbin/homelab-alertmanager-backup-run\",\"repo_candidates\":[],\"sha256\":\"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a\"}\nCANONICAL_REFERENCE_HITS={\"count\":7,\"lines\":[\"deploy/homelab-admin/payload/homelab-admin:31: if (unit == \\\"homelab-backup-audit.service\\\") next\",\"kb/changes/CR-2026-0102-IMPLEMENTATION.md:25:As a result, the read-only `homelab-backup-audit.service` caused:\",\"kb/changes/CR-2026-0102-IMPLEMENTATION.md:57:`homelab-backup-audit.service`\",\"tests/test_cr_2026_0102_homelab_admin_backup_guard.py:189: \\\"homelab-backup-audit.service loaded active running \\\"\",\"tests/test_cr_2026_0102_homelab_admin_backup_guard.py:216: \\\"homelab-backup-audit.service loaded active running Audit\\\",\",\"tests/test_cr_2026_0102_homelab_admin_backup_guard.py:243: \\\"homelab-backup-audit-helper.service loaded active running Helper\\\"\",\"tests/test_cr_2026_0102_homelab_admin_backup_guard.py:250: \\\"homelab-backup-audit.service loaded active running Audit\\\"\"],\"rc\":0}\n===== GFS_VM200_PRESTATE =====\nGFS_POLICY_META={\"bytes\":449,\"keys\":[\"capacity_guard_cloud_max_age_seconds\",\"capacity_guard_max_free_fraction_milli\",\"capacity_guard_target_max_age_seconds\",\"completed_periods_only\",\"critical_vm_logicals\",\"monthly_buckets\",\"policy_version\",\"schema\",\"weekly_buckets\"],\"sha256\":\"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c\"}\nGFS_VM200_VALUE_PATHS=[\"$.critical_vm_logicals[8]\"]\nTARGET_REGISTRY_VM200_MATCHES=[{\"path\":\"$.targets[19]\",\"record\":{\"id\":\"200\",\"kind\":\"VM\",\"lifecycle\":\"RETIRED_PRESERVE\",\"logical_id\":\"vm200\",\"owner\":\"pve03\"}}]\nGFS_VALIDATE={\"rc\":66,\"stderr_lines\":[\"GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200\"],\"stdout_lines\":[]}\n===== AUDIT_EXPECTATION_PRESTATE =====\nAUDIT_EXPECTATION_LINES=[\"18:VM_QUEUE=/usr/local/sbin/homelab-vm-cloud-quorum-queue\",\"19:APP_QUEUE=/usr/local/sbin/homelab-app-cloud-quorum-queue\",\"22:CONTROL_BACKUP=/usr/local/sbin/homelab-control-backup\",\"24:CONTROL_TIMER=/etc/systemd/system/homelab-control-backup.timer\",\"25:CONTROL_SERVICE=/etc/systemd/system/homelab-control-backup.service\",\"28:VM_TIMER=/etc/systemd/system/homelab-vm-cloud-quorum-queue.timer\",\"29:APP_TIMER=/etc/systemd/system/homelab-app-cloud-quorum-queue.timer\",\"30:VM_SERVICE=/etc/systemd/system/homelab-vm-cloud-quorum-queue.service\",\"31:APP_SERVICE=/etc/systemd/system/homelab-app-cloud-quorum-queue.service\",\"408: ENABLED_ACTIVE)\",\"415: if [[ \\\"$load_state\\\" == not-found && \\\"$active_state\\\" == inactive ]]; then status=EXPECTED_ABSENT; scheduler_ok=$((scheduler_ok+1)); else status=BAD; infra_bad=$((infra_bad+1)); fi\",\"419: printf 'SYSTEMD_EXPECTATION|unit=%s|expected=%s|status=%s|load_state=%s|unit_file_state=%s|active_state=%s\\\\n' \\\"$unit\\\" \\\"$expected_state\\\" \\\"$status\\\" \\\"$load_state\\\" \\\"$unit_file_state\\\" \\\"$active_state\\\"\",\"422:for lock in /run/homelab-backup-heavy.lock /run/lock/homelab-vm-cloud-quorum-queue.lock /run/lock/homelab-app-cloud-quorum-queue.lock /run/lock/homelab-backup-dispatcher.lock; do\"]\n===== RECIPIENT_AND_MAIL_PRESTATE_NO_SEND =====\nROOT_PAM_EMAIL={\"length\":18,\"present\":true,\"sha256\":\"0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf\",\"source\":\"pvesh\"}\nPOSTCONF_META={\"configured\":false,\"key\":\"relayhost\",\"rc\":0,\"value_sha256\":null}\nPOSTCONF_META={\"configured\":true,\"key\":\"smtp_sasl_auth_enable\",\"rc\":0,\"value_sha256\":\"9390298f3fb0c5b160498935d79cb139aef28e1c47358b4bbba61862b9c26e59\"}\nPOSTCONF_META={\"configured\":false,\"key\":\"smtp_tls_security_level\",\"rc\":0,\"value_sha256\":null}\nPOSTCONF_META={\"configured\":false,\"key\":\"smtp_sasl_password_maps\",\"rc\":0,\"value_sha256\":null}\nSENDMAIL_PRESENT=YES\nNO_MAIL_SENT=YES\nNO_SERVICE_ACTION=YES\nNO_BACKUP_STARTED=YES\nNO_RESTORE_STARTED=YES\nNO_RETENTION_RUN_STARTED=YES\nNO_DELETE=YES\nNO_PRODUCTION_FILE_WRITE=YES\nPREPARE_DURATION_SEC=0.995\nTASK_RESULT=PASS_HOMELAB_BACKUP_REMEDIATION_PREPARE\nHOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PREPARE-1005R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\nWORKERS2_BACKUP_REMEDIATION_PREPARE_END=1\n" + "output": "SIGNALBOT052PREP2_FATAL={\"type\":\"NameError\",\"msg\":\"name 'guest_z' is not defined\"}\nTASK_RESULT=FAIL_SIGNALBOT_052PREP2_HOST_EXCEPTION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index a773d66c..8e3f813b 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,89 +1,35 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PREPARE-1005R1 -STATUS=OK -RC=0 +COMMAND_ID=SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2 +STATUS=FAIL +RC=3 HOST=pve01 -MODE=change -COMPONENT=homelab-backup-remediation-prepare +MODE=read-only +COMPONENT=signalbot-final-d1-semantic-eligibility-preflight REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=c4a4c3077ecd1b305c4d528b0a4b31a2ddb723f1a29dcb86d561ffb52aa773b2 +COMMAND_SHA256=8a44d2cbd80611e1dc019b01e0987cc399555a4141867c2dec6a8d9124b561fc DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=OK +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=0 -CHANGES_MADE=true +COMMAND_RC=3 +CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -MUTATION_OUTCOME=MUTATED +MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=141d876a057fa8cde080189e7158eda13f55bb446e2595126c453ea407134030 -SANITIZED_OUTPUT_SHA256=141d876a057fa8cde080189e7158eda13f55bb446e2595126c453ea407134030 +RAW_EVIDENCE_SHA256=41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d +SANITIZED_OUTPUT_SHA256=41b46d06f7f5b7ecb0e674011a52a2018900d08d478bd3fbcb5baf5c3a1a5b4d OUTPUT_BEGIN -WORKERS2_BACKUP_REMEDIATION_PREPARE_BEGIN=1 -COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PREPARE-1005R1 -MODE=change -COMPONENT=homelab-backup-remediation-prepare -HOST=pve01 -UID=0 -TIME_UTC=2026-09-21T01:18:15Z -MUTATION_BOUNDARY=REPO_ONLY_UNIQUE_FETCH_REF_BRANCH_WORKTREE_NO_PRODUCTION_NO_BACKUP_NO_RESTORE_NO_RETENTION_NO_DELETE_NO_MAIL_NO_GITEA_PUSH -GITEA_MAIN_PRE=326622a4864fa9b5f43b69981733236bb42c4d7b -GITEA_MAIN_POST=326622a4864fa9b5f43b69981733236bb42c4d7b -FETCHED_BASE=326622a4864fa9b5f43b69981733236bb42c4d7b -PREPARED_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation -PREPARED_WORKTREE=/root/homelab-ops-cr-2026-1005 -PREPARED_BASE_SHA=326622a4864fa9b5f43b69981733236bb42c4d7b -GITEA_PUSH=NO -PRODUCTION_MUTATION=NO -===== LIVE_SOURCE_TOPOLOGY ===== -SOURCE_TOPOLOGY={"bytes":39160,"exists":true,"path":"/usr/local/sbin/homelab-backup-audit","repo_candidates":[],"sha256":"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c"} -SOURCE_TOPOLOGY={"bytes":32975,"exists":true,"path":"/usr/local/sbin/homelab-backup-retention-gc","repo_candidates":[],"sha256":"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3"} -SOURCE_TOPOLOGY={"bytes":1656,"exists":true,"path":"/usr/local/sbin/homelab-backup-v2","repo_candidates":[],"sha256":"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2"} -SOURCE_TOPOLOGY={"bytes":3455,"exists":true,"path":"/usr/local/libexec/homelab-backup-gfs-policy","repo_candidates":[],"sha256":"6b7ec1ab3ee1c540a9113b5620c3b4b5a50de6536f3a069d31b2e1243f23bafa"} -SOURCE_TOPOLOGY={"bytes":4406,"exists":true,"path":"/usr/local/libexec/homelab-backup-target-registry","repo_candidates":[],"sha256":"c681c44be7557d192d7b453b67e31164237874596168f1d4c78e1e926e2e9cb4"} -SOURCE_TOPOLOGY={"bytes":449,"exists":true,"path":"/etc/homelab-backup/gfs-retention.json","repo_candidates":[],"sha256":"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c"} -SOURCE_TOPOLOGY={"bytes":4758,"exists":true,"path":"/etc/homelab-backup/targets.json","repo_candidates":[],"sha256":"6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e"} -SOURCE_TOPOLOGY={"bytes":309,"exists":true,"path":"/etc/systemd/system/homelab-backup-v2.service","repo_candidates":[],"sha256":"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565"} -SOURCE_TOPOLOGY={"bytes":192,"exists":true,"path":"/etc/systemd/system/homelab-backup-v2.timer","repo_candidates":[],"sha256":"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d"} -SOURCE_TOPOLOGY={"bytes":285,"exists":true,"path":"/etc/systemd/system/homelab-backup-audit.service","repo_candidates":[],"sha256":"7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa"} -SOURCE_TOPOLOGY={"bytes":221,"exists":true,"path":"/etc/systemd/system/homelab-backup-audit.timer","repo_candidates":[],"sha256":"987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a"} -SOURCE_TOPOLOGY={"bytes":327,"exists":true,"path":"/etc/systemd/system/homelab-backup-retention-gc.service","repo_candidates":[],"sha256":"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c"} -SOURCE_TOPOLOGY={"bytes":237,"exists":true,"path":"/etc/systemd/system/homelab-backup-retention-gc.timer","repo_candidates":[],"sha256":"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f"} -SOURCE_TOPOLOGY={"bytes":1806,"exists":true,"path":"/usr/local/sbin/homelab-alertmanager-backup-run","repo_candidates":[],"sha256":"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a"} -CANONICAL_REFERENCE_HITS={"count":7,"lines":["deploy/homelab-admin/payload/homelab-admin:31: if (unit == \"homelab-backup-audit.service\") next","kb/changes/CR-2026-0102-IMPLEMENTATION.md:25:As a result, the read-only `homelab-backup-audit.service` caused:","kb/changes/CR-2026-0102-IMPLEMENTATION.md:57:`homelab-backup-audit.service`","tests/test_cr_2026_0102_homelab_admin_backup_guard.py:189: \"homelab-backup-audit.service loaded active running \"","tests/test_cr_2026_0102_homelab_admin_backup_guard.py:216: \"homelab-backup-audit.service loaded active running Audit\",","tests/test_cr_2026_0102_homelab_admin_backup_guard.py:243: \"homelab-backup-audit-helper.service loaded active running Helper\"","tests/test_cr_2026_0102_homelab_admin_backup_guard.py:250: \"homelab-backup-audit.service loaded active running Audit\""],"rc":0} -===== GFS_VM200_PRESTATE ===== -GFS_POLICY_META={"bytes":449,"keys":["capacity_guard_cloud_max_age_seconds","capacity_guard_max_free_fraction_milli","capacity_guard_target_max_age_seconds","completed_periods_only","critical_vm_logicals","monthly_buckets","policy_version","schema","weekly_buckets"],"sha256":"ea6526bec7d7591bef876799cecddff4849631a936edc9f593b47211fbad715c"} -GFS_VM200_VALUE_PATHS=["$.critical_vm_logicals[8]"] -TARGET_REGISTRY_VM200_MATCHES=[{"path":"$.targets[19]","record":{"id":"200","kind":"VM","lifecycle":"RETIRED_PRESERVE","logical_id":"vm200","owner":"pve03"}}] -GFS_VALIDATE={"rc":66,"stderr_lines":["GFS_POLICY_ERROR=CRITICAL_NOT_ACTIVE_VM_vm200"],"stdout_lines":[]} -===== AUDIT_EXPECTATION_PRESTATE ===== -AUDIT_EXPECTATION_LINES=["18:VM_QUEUE=/usr/local/sbin/homelab-vm-cloud-quorum-queue","19:APP_QUEUE=/usr/local/sbin/homelab-app-cloud-quorum-queue","22:CONTROL_BACKUP=/usr/local/sbin/homelab-control-backup","24:CONTROL_TIMER=/etc/systemd/system/homelab-control-backup.timer","25:CONTROL_SERVICE=/etc/systemd/system/homelab-control-backup.service","28:VM_TIMER=/etc/systemd/system/homelab-vm-cloud-quorum-queue.timer","29:APP_TIMER=/etc/systemd/system/homelab-app-cloud-quorum-queue.timer","30:VM_SERVICE=/etc/systemd/system/homelab-vm-cloud-quorum-queue.service","31:APP_SERVICE=/etc/systemd/system/homelab-app-cloud-quorum-queue.service","408: ENABLED_ACTIVE)","415: if [[ \"$load_state\" == not-found && \"$active_state\" == inactive ]]; then status=EXPECTED_ABSENT; scheduler_ok=$((scheduler_ok+1)); else status=BAD; infra_bad=$((infra_bad+1)); fi","419: printf 'SYSTEMD_EXPECTATION|unit=%s|expected=%s|status=%s|load_state=%s|unit_file_state=%s|active_state=%s\\n' \"$unit\" \"$expected_state\" \"$status\" \"$load_state\" \"$unit_file_state\" \"$active_state\"","422:for lock in /run/homelab-backup-heavy.lock /run/lock/homelab-vm-cloud-quorum-queue.lock /run/lock/homelab-app-cloud-quorum-queue.lock /run/lock/homelab-backup-dispatcher.lock; do"] -===== RECIPIENT_AND_MAIL_PRESTATE_NO_SEND ===== -ROOT_PAM_EMAIL={"length":18,"present":true,"sha256":"0d4cf60ca8cd53a12ad50dc5419d3c9c32192f0852000eb10051fbdef52b04bf","source":"pvesh"} -POSTCONF_META={"configured":false,"key":"relayhost","rc":0,"value_sha256":null} -POSTCONF_META={"configured":true,"key":"smtp_sasl_auth_enable","rc":0,"value_sha256":"9390298f3fb0c5b160498935d79cb139aef28e1c47358b4bbba61862b9c26e59"} -POSTCONF_META={"configured":false,"key":"smtp_tls_security_level","rc":0,"value_sha256":null} -POSTCONF_META={"configured":false,"key":"smtp_sasl_password_maps","rc":0,"value_sha256":null} -SENDMAIL_PRESENT=YES -NO_MAIL_SENT=YES -NO_SERVICE_ACTION=YES -NO_BACKUP_STARTED=YES -NO_RESTORE_STARTED=YES -NO_RETENTION_RUN_STARTED=YES -NO_DELETE=YES -NO_PRODUCTION_FILE_WRITE=YES -PREPARE_DURATION_SEC=0.995 -TASK_RESULT=PASS_HOMELAB_BACKUP_REMEDIATION_PREPARE -HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PREPARE-1005R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} -WORKERS2_BACKUP_REMEDIATION_PREPARE_END=1 +SIGNALBOT052PREP2_FATAL={"type":"NameError","msg":"name 'guest_z' is not defined"} +TASK_RESULT=FAIL_SIGNALBOT_052PREP2_HOST_EXCEPTION +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SIGNALBOT-260921-FINAL-D1-SEMANTIC-ELIGIBILITY-PREFLIGHT-052PREP2","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END