From a72894dbf5ed8a60d0aee797184eb93266db3f1d Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Tue, 22 Sep 2026 13:54:52 +0000 Subject: [PATCH] runtime: publish SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1 --- ...PB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.json | 38 + ...SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.txt | 37 + runtime/latest.json | 30 +- runtime/latest.txt | 2416 +---------------- 4 files changed, 106 insertions(+), 2415 deletions(-) create mode 100644 runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.json create mode 100644 runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.txt diff --git a/runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.json b/runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.json new file mode 100644 index 00000000..d4bbe101 --- /dev/null +++ b/runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1", + "status": "FAIL", + "rc": 46, + "host": "pve01", + "mode": "change", + "component": "spb-home-ingress-cert-vhost-fix", + "started_at_utc": "2026-09-22T13:54:50Z", + "finished_at_utc": "2026-09-22T13:54:51Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "19656980c92946c1bbb0ba9aaf9418a4db8edfb17dd5d86168a3d66cea57ad8e", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": true, + "result_contract_valid": true, + "result_contract_status": "FAIL", + "result_contract_error": null, + "command_rc": 46, + "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": "07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89", + "sanitized_output_sha256": "07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SPB9121_CHANGE={\"preflight\":{\"sha_gate\":\"FAIL:git-read-location.conf\"},\"certs\":{},\"vhosts\":{},\"probes\":{},\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null,\"status\":\"FAIL\"}\nTASK_COMPLETE=true\nTASK_RESULT=FAIL_SPB_HOME_INGRESS_CERT_VHOST_FIX\nDECISION=HOLD_SPB_ON_AND_READ_ROLLBACK_RESULT\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.txt b/runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.txt new file mode 100644 index 00000000..0d44a304 --- /dev/null +++ b/runtime/history/SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1.txt @@ -0,0 +1,37 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1 +STATUS=FAIL +RC=46 +HOST=pve01 +MODE=change +COMPONENT=spb-home-ingress-cert-vhost-fix +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=19656980c92946c1bbb0ba9aaf9418a4db8edfb17dd5d86168a3d66cea57ad8e +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=true +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=46 +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=07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89 +SANITIZED_OUTPUT_SHA256=07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89 +OUTPUT_BEGIN +SPB9121_CHANGE={"preflight":{"sha_gate":"FAIL:git-read-location.conf"},"certs":{},"vhosts":{},"probes":{},"changes_made":false,"rollback_started":false,"rollback_restored":null,"status":"FAIL"} +TASK_COMPLETE=true +TASK_RESULT=FAIL_SPB_HOME_INGRESS_CERT_VHOST_FIX +DECISION=HOLD_SPB_ON_AND_READ_ROLLBACK_RESULT +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1","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 e50e38d9..d4bbe101 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,27 +1,27 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260922-NEWFDOM-DR221-FRESHBACKUP-RCA414R1", - "status": "OK", - "rc": 0, + "command_id": "SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1", + "status": "FAIL", + "rc": 46, "host": "pve01", - "mode": "read-only", - "component": "newfi-dr221-fresh-backup-cloud-quorum-rca", - "started_at_utc": "2026-09-22T13:45:17Z", - "finished_at_utc": "2026-09-22T13:45:17Z", + "mode": "change", + "component": "spb-home-ingress-cert-vhost-fix", + "started_at_utc": "2026-09-22T13:54:50Z", + "finished_at_utc": "2026-09-22T13:54:51Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "64ca2cfb01827e209d943352287d9986654b0031db0255c51b34987746ae0f22", + "command_sha256": "19656980c92946c1bbb0ba9aaf9418a4db8edfb17dd5d86168a3d66cea57ad8e", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": false, + "change_declared": true, "result_contract_valid": true, - "result_contract_status": null, + "result_contract_status": "FAIL", "result_contract_error": null, - "command_rc": 0, + "command_rc": 46, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "00fde9f3c6b08ea109d108690cefbe35a3d4c49b8a2d9d865af8e4f95c0a91dd", - "sanitized_output_sha256": "db21da2e8fc700424ba159397dd7676c7b0eb38cb7780dce7b3b01f3f72046c5", - "output_truncated_in_json": true, + "raw_evidence_sha256": "07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89", + "sanitized_output_sha256": "07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89", + "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "NEWFI414_BEGIN=true\nCOMMAND_ID=NEWFI-260922-NEWFDOM-DR221-FRESHBACKUP-RCA414R1\nTARGET_COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-FINAL413\nMODE=read-only\nCOMPONENT=newfi-dr221-fresh-backup-cloud-quorum-rca\nSCOPE=READ_ONLY_EXACT_DR221_FINAL413_FRESH_BACKUP_CLOUD_QUORUM_ROOT_CAUSE\nMUTATION_BOUNDARY=NONE;NO_BACKUP_START;NO_QUEUE_START;NO_SYSTEMD_ACTION;NO_CLOUD_WRITE;NO_VM_MUTATION;NO_GIT_WRITE\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nQUEUE_SHA256=fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612\nPAYLOAD_SHA256=df9e19485e5d87112bf58bf77bdddf3b9b896418dd85ff945a31cd5b6817f352\nFRESHNESS_SHA256=bd6257397c6ea910df2ea0dd57252b33bccd0bbd965175840486dfe5e079bf96\nNODE_WORKER_SHA256=91bdd116be865560a38105dffbd1a66d687232035e2359e4a5be4d225e9c61d1\nVM210_PRESTATE_BEGIN=true\nVM210_CLUSTER_ROW={\"vmid\":210,\"name\":\"newfi-prod\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\"}\nVM210_QM_STATUS_RC=0\nstatus: running\nVM210_QM_CONFIG_RC=0\nVM210_QM_CONFIG_SHA256=cdd00bc79df85350a64683010791bd76d1b74b53b7eec97da0b902291ff9de72\nVM210_LOCK_PRESENT=false\nVM210_QGA_PING_RC=255\nVM210_PRESTATE_END=true\nSTORAGE_BEGIN=true\nRESTORE_STORAGE_STATUS_RC=0\nName Type Status Total (KiB) Used (KiB) Available (KiB) %\nlocal-lvm lvmthin active 848797696 133261238 715536457 15.70%\nRESTORE_STORAGE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nSTORAGE_END=true\nTARGET_REGISTRY_BEGIN=true\nTARGETS_SHA256=decea6b876c8ede15c91cad69c8e15e46021e5e96d25d415139bf2c524e23f7b\nVM210_TARGET_COUNT=2\nVM210_TARGET_SAFE={\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"logical_id\":\"vm210\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":210}\nVM210_TARGET_SAFE={\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"logical_id\":\"xf-newfi\",\"scope\":\"xenforo\",\"type\":\"xenforo\",\"vmid\":210}\nPRODUCTION_ACCEPTANCE_SHA256=708a481f6719ff1ed8d0afec1902650ed36ac631e980611b015419f504f16df0\n{\"schema\":1,\"accepted_release\":\"/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1\",\"release\":null,\"vmids\":null,\"logical_ids\":null}\nTARGET_REGISTRY_END=true\nLOCK_AND_UNIT_STATE_BEGIN=true\nHEAVY_LOCK=BUSY\nUNIT=homelab-vm-cloud-quorum-queue.service\nResult=success\nExecMainStartTimestamp=\nExecMainExitTimestamp=\nExecMainStatus=0\nLoadState=loaded\nActiveState=inactive\nSubState=dead\nUnitFileState=static\nUNIT=homelab-backup-v2.service\nResult=success\nExecMainStartTimestamp=Tue 2026-09-22 14:51:24 MSK\nExecMainExitTimestamp=\nExecMainStatus=0\nLoadState=loaded\nActiveState=activating\nSubState=start\nUnitFileState=static\nUNIT=homelab-backup-v2.timer\nResult=success\nLoadState=loaded\nActiveState=active\nSubState=running\nUnitFileState=enabled\nLOCK_AND_UNIT_STATE_END=true\nVM210_CURRENT_CLOUD_STATE_BEGIN=true\nSTATE_FILE_COUNT=0\nRESTORE_FILE_COUNT=0\nVM210_CURRENT_CLOUD_STATE_END=true\nFINAL413_RAW_EVIDENCE_DISCOVERY_BEGIN=true\nEVIDENCE_CANDIDATE_COUNT=120\nEVIDENCE_FILE=/var/lib/homelab-chat-run/state/command-ledger.tsv|SHA256=2e47208b0ce1bb6bfeed65e8e61f56841c933de9ee4761e192e28037140b7c42|BYTES=506406\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/state/command-ledger.tsv\n2278:2026-09-20T02:42:20Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-CLOUD214\tf6c6b79e158d1c16bc44af32807db585991b62fc9013e510533b9770a1fe4e24\t0\tOK\tnewfi-newfdom-messengers214-exact-cloud-generation-ssh-access-readonly-recovery\n2279:2026-09-20T02:45:01Z\tSUPPORT-260920-PVEPRO-RUSSIAN-UX-STAGING-QGA-RCA-READONLY-740R2\tc8e8e25b299c68113291471d957d998824bbe1139b1a3b2ef6ccb2a9c714f157\t0\tOK\tpvepro-russian-ux-staging-qga-rca-readonly\n2280:2026-09-20T02:48:36Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-CLOUD215\t57dc8766ecb8b2c444d1028df096e3fc55cacfaf6a002c7ca5ea8ccfda348d64\t0\tOK\tnewfi-newfdom-messengers214-cloud-recovery-egress-readiness-readonly\n2281:2026-09-20T02:56:58Z\tSUPPORT-260920-PVEPRO-RUSSIAN-UX-STAGING-CLEANUP-741R2\t953567114902fcc4d491106f9960393b4dfa3203452db2b4273246ca3d6beeed\t3\tFAIL\tpvepro-russian-ux-staging-cleanup\n2282:2026-09-20T03:02:17Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-CLOUD216\t4333d0fdf31e2b8d878559faf1d5f4bb9e61b9c39dcd96c38e8f8209ad898b46\t0\tOK\tnewfi-newfdom-messengers214-cloud-recovery-semantic-seal-egress-readiness-readonly\n2283:2026-09-20T03:09:28Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-ESCROW217\tcbf4c0ab8bdc411e02de55c9a92f47930f1f94d3ded4fd2c8b0c6256d810f701\t0\tOK\tnewfi-newfdom-messengers214-control-bootstrap-cloud-quorum-ssh-key-recovery-readonly\n2284:2026-09-20T03:13:45Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-ESCROW218\t3b3d47c70baa636d781e266710b1dc80b372f32d456f4b6d38005c52a0fedf7d\t0\tOK\tnewfi-newfdom-messengers214-control-bootstrap-semantic-rclone-ssh-key-recovery-readonly\n2285:2026-09-20T03:15:55Z\tSUPPORT-260920-PVEPRO-RUSSIAN-UX-RENDER-TRANSPORT-RCA-READONLY-742R5\t0ff5f31b68d2888ed7be244df827bd03cdf8695ea8e80a5d2446d021164d9241\t3\tFAIL\tpvepro-russian-ux-render-transport-rca-readonly\n2286:2026-09-20T03:20:01Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-ROUTE219\t636c6c45fe707965a0d1816ae048af583a0cc84a6b117417b8456822b47f0714\t0\tOK\tnewfi-newfdom-messengers214-p0b-git-anchor-ssh-route-source-recovery-readonly\n2287:2026-09-20T03:20:24Z\tSUPPORT-260920-PVEPRO-RUSSIAN-UX-RENDER-TRANSPORT-RCA-READONLY-742R5\t0ff5f31b68d2888ed7be244df827bd03cdf8695ea8e80a5d2446d021164d9241\t73\tBLOCKED\tpvepro-russian-ux-render-transport-rca-readonly\n2288:2026-09-20T03:28:55Z\tSUPPORT-260920-WORKERS2-NEWPC-PVE01-ACCESS-RECOVERY-744R1\tad51d7839863c4ee66378f96107e70be40edc4c799b4f1b55f4ec663448c0927\t0\tOK\tworkers2-newpc-pve01-access-recovery\n2289:2026-09-20T03:30:04Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-PAGEANT220\t38d4f63a3a7471a3ee62033202c76ad96631014967fda429e7bd55067a0730f7\t0\tOK\tnewfi-newfdom-messengers214-direct-windows-pageant-current-access-readonly\n2290:2026-09-20T03:37:57Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-CONTOUR221R1\t72e9d5eccb47aa24c0993a7716f7e70aa35f6c4e96340b3fa01c9a4989367737\t0\tOK\tnewfi-newfdom-messengers214-current-pageant-keyset-putty-contour-r1-readonly\n2291:2026-09-20T03:41:51Z\tNEWFI-260920-NEWFDOM-MESSENGERS214-CONTOUR221R2\t41c4b7208b9810d683661547cc28ca688e62c5142a2b73ae6ff873303011acf3\t0\tOK\tnewfi-newfdom-messengers214-current-pageant-keyset-putty-contour-r2-readonly\n2292:2026-09-20T03:42:27Z\tSUPPORT-260920-PVEPRO-RUSSIAN-UX-GUEST-VERIFIER-RCA-READONLY-746R2\t58c9a7944d2355ea4cb6b3eab57a2a4b6248b608f112a510038ae3bfa566f3a5\t1\tFAIL\tpvepro-russian-ux-guest-verifier-rca-readonly\n2629:2026-09-21T17:31:43Z\tSUPPORT-260921-HOMELAB-BACKUP-WAIT-AND-FINAL-SEAL-1096R1\t68f3e32b0b2762454e8708ae8965dc4d43a113c1cec0d90fbec281785992e4fc\t1\tFAIL\thomelab-backup-final-seal-localmail\n2630:2026-09-21T17:38:26Z\tNEWFI-260921-NEWFDOM-DR221-FINAL409-RECONCILE410R1\t40a8a761049af0ad088807d8e2ce52980e3f3a0e7012bb6f89c96655d559005f\t0\tOK\tnewfi-dr221-final409-prestate-reconcile-readonly\n2631:2026-09-21T17:40:02Z\tNEWFI-260921-NEWFDOM-DR221-GUEST411\te75542f83e4f89457288e7032e341aa7db2440226b6cb32f60730d9ecd5c1ee2\t0\tOK\tnewfi-dr221-vm210-guest-verifier-reconcile\n2632:2026-09-21T17:42:52Z\tSUPPORT-260921-HOMELAB-BACKUP-PREAUDIT-RPO-RCA-READONLY-1097R1\t146e3ea4eee06783fb993d25637f96c351defd1163f1d06b78ef3c3b012c9f11\t0\tOK\thomelab-backup-preaudit-rpo-rca\n2633:2026-09-21T17:45:02Z\tNEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1\t2d287bfb97be12a17b932f08a33663fc58cd3420a2c6ad83df829f31c758339f\t1\tFAIL\tnewfi-dr221-prestate-findings-fix-readonly\n2634:2026-09-21T17:48:35Z\tNEWFI-260921-NEWFDOM-DR221-FINAL413\t417389f4721a56312f7ea533dfdbb687e65433a492760945908156044599982e\t3\tFAIL\tnewfi-dr221-final-current-production-backup-restore-acceptance\n2635:2026-09-21T19:50:09Z\tSUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1\t12198c2fba8c04dcd25b0328d5f33533ac89d5a6412d093c166650665d0e5344\t2\tFAIL\thomelab-backup-rpo-refresh\n2636:2026-09-21T19:52:48Z\tSUPPORT-260921-PVEPRO-EDITORIAL-CASES-BATCH-C-888-886-COMBINED-LOCAL-RECOVERY-889R1\t5c2746534ac0b58f98d2bd8b413f8515ee7f53e9e400c76e719ae0c0a88a97a6\t0\tOK\tpvepro-888-886-combined-local-recovery\n2637:2026-09-21T19:54:21Z\tSUPPORT-260921-HOMELAB-BACKUP-POST1098-RPO-RCA-READONLY-1099R1\t72d9a4c8271152e6a33fef99f04b48de465897d6ed2048a32075ebf63c27b3f0\t0\tOK\thomelab-backup-post1098-rpo-rca\n2638:2026-09-21T19:58:40Z\tSUPPORT-260921-PVEPRO-EDITORIAL-CASES-BATCH-C-PRESCOPE-READONLY-890R1\tb88cbd282c77d22a5612f8095b8b1f5f3ceb4fa744061e7b98df3fa0cbc549a7\t0\tOK\tpvepro-editorial-cases-batch-c-prescope\n2639:2026-09-21T20:03:14Z\tSUPPORT-260921-HOMELAB-BACKUP-WAIT-OWNER-THEN-RPO-READONLY-1100R1\tab8940a24d97943f95ccc37f431e8da5cb91089722af20e258156cd226681a29\t0\tOK\thomelab-backup-wait-owner-then-rpo\n2640:2026-09-21T20:04:53Z\tSUPPORT-260921-NEWPC-DRIVERBOOSTER-GITEA-RECOVERY-1096R2\taae027b7eee1b54036f9e59d644b676bdc797e3012bdfef14814c3f26ab0397d\t0\tOK\tnewpc-driverbooster-gitea-publication-recovery-lockwait\n2641:2026-09-21T20:09:10Z\tSUPPORT-260921-PVEPRO-EDITORIAL-BATCH-C-ROOT-RECONCILE-READONLY-891R1\tc2cea542e7322f6e1d945154c987b345fa6c32963fb702b1a87c22e0f94ea276\t0\tOK\tpvepro-editorial-batch-c-root-reconcile\n2642:2026-09-21T20:31:24Z\tSUPPORT-260921-HOMELAB-BACKUP-VM-RPO-REFRESH-1101R1\tb67692a4f48430147fce56f9140fb1ac7e06b0b298409438f04c42cfe5b6f715\t10\tFAIL\thomelab-backup-vm-rpo-refresh\n2643:2026-09-21T20:40:43Z\tSUPPORT-260921-PVEPRO-EDITORIAL-892-LOCAL-RESULT-RECOVERY-893R1\t915a2ad34ff54649d9387a70309dbc0adead442d20c8705b44bc19665b7376ac\t0\tOK\tpvepro-892-local-result-recovery\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/state/command-ledger.tsv\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z-20260731T105628Z.log|SHA256=533ca4b7aef4c7c7d32e8ce2c7818e87acc6a15d9d2a0c988ddd608792647bbf|BYTES=64838\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z-20260731T105628Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n2:{\"baseline\":{\"branch\":\"site-gram1-ru-baseline-20260731\",\"commit\":\"f9d3ba8caf65005605aa8aee2ede7e4e7e94ee49\",\"host_source_map\":[{\"baseline_host_dir\":\"hosts/local\",\"domain_match_count\":1000,\"hostname\":\"pve01\",\"roots\":[\"/root/homelab-configs-worktree\",\"/root/homelab-configs-worktree/docs\",\"/root/homelab-configs-worktree/docs/operations\",\"/srv/homelab-desired-state\",\"/srv/homelab-desired-state/health\",\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"/srv/homelab-desired-state/sbin\",\"/srv/homelab-ops-worktrees/cr-2026-0015\",\"/root/homelab-ops-cr-2026-0004\",\"/root/homelab-ops-cr-2026-0012\"],\"ssh_target\":null,\"target\":\"local\"},{\"baseline_host_dir\":\"hosts/pve02\",\"domain_match_count\":16,\"hostname\":\"pve02\",\"roots\":[\"/root/evidence/forum-prod-diag-20260629T032514Z\",\"/root/evidence/forum-prod-os-baseline-20260629T034119Z\",\"/root/evidence/forum-prod-offline-fix2-20260629T033832Z\",\"/root/evidence/forum-prod-recover-20260629T025511Z\",\"/root/evidence/forum-prod-recreate-20260629T030810Z\",\"/srv/homelab-desired-state/routerguard-tuya\"],\"ssh_target\":\"pve02\",\"target\":\"pve02\"},{\"baseline_host_dir\":\"hosts/pve03\",\"domain_match_count\":6,\"hostname\":\"pve03\",\"roots\":[],\"ssh_target\":\"pve03\",\"target\":\"pve03\"}],\"snapshot_path\":\"sites/gram1.ru/baseline/20260731T071400Z\"},\"baseline_evidence\":{\"audit_count\":3,\"avax_present\":false,\"link_present\":true,\"providers\":{},\"ranked_change_files\":[{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"audit_label\":\"baseline:local/source\",\"bytes\":528351,\"kinds\":[\"api\",\"coin_registry\"],\"path\":\"01_homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"providers\":[],\"score\":31,\"sha256\":\"977b61a620ea32d2ccfa4b5ebad611713c0b4aa7991f9af0332b2febf4007fd1\",\"snippets\":[{\"line\":9,\"text\":\"Inspected local NPMplus API status and app code references to identify a supported certificate object creation path before remediating public routes with certificate_id=0.\"},{\"line\":18,\"text\":\"PURPOSE=FIND_SUPPORTED_CERT_OBJECT_CREATION_PATH\"},{\"line\":227,\"text\":\"/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.textContent=e,t&&i.setAttribu\"},{\"line\":253,\"text\":\"/app/frontend/assets/index-tlrv6MVo.js:908:`,position:{start:{line:l+u,column:1},end:{line:l+u,column:1}}})}return l+=i,t}if(Object.prototype.hasOwnProperty.call(n,`children`)){var f=l;return n.children=e(n.children),t.push(n),n.position={s\"}],\"symbols\":{\"ADA\":11,\"DOT\":4,\"LINK\":24}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md\",\"audit_label\":\"baseline:local/source\",\"bytes\":504281,\"kinds\":[\"coin_registry\"],\"path\":\"01_homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md\",\"providers\":[],\"score\":24,\"sha256\":\"1ac8fe15ebd06db8ef3a9c6127fe5efe7ecbb76d395abbe551c249b249492d21\",\"snippets\":[{\"line\":239,\"text\":\"..md:227:/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.text\"},{\"line\":378,\"text\":\"126: labels: '{__address__=\\\"[PRIVATE_IP]:8000\\\", __meta_docker_container_id=\\\"\\\", __meta_docker_container_label_com_docker_compose_config_hash=\\\"\\\", __meta_docker_container_label_com_docker_compose_container_number=\\\"1\\\",\"},{\"line\":458,\"text\":\"/app/node_modules/knex/lib/knex-builder/internal/config-resolver.js:33: `knex: Unknown configuration option 'client' value ${clientName}. Note that it is case-sensitive, check documentation for supported values.`\"},{\"line\":469,\"text\":\"/a\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z-20260731T105628Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log|SHA256=3a20c409c411e40127c8a957e69c7693d334e14464edeeef423cc19744423d06|BYTES=3290\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log\n19:SOURCE_PUSHURL_CLASS=DISABLED\n20:SOURCE_BRANCH_PREFLIGHT_RC=0\n21:SOURCE_BRANCH_PREFLIGHT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n22:SOURCE_REMOTE_BRANCH_PRE=ABSENT\n23:BACKUP_OWNER_PRE_ACTIVE=inactive\n24:HEAVY_LOCK_PRECHECK=FREE\n25:VPS_IDENTITY_PREFLIGHT_RC=0\n26:US_TARGET_CARDINALITY=1\n27:US_TARGET_TYPE=vps_us\n28:US_EXPECTED_HOSTKEY=SHA256:805Q9eh/fePUci42dfY58I6q0lFiiPHn0/M+mckypmE\n29:US_SCANNED_HOSTKEY_MATCH=true\n30:OPERATOR_KEY_FINGERPRINT=SHA256:wipXiBB3cpAwyWap9LcB185WjEEmDxtRJsI/UuMVAp0\n31:VPS_KNOWN_HOSTS_PATH=/etc/homelab-backup-v2/vps_known_hosts\n32:VPS_KNOWN_HOSTS_EXISTS=true\n33:VPS_KNOWN_HOSTS_PRE_SHA256=eefedbb4af6a640f2a527a85debab17d023a28b4e87d5b268ea7b6ca6af16384\n35:VPS_KNOWN_HOSTS_REPAIR_RC=1\n36:VPS_KNOWN_HOSTS_REFRESHED=true\n37:VPS_KNOWN_HOSTS_POST_SHA256=eefedbb4af6a640f2a527a85debab17d023a28b4e87d5b268ea7b6ca6af16384\n38:US_SSH_TRUE_RC=255\n39:VPS_KNOWN_HOSTS_ROLLBACK=RESTORED\n40:US_REPAIR_EXCEPTION=RuntimeError\n41:US_REPAIR_EXCEPTION_SHA256=c23a3115549c74b0f203229a792306c13449680381cb3eff4f397efe8b1756d6\n42:VPS_KNOWN_HOSTS_REPAIR_STDERR_SHA256=eebf16bbca7c84fc14987500d7c078ebe316edf9e3f2408598cb7eea27ad5f4e\n43:FAILURE=US_NETBIRD_KNOWN_HOSTS_OR_CAPTURE_REPAIR_FAILED\n44:DECISION=HOLD_BACKUP_1118R2_COMBINED_REPAIR_INCOMPLETE\n45:NEXT_GATE=RECONCILE_ONLY_BACKUP_1118R2_FAILURE\n46:TASK_RESULT=HOLD_HOMELAB_BACKUP_COMBINED_REPAIR\n47:KNOWN_HOSTS_CHANGED=false\n48:US_NETBIRD_BACKUP_SUCCESS=false\n49:AUDIT_CHANGED=false\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log|SHA256=9f95d2e9c93313bbfe726e614999f8dd3bb4f1f9e1e3f3e4829acf29e539c00b|BYTES=288398\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log\n6:NO_RESTORE_EXECUTION=true\n7:NO_MAIL_SEND=true\n8:NO_SERVICE_MUTATION=true\n9:NO_FILE_WRITE_BY_AUDIT=true\n10:AUDIT_TS_UTC=2026-09-21T00:49:30.147922Z\n11:CANONICAL_REPO={\"backup_refs\":[\"cr-2026-0002-offhost-retention-remediation|320e66a4f0855fa391d8eb862bc997347fb61595|CR-2026-0002 remediate offhost retention capacity\",\"|b0f9935dce45a7dee2949aef342cadec90ff38a2|CR-2026-0003 remediate cluster storage retention\",\"cr-2026-0004-backup-tail-closure|bf80410f592f8eb9eaa80695f609870fe3fb85fd|CR-2026-0004 seal backup tail closure task\",\"cr-2026-0006-cluster-cloud-quorum|16e84298035f5e4ec7e2b7d39967ad5e40ea3d4b|CR-2026-0006: add VM160 cloud quorum canary task\",\"cr-2026-0018-backup-cloud-quorum-foundation|b25e80a67fb97ff6c0aa272b25675b9f7c82fb96|CR-2026-0018: add backup cloud quorum foundation\",\"cr-2026-0020-app-cloud-quorum|f556984e410ed819b4cb1e00635dceb43f0ffc5d|fix(cr-2026-0020): recover proven vm160 cancel state\",\"cr-2026-0021-vm-backup-freshness|3c92036f3000189493fc47557c4cb03e7a412c82|fix(cr-2026-0021): initialize freshness probe arrays\",\"cr-2026-0022-app-cloud-quorum-freshness|a497e0f15f1c8d11c3603a4cf5a6a65654cae6fb|feat(cr-2026-0022): add app backup freshness gate\",\"cr-2026-0024-hbarhub-cloud-quorum|332e8d3f8d2742a05a8d73637cac6a2defc3a825|test(cr-2026-0024): cover sealed restore repair path\",\"cr-2026-0025-scrutiny-cloud-quorum|73890efb9e99bf02a09daa0e547ab36b48c83b30|fix(CR-2026-0025): make recovery phases resume-safe\",\"cr-2026-0026-backup-scheduler-rpo-hardening|ebc08fe5d6beef3cc927bc7d23f6ab37b35d947d|CR-2026-0026: preserve VM queue rollback mode\",\"cr-2026-0027-backup-lock-fd-hardening|d5a14cbaef47db39f17a94e248e183f0916bdab1|fix(CR-2026-0027): use actual timer margin\",\"|6e3707e90181318be3e8616b14ee553968c485dd|fix(CR-2026-0028): correct natural scheduler proof acceptance\",\"cr-2026-0029-control-bootstrap-cloud-quorum|dd81175a24ff64048b36d6ec08dcd3addfc681e9|fix(CR-2026-0029): allow numeric corosync timing token\",\"cr-2026-0031-vm-restore-evidence-hardening|f8941f01f41d03b3368a33df868f7ea11311eb6a|CR-2026-0031: make VM evidence apply resume-safe\",\"cr-2026-0032-backup-unified-monitoring|8ad7fcc4537c48de47daac086087d247886c58d9|CR-2026-0032: add unified backup DR monitoring\",\"cr-2026-0033-backup-retention-safe-gc|42fd895f421ebc177006c5eb4173f7b4f40ad47f|fix(CR-2026-0033): accept git-normalized source executable mode\",\"cr-2026-0035-skladchik-moderator-ct200|c7a72a516b74e73b07df646374fa938eac055f32|fix(CR-2026-0035): make retention hotfix apply resumable\",\"|6fc45798c21bd66c561c14059e14f09b7d0a8d63|fix(CR-2026-0046): remove inline Python from dry-run\",\"cr-2026-0050-backup-matrix-residue-retirement|6c1165dccfb6e84b571f0caac6773fd427bf800d|fix(CR-2026-0050): enforce matrix-only residue retirement\",\"cr-2026-0054-backup-control-coverage-hardening|3f02810a16b711700a9da87189c63e38b1fa324b|fix(CR-2026-0054): finalize sealed CR0056 dependency pins\",\"|902126179efd488e20938a091dcee36109829b86|fix(CR-2026-0055): stabilize retention delete-set comparison\",\"|b69b63f531fb71eb95ab147bbfce57591f90e0a4|fix(CR-2026-0056): resume retention transactions before empty-plan return\",\"cr-2026-0058-legacy-backup-target-retirement|4b427f5f0406cab6757cf8889fd479a62d218261|docs(CR-2026-0058): make CT200 replacement proof owner-aware\",\"|1a0e4ce27b94bbfbf7b60829974a728b5eba3ad2|fix(CR-2026-0060): fail closed on retention remote listing errors\",\"|d3a11bde0e73ddfd7049693782d44100c0c1130e|fix(CR-2026-0064): make expected runtime diff ERR-trap safe\",\"|2c2f378aec7dc4ac23c633a31f738a850fface56|fix(CR-2026-0065): make pre-transaction repin crash-recoverable\",\"cr-2026-0066-legacy-backup-target-retirement|bcf018f263d9fc607eddd1796e5ef306870c6b7b|fix(CR-2026-0066): harden remote proof and fail-closed scans\",\"cr-2026-0070-backup-target-lifecycle-registry|dbf8266d5f2bc4c87024ea8f0eb5f0e8922c7519|fix(CR-2026-0070): make approved diffs Git-whitespace safe\",\"cr-2026-0071-backup-observability|07cb58a803022b5538e30b201380e215a5490c84|fix(CR-2026-0071): make install\n12:CANONICAL_FILE={\"bytes\":733,\"gid\":0,\"mode\":\"0o644\",\"mtime_utc\":\"2026-08-20T21:06:53.673934Z\",\"path\":\"/srv/homelab-ops/kb/runbooks/06_CLOUD_BACKUP.md\",\"present\":true,\"regular\":true,\"sha256\":\"975e1ffdc73e3998f02849e7577f26d7335ef4e986db39fbef42c44300f78983\",\"uid\":0}\n13:CANONICAL_FILE={\"bytes\":1436,\"gid\":0,\"mode\":\"0o644\",\"mtime_utc\":\"2026-07-18T04:48:33.668744Z\",\"path\":\"/srv/homelab-ops/policies/cluster-cloud-quorum.json\",\"present\":true,\"regular\":true,\"sha256\":\"e06b7e6285eda2885ef913aa954a70abc7c1d892199a8b7cea2ada98b8edba34\",\"uid\":0}\n14:LIVE_ASSET={\"bytes\":7855,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o755\",\"mtime_utc\":\"2026-09-04T06:25:07.428195Z\",\"path\":\"/usr/local/sbin/homelab-app-cloud-quorum-queue\",\"present\":true,\"regular\":true,\"sha256\":\"1f959049cca2710a2cb820cc1f6acab16399c6b6711b9e4522e0ecd49e0e4650\",\"uid\":0}\n15:LIVE_ASSET={\"bytes\":8681,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o755\",\"mtime_utc\":\"2026-09-16T13:07:29.468776Z\",\"path\":\"/usr/local/sbin/homelab-vm-cloud-quorum-queue\",\"present\":true,\"regular\":true,\"sha256\":\"fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612\",\"uid\":0}\n16:LIVE_ASSET={\"bytes\":39160,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o755\",\"mtime_utc\":\"2026-09-04T09:32:23.357291Z\",\"path\":\"/usr/local/sbin/homelab-backup-audit\",\"present\":true,\"regular\":true,\"sha256\":\"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c\",\"uid\":0}\n17:LIVE_ASSET={\"bytes\":32975,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o755\",\"mtime_utc\":\"2026-09-04T06:25:07.430470Z\",\"path\":\"/usr/local/sbin/homelab-backup-retention-gc\",\"present\":true,\"regular\":true,\"sha256\":\"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3\",\"uid\":0}\n18:LIVE_ASSET={\"bytes\":11862,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o755\",\"mtime_utc\":\"2026-08-26T03:04:50.462020Z\",\"path\":\"/usr/local/sbin/homelab-control-backup\",\"present\":true,\"regular\":true,\"sha256\":\"0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57\",\"uid\":0}\n19:LIVE_ASSET={\"bytes\":3395,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o750\",\"mtime_utc\":\"2026-07-20T21:33:12.462151Z\",\"path\":\"/usr/local/sbin/homelab-evidence-seal\",\"present\":true,\"regular\":true,\"sha256\":\"1c64cda4f8e93108e7bef3c110f896112a2e923b64e7e25573ff630744085a7b\",\"uid\":0}\n20:LIVE_ASSET={\"bytes\":3498,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o700\",\"mtime_utc\":\"2026-08-20T04:35:15.973163Z\",\"path\":\"/usr/local/sbin/homelab-backup-coverage-matrix\",\"present\":true,\"regular\":true,\"sha256\":\"fe95dd92e02b802e956e7d46aad1acdf2a305b26abb7b84f6a2ef24ef8d0231a\",\"uid\":0}\n21:LIVE_ASSET={\"bytes\":1770,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o700\",\"mtime_utc\":\"2026-07-03T09:36:21.328051Z\",\"path\":\"/usr/local/sbin/homelab-backup-health-evidence\",\"present\":true,\"regular\":true,\"sha256\":\"663d474d581bce233eae91aa9604d276bb19aadd8233e59096b8f91a72cc3460\",\"uid\":0}\n22:LIVE_ASSET={\"bytes\":2241,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o750\",\"mtime_utc\":\"2026-06-27T02:04:37.427744Z\",\"path\":\"/usr/local/sbin/homelab-backup-freshness.sh\",\"present\":true,\"regular\":true,\"sha256\":\"3d606112ee83d1b75d72d4d9daa96cb6e2c55b52acc2432954f4e50676e319da\",\"uid\":0}\n23:LIVE_ASSET={\"bytes\":4079,\"canonical_matches\":[],\"canonical_sha_match\":false,\"gid\":0,\"mode\":\"0o755\",\"mtime_utc\":\"2026-07-17T22:54:49.474452Z\",\"path\":\"/usr/local/sbin/homelab-backup-sla-health\",\"present\":true,\"regular\":true,\"sha256\":\"9357e2a9622d59346b33522840dd0f0a6d4033078ed49242c4c93c8b8a2d754f\",\"uid\":0}\n24:BACKUP_UNIT_COUNT=23\n25:BACKUP_UNITS=[\"dpkg-db-backup.service\",\"dpkg-db-backup.timer\",\"homelab-alerting-health.service\",\"homelab-alerting-health.timer\",\"homelab-app-cloud-quorum-queue.service\",\"homelab-app-cloud-quorum-queue.timer\",\"homelab-backup-audit.service\",\"homelab-backup-audit.timer\",\"homelab-backup-retention-gc.service\",\"homelab-backup-retention-gc.timer\",\"homelab-backup-v2.service\",\"homelab-backup-v2.timer\",\"homelab-control-backup.service\",\"homelab-control-backup.timer\",\"homelab-evidence-seal.service\",\"homelab-evidence-seal.timer\",\"homelab-mailru-trash-gc.service\",\"homelab-mailru-trash-gc.timer\",\"homelab-router-running-config-mail-cloud.service\",\"homelab-router-running-config-mail-cloud.timer\",\"homelab-vm-cloud-quorum-queue.service\",\"homelab-vm-cloud-quorum-queue.timer\",\"rpc-statd-notify.service\"]\n26:SYSTEMD_BACKUP_STATE={\"dpkg-db-backup.service\":{\"ActiveEnterTimestamp\":\"\",\"ActiveState\":\"inactive\",\"ExecMainCode\":\"1\",\"ExecMainExitTimestamp\":\"Mon 2026-09-21 00:00:14 MSK\",\"ExecMainStartTimestamp\":\"Mon 2026-09-21 00:00:14 MSK\",\"ExecMainStatus\":\"0\",\"FragmentPath\":\"/usr/lib/systemd/system/dpkg-db-backup.service\",\"InactiveExitTimestamp\":\"Mon 2026-09-21 00:00:14 MSK\",\"LoadState\":\"loaded\",\"Result\":\"success\",\"SubState\":\"dead\",\"UnitFileState\":\"static\"},\"dpkg-db-backup.timer\":{\"ActiveEnterTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"ActiveState\":\"active\",\"FragmentPath\":\"/usr/lib/systemd/system/dpkg-db-backup.timer\",\"InactiveExitTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"LastTriggerUSec\":\"Mon 2026-09-21 00:00:14 MSK\",\"LoadState\":\"loaded\",\"NextElapseUSecRealtime\":\"Tue 2026-09-22 00:00:00 MSK\",\"Result\":\"success\",\"SubState\":\"waiting\",\"UnitFileState\":\"enabled\"},\"homelab-alerting-health.service\":{\"ActiveEnterTimestamp\":\"\",\"ActiveState\":\"inactive\",\"ExecMainCode\":\"1\",\"ExecMainExitTimestamp\":\"Sun 2026-09-20 07:46:58 MSK\",\"ExecMainStartTimestamp\":\"Sun 2026-09-20 07:46:58 MSK\",\"ExecMainStatus\":\"0\",\"FragmentPath\":\"/etc/systemd/system/homelab-alerting-health.service\",\"InactiveExitTimestamp\":\"Sun 2026-09-20 07:46:58 MSK\",\"LoadState\":\"loaded\",\"Result\":\"success\",\"SubState\":\"dead\",\"UnitFileState\":\"static\"},\"homelab-alerting-health.timer\":{\"ActiveEnterTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"ActiveState\":\"active\",\"FragmentPath\":\"/etc/systemd/system/homelab-alerting-health.timer\",\"InactiveExitTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"LastTriggerUSec\":\"Sun 2026-09-20 07:46:58 MSK\",\"LoadState\":\"loaded\",\"NextElapseUSecRealtime\":\"Mon 2026-09-21 07:47:16 MSK\",\"Result\":\"success\",\"SubState\":\"waiting\",\"UnitFileState\":\"enabled\"},\"homelab-app-cloud-quorum-queue.service\":{\"ActiveEnterTimestamp\":\"\",\"ActiveState\":\"failed\",\"ExecMainCode\":\"1\",\"ExecMainExitTimestamp\":\"Wed 2026-09-16 21:30:17 MSK\",\"ExecMainStartTimestamp\":\"Wed 2026-09-16 21:30:11 MSK\",\"ExecMainStatus\":\"65\",\"FragmentPath\":\"/etc/systemd/system/homelab-app-cloud-quorum-queue.service\",\"InactiveExitTimestamp\":\"Wed 2026-09-16 21:30:11 MSK\",\"LoadState\":\"loaded\",\"Result\":\"exit-code\",\"SubState\":\"failed\",\"UnitFileState\":\"static\"},\"homelab-app-cloud-quorum-queue.timer\":{\"ActiveEnterTimestamp\":\"\",\"ActiveState\":\"inactive\",\"FragmentPath\":\"/etc/systemd/system/homelab-app-cloud-quorum-queue.timer\",\"InactiveExitTimestamp\":\"\",\"LastTriggerUSec\":\"\",\"LoadState\":\"loaded\",\"NextElapseUSecRealtime\":\"\",\"Result\":\"success\",\"SubState\":\"dead\",\"UnitFileState\":\"disabled\"},\"homelab-backup-audit.service\":{\"ActiveEnterTimestamp\":\"\",\"ActiveState\":\"inactive\",\"ExecMainCode\":\"1\",\"ExecMainExitTimestamp\":\"Mon 2026-09-21 03:35:42 MSK\",\"ExecMainStartTimestamp\":\"Mon 2026-09-21 03:35:33 MSK\",\"ExecMainStatus\":\"0\",\"FragmentPath\":\"/etc/systemd/system/homelab-backup-audit.service\",\"InactiveExitTimestamp\":\"Mon 2026-09-21 03:35:33 MSK\",\"LoadState\":\"loaded\",\"Result\":\"success\",\"SubState\":\"dead\",\"UnitFileState\":\"static\"},\"homelab-backup-audit.timer\":{\"ActiveEnterTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"ActiveState\":\"active\",\"FragmentPath\":\"/etc/systemd/system/homelab-backup-audit.timer\",\"InactiveExitTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"LastTriggerUSec\":\"Mon 2026-09-21 03:35:33 MSK\",\"LoadState\":\"loaded\",\"NextElapseUSecRealtime\":\"Mon 2026-09-21 04:06:01 MSK\",\"Result\":\"success\",\"SubState\":\"waiting\",\"UnitFileState\":\"enabled\"},\"homelab-backup-retention-gc.service\":{\"ActiveEnterTimestamp\":\"\",\"ActiveState\":\"failed\",\"ExecMainCode\":\"1\",\"ExecMainExitTimestamp\":\"Mon 2026-09-21 03:22:42 MSK\",\"ExecMainStartTimestamp\":\"Mon 2026-09-21 03:22:42 MSK\",\"ExecMainStatus\":\"66\",\"FragmentPath\":\"/etc/systemd/system/homelab-backup-retention-gc.service\",\"InactiveExitTimestamp\":\"Mon 2026-09-21 03:22:42 MSK\",\"LoadState\":\"loaded\",\"Result\":\"exit-code\",\"SubState\":\"failed\",\"UnitFileState\":\"static\"},\"homelab-backup-retention-gc.timer\":{\"ActiveEnterTimestamp\":\"Fri 2026-08-28 16:31:38 MSK\",\"ActiveState\":\"active\",\"FragmentPath\":\"/etc/systemd/system/homelab-backup-retention-gc.timer\",\"Inact\n27:BACKUP_TIMER_LINES=[\"Mon 2026-09-21 04:06:01 MSK 16min Mon 2026-09-21 03:35:33 MSK 13min ago homelab-backup-audit.timer homelab-backup-audit.service\",\"Mon 2026-09-21 06:14:34 MSK 2h 25min Mon 2026-09-21 00:04:44 MSK 3h 44min ago homelab-evidence-root.timer homelab-evidence-root.service\",\"Mon 2026-09-21 07:30:26 MSK 3h 40min Mon 2026-09-21 01:23:58 MSK 2h 25min ago homelab-mailru-trash-gc.timer homelab-mailru-trash-gc.service\",\"Mon 2026-09-21 07:47:16 MSK 3h 57min Sun 2026-09-20 07:46:58 MSK 20h ago homelab-alerting-health.timer homelab-alerting-health.service\",\"Tue 2026-09-22 00:00:00 MSK 20h Mon 2026-09-21 00:00:14 MSK 3h 49min ago dpkg-db-backup.timer dpkg-db-backup.service\",\"Tue 2026-09-22 00:10:26 MSK 20h Mon 2026-09-21 00:07:44 MSK 3h 41min ago homelab-evidence-catalog.timer homelab-evidence-catalog.service\",\"Tue 2026-09-22 03:32:10 MSK 23h Mon 2026-09-21 03:22:42 MSK 26min ago homelab-backup-retention-gc.timer homelab-backup-retention-gc.service\",\"- - Mon 2026-09-21 03:47:58 MSK 1min 31s ago homelab-backup-v2.timer homelab-backup-v2.service\"]\n28:FAILED_UNITS=[\"*\",\"*\",\"*\",\"*\"]\n29:UNIT_WARNING_JOURNAL={\"lines\":[\"2026-09-12T19:30:07+03:00 pve01 systemd[1]: homelab-app-cloud-quorum-queue.service: Failed with result 'exit-code'.\",\"2026-09-12T19:30:07+03:00 pve01 systemd[1]: Failed to start homelab-app-cloud-quorum-queue.service - Homelab canonical application cloud quorum backup queue.\",\"2026-09-16T19:30:05+03:00 pve01 systemd[1]: homelab-app-cloud-quorum-queue.service: Failed with result 'exit-code'.\",\"2026-09-16T19:30:05+03:00 pve01 systemd[1]: Failed to start homelab-app-cloud-quorum-queue.service - Homelab canonical application cloud quorum backup queue.\",\"2026-09-16T21:30:17+03:00 pve01 systemd[1]: homelab-app-cloud-quorum-queue.service: Failed with result 'exit-code'.\",\"2026-09-16T21:30:17+03:00 pve01 systemd[1]: Failed to start homelab-app-cloud-quorum-queue.service - Homelab canonical application cloud quorum backup queue.\"],\"unit\":\"homelab-app-cloud-quorum-queue.service\"}\n30:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-app-cloud-quorum-queue.timer\"}\n31:UNIT_WARNING_JOURNAL={\"lines\":[\"2026-09-11T01:35:16+03:00 pve01 systemd[1]: homelab-vm-cloud-quorum-queue.service: Failed with result 'exit-code'.\",\"2026-09-11T01:35:16+03:00 pve01 systemd[1]: Failed to start homelab-vm-cloud-quorum-queue.service - Homelab canonical VM/CT cloud quorum backup queue.\",\"2026-09-14T12:40:09+03:00 pve01 systemd[1]: homelab-vm-cloud-quorum-queue.service: Failed with result 'exit-code'.\",\"2026-09-14T12:40:09+03:00 pve01 systemd[1]: Failed to start homelab-vm-cloud-quorum-queue.service - Homelab canonical VM/CT cloud quorum backup queue.\",\"2026-09-16T20:33:02+03:00 pve01 systemd[1]: homelab-vm-cloud-quorum-queue.service: Failed with result 'exit-code'.\",\"2026-09-16T20:33:02+03:00 pve01 systemd[1]: Failed to start homelab-vm-cloud-quorum-queue.service - Homelab canonical VM/CT cloud quorum backup queue.\"],\"unit\":\"homelab-vm-cloud-quorum-queue.service\"}\n32:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-vm-cloud-quorum-queue.timer\"}\n33:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-backup-audit.service\"}\n34:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-backup-audit.timer\"}\n35:UNIT_WARNING_JOURNAL={\"lines\":[\"2026-09-16T03:25:32+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.\",\"2026-09-16T03:25:32+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.\",\"2026-09-17T03:21:32+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.\",\"2026-09-17T03:21:32+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.\",\"2026-09-18T03:22:16+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.\",\"2026-09-18T03:22:16+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.\",\"2026-09-19T03:23:32+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.\",\"2026-09-19T03:23:32+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.\",\"2026-09-20T03:34:58+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.\",\"2026-09-20T03:34:58+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.\",\"2026-09-21T03:22:42+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.\",\"2026-09-21T03:22:42+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.\"],\"unit\":\"homelab-backup-retention-gc.service\"}\n36:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-backup-retention-gc.timer\"}\n37:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-control-backup.service\"}\n38:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-control-backup.timer\"}\n39:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-evidence-seal.service\"}\n40:UNIT_WARNING_JOURNAL={\"lines\":[\"-- No entries --\"],\"unit\":\"homelab-evidence-seal.timer\"}\n41:CLUSTER_GUESTS=[{\"name\":\"pvepro-prod\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":100},{\"name\":\"pvepro-staging-v1\",\"node\":\"pve01\",\"status\":\"stopped\",\"type\":\"qemu\",\"vmid\":101},{\"name\":\"dns1\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"lxc\",\"vmid\":110},{\"name\":\"dns2\",\"node\":\"pve02\",\"status\":\"running\",\"type\":\"lxc\",\"vmid\":111},{\"name\":\"unbound1\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"lxc\",\"vmid\":112},{\"name\":\"unbound2\",\"node\":\"pve02\",\"status\":\"running\",\"type\":\"lxc\",\"vmid\":113},{\"name\":\"edge-vm\",\"node\":\"pve03\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":130},{\"name\":\"snikket\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":150},{\"name\":\"forum-prod\",\"node\":\"pve02\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":160},{\"name\":\"core-apps\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":170},{\"name\":\"monitoring\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":171},{\"name\":\"homelab-ops-worker\",\"node\":\"pve03\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":190},{\"name\":\"newfi-prod\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":210},{\"name\":\"newfi-staging\",\"node\":\"pve03\",\"status\":\"running\",\"type\":\"qemu\",\"vmid\":211},{\"name\":\"edge-cold-standby\",\"node\":\"pve02\",\"status\":\"stopped\",\"type\":\"qemu\",\"vmid\":9130}]\n45:LOCAL_CAPACITY={\"free\":58518495232,\"inode_used_pct\":7.07,\"path\":\"/\",\"total\":105089261568,\"used\":46570766336,\"used_pct\":44.32}\n46:LOCAL_CAPACITY={\"free\":58518495232,\"inode_used_pct\":7.07,\"path\":\"/var/lib/vz\",\"total\":105089261568,\"used\":46570766336,\"used_pct\":44.32}\n47:LOCAL_CAPACITY={\"free\":285683355648,\"inode_used_pct\":0.21,\"path\":\"/mnt/staging\",\"total\":315926315008,\"used\":30242959360,\"used_pct\":9.57}\n48:LOCAL_CAPACITY={\"free\":58518495232,\"inode_used_pct\":7.07,\"path\":\"/var/lib/homelab-backup\",\"total\":105089261568,\"used\":46570766336,\"used_pct\":44.32}\n49:LOCAL_CAPACITY={\"free\":58518487040,\"inode_used_pct\":7.07,\"path\":\"/var/lib/homelab-health\",\"total\":105089261568,\"used\":46570774528,\"used_pct\":44.32}\n50:LATEST_CLOUD_QUORUM_STATE=[{\"app\":null,\"cloud_a_seal_verified\":true,\"cloud_a_uploaded\":null,\"cloud_b_seal_verified\":true,\"cloud_b_uploaded\":null,\"cloud_quorum\":2,\"created_at_utc\":\"2026-09-16T11:35:59Z\",\"file\":\"/var/lib/homelab-backup/cloud-quorum/app-filebrowser/app-filebrowser-pve01-20260916T113558Z.json\",\"generation\":\"app-filebrowser-pve01-20260916T113558Z\",\"id\":\"app-filebrowser\",\"local_cleanup\":\"OK\",\"local_payload_present\":false,\"logical_id\":\"app-filebrowser\",\"mtime_utc\":\"2026-09-16T11:36:13.986926Z\",\"payload_size_bytes\":null,\"quorum\":null,\"restore_status\":null,\"restore_validation\":null,\"seal_written\":true,\"sealed_at_utc\":\"2026-09-16T11:36:11Z\",\"status\":\"SEALED\",\"updated_at_utc\":\"2026-09-16T11:36:13Z\",\"vmid\":null},{\"app\":null,\"cloud_a_seal_verified\":true,\"cloud_a_uploaded\":null,\"cloud_b_seal_verified\":true,\"cloud_b_uploaded\":null,\"cloud_quorum\":2,\"created_at_utc\":\"2026-09-16T11:39:05Z\",\"file\":\"/var/lib/homelab-backup/cloud-quorum/app-hbarhub/app-hbarhub-pve01-20260916T113814Z.json\",\"generation\":\"app-hbarhub-pve01-20260916T113814Z\",\"id\":\"app-hbarhub\",\"local_cleanup\":\"OK\",\"local_payload_present\":false,\"logical_id\":\"app-hbarhub\",\"mtime_utc\":\"2026-09-16T11:39:24.750758Z\",\"payload_size_bytes\":null,\"quorum\":null,\"restore_status\":null,\"restore_validation\":null,\"seal_written\":true,\"sealed_at_utc\":\"2026-09-16T11:39:22Z\",\"status\":\"SEALED\",\"updated_at_utc\":\"2026-09-16T11:39:24Z\",\"vmid\":null},{\"app\":null,\"cloud_a_seal_verified\":true,\"cloud_a_uploaded\":null,\"cloud_b_seal_verified\":true,\"cloud_b_uploaded\":null,\"cloud_quorum\":2,\"created_at_utc\":\"2026-09-16T11:36:54Z\",\"file\":\"/var/lib/homelab-backup/cloud-quorum/app-immich/app-immich-pve01-20260916T113650Z.json\",\"generation\":\"app-immich-pve01-20260916T113650Z\",\"id\":\"app-immich\",\"local_cleanup\":\"OK\",\"local_payload_present\":false,\"logical_id\":\"app-immich\",\"mtime_utc\":\"2026-09-16T11:37:38.269177Z\",\"payload_size_bytes\":null,\"quorum\":null,\"restore_status\":null,\"restore_validation\":null,\"seal_written\":true,\"sealed_at_utc\":\"2026-09-16T11:37:35Z\",\"status\":\"SEALED\",\"updated_at_utc\":\"2026-09-16T11:37:38Z\",\"vmid\":null},{\"app\":null,\"cloud_a_seal_verified\":true,\"cloud_a_uploaded\":null,\"cloud_b_seal_verified\":true,\"cloud_b_uploaded\":null,\"cloud_quorum\":2,\"created_at_utc\":\"2026-08-19T06:32:04Z\",\"file\":\"/var/lib/homelab-backup/cloud-quorum/app-memos/app-memos-pve01-20260819T063203Z.json\",\"generation\":\"app-memos-pve01-20260819T063203Z\",\"id\":\"app-memos\",\"local_cleanup\":\"OK\",\"local_payload_present\":false,\"logical_id\":\"app-memos\",\"mtime_utc\":\"2026-08-19T06:32:16.608057Z\",\"payload_size_bytes\":null,\"quorum\":null,\"restore_status\":null,\"restore_validation\":null,\"seal_written\":true,\"sealed_at_utc\":\"2026-08-19T06:32:14Z\",\"status\":\"SEALED\",\"updated_at_utc\":\"2026-08-19T06:32:16Z\",\"vmid\":null},{\"app\":null,\"cloud_a_seal_verified\":true,\"cloud_a_uploaded\":null,\"cloud_b_seal_verified\":true,\"cloud_b_uploaded\":null,\"cloud_quorum\":2,\"created_at_utc\":\"2026-08-19T06:36:34Z\",\"file\":\"/var/lib/homelab-backup/cloud-quorum/app-scrutiny/app-scrutiny-pve01-20260819T063621Z.json\",\"generation\":\"app-scrutiny-pve01-20260819T063621Z\",\"id\":\"app-scrutiny\",\"local_cleanup\":\"OK\",\"local_payload_present\":false,\"logical_id\":\"app-scrutiny\",\"mtime_utc\":\"2026-08-19T06:37:10.063453Z\",\"payload_size_bytes\":null,\"quorum\":null,\"restore_status\":null,\"restore_validation\":null,\"seal_written\":true,\"sealed_at_utc\":\"2026-08-19T06:37:05Z\",\"status\":\"SEALED\",\"updated_at_utc\":\"2026-08-19T06:37:10Z\",\"vmid\":null},{\"app\":null,\"cloud_a_seal_verified\":true,\"cloud_a_uploaded\":null,\"cloud_b_seal_verified\":true,\"cloud_b_uploaded\":null,\"cloud_quorum\":2,\"created_at_utc\":\"2026-08-13T22:32:45Z\",\"file\":\"/var/lib/homelab-backup/cloud-quorum/app-skladchik-moderator-assistant/app-skladchik-moderator-assistant-pve01-20260813T223245Z.json\",\"generation\":\"\",\"id\":\"app-skladchik-moderator-assistant\",\"local_cleanup\":\"OK\",\"local_payload_present\":false,\"logical_id\":\"app-skladchik-moderator-assistant\",\"mtime_utc\":\"2026-08-13T22:33:00.818103Z\",\"payload_size_bytes\":null,\n51:RESTORE_EVIDENCE=[{\"app\":null,\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/control-restore-validation/control-bootstrap/control-bootstrap-v2-pve01-20260916T120057Z.json\",\"generation\":\"control-bootstrap-v2-pve01-20260916T120057Z\",\"integrity_ok\":null,\"logical_id\":\"control-bootstrap-v2\",\"mtime_utc\":\"2026-09-20T18:51:38.066229Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":null,\"validation_status\":null,\"vmid\":null},{\"app\":\"hbarhub\",\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/app-restore-validation/app-hbarhub/app-hbarhub-pve01-20260916T113814Z.json\",\"generation\":\"app-hbarhub-pve01-20260916T113814Z\",\"integrity_ok\":null,\"logical_id\":\"app-hbarhub\",\"mtime_utc\":\"2026-09-16T11:39:36.859938Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":\"2026-09-16T11:39:36Z\",\"validation_status\":null,\"vmid\":null},{\"app\":\"immich\",\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/app-restore-validation/app-immich/app-immich-pve01-20260916T113650Z.json\",\"generation\":\"app-immich-pve01-20260916T113650Z\",\"integrity_ok\":null,\"logical_id\":\"app-immich\",\"mtime_utc\":\"2026-09-16T11:38:08.561627Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":\"2026-09-16T11:38:08Z\",\"validation_status\":null,\"vmid\":null},{\"app\":\"skladchik-reports-monitor\",\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/app-restore-validation/app-skladchik-reports-monitor/app-skladchik-reports-monitor-pve01-20260916T113630Z.json\",\"generation\":\"\",\"integrity_ok\":null,\"logical_id\":\"app-skladchik-reports-monitor\",\"mtime_utc\":\"2026-09-16T11:36:44.898385Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":\"2026-09-16T11:36:44Z\",\"validation_status\":null,\"vmid\":null},{\"app\":\"filebrowser\",\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/app-restore-validation/app-filebrowser/app-filebrowser-pve01-20260916T113558Z.json\",\"generation\":\"app-filebrowser-pve01-20260916T113558Z\",\"integrity_ok\":null,\"logical_id\":\"app-filebrowser\",\"mtime_utc\":\"2026-09-16T11:36:24.602083Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":\"2026-09-16T11:36:24Z\",\"validation_status\":null,\"vmid\":null},{\"app\":null,\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/vm-restore-validation/vm170/vm170-pve01-20260916T103019Z.json\",\"generation\":\"vm170-pve01-20260916T103019Z\",\"integrity_ok\":null,\"logical_id\":\"vm170\",\"mtime_utc\":\"2026-09-16T10:51:58.980403Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":\"2026-09-16T10:51:58Z\",\"validation_status\":null,\"vmid\":170},{\"app\":null,\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/vm-restore-validation/vm171/vm171-pve01-20260916T023018Z.json\",\"generation\":\"vm171-pve01-20260916T023018Z\",\"integrity_ok\":null,\"logical_id\":\"vm171\",\"mtime_utc\":\"2026-09-16T02:36:12.037502Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"source_generation\":null,\"status\":null,\"updated_at_utc\":null,\"validated_at_utc\":\"2026-09-16T02:36:12Z\",\"validation_status\":null,\"vmid\":171},{\"app\":null,\"created_at_utc\":null,\"file\":\"/var/lib/homelab-backup/control-restore-validation/control-bootstrap/control-bootstrap-v2-pve01-20260915T230932Z.json\",\"generation\":\"control-bootstrap-v2-pve01-20260915T230932Z\",\"integrity_ok\":null,\"logical_id\":\"control-bootstrap-v2\",\"mtime_utc\":\"2026-09-15T23:09:54.194081Z\",\"restore_ok\":null,\"restore_status\":null,\"result\":\"OK\",\"semantic_validation\":null,\"\n52:BACKUP_HEALTH_FILES=[{\"bytes\":202,\"gid\":0,\"kv\":{\"AVAIL_KB\":\"194808436\",\"CHECK\":\"pve03_staging\",\"CRIT_THRESHOLD\":\"90\",\"HOST\":\"pve03\",\"MOUNT\":\"/mnt/staging\",\"SIZE_KB\":\"205314024\",\"STATUS\":\"OK\",\"TS_UTC\":\"2026-09-21T00:41:58Z\",\"USED_KB\":\"3444\",\"USE_PCT\":\"1\",\"WARN_THRESHOLD\":\"80\"},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-21T00:41:59.219210Z\",\"path\":\"/var/lib/homelab-health/pve03-staging-capacity.txt\",\"present\":true,\"regular\":true,\"sha256\":\"93fdec2c4516fc1a90ca23100238a3a850c28d146217d382f00d3c52614e36ad\",\"uid\":0},{\"bytes\":0,\"gid\":0,\"kv\":{},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-21T00:41:58.838451Z\",\"path\":\"/var/lib/homelab-health/pve03-staging-capacity.txt.err\",\"present\":true,\"regular\":true,\"sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"uid\":0},{\"bytes\":1540,\"gid\":0,\"kv\":{},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-21T00:35:42.065876Z\",\"path\":\"/var/lib/homelab-health/backup-unified-audit.json\",\"present\":true,\"regular\":true,\"sha256\":\"a3aad2240c27de60b65903506374b9abf92c0c21383db6b6f78199c8321bc28d\",\"uid\":0},{\"bytes\":170,\"gid\":0,\"kv\":{\"CHECKED_AT_UTC\":\"2026-09-21T00:31:31Z\",\"MKDOCS_AUTO_REFRESH_STATUS\":\"OK\",\"PRODUCTION_CHANGED\":\"YES\",\"ahead_behind_after\":\"0\\t0\",\"edge_http\":\"200\",\"edge_size\":\"38M\",\"site_files\":\"1170\",\"site_size\":\"34M\"},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-21T00:31:31.411622Z\",\"path\":\"/var/lib/homelab-health/mkdocs-auto-refresh.txt\",\"present\":true,\"regular\":true,\"sha256\":\"4f9e280e40e253460e499b3177acb6aa0ee06fd8506e46c6863db727022044d4\",\"uid\":0},{\"bytes\":567539,\"gid\":0,\"kv\":{},\"mode\":\"0o600\",\"mtime_utc\":\"2026-09-21T00:07:05.872488Z\",\"path\":\"/var/lib/homelab-health/backup-observability-history.jsonl\",\"present\":true,\"regular\":true,\"sha256\":\"a182280d3fd9384a2807b58e5516744879a2e87d2aa43fcc8c53725684adb9ac\",\"uid\":0},{\"bytes\":618,\"gid\":0,\"kv\":{},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-20T18:51:38.070230Z\",\"path\":\"/var/lib/homelab-health/control-backup.json\",\"present\":true,\"regular\":true,\"sha256\":\"003b40157a1174cfd7ca6aa9aead224d9a39fae93dd7d215199b67fc3b3d1a1a\",\"uid\":0},{\"bytes\":178,\"gid\":0,\"kv\":{\"STATUS\":\"OK TS=2026-09-20T05:42:14Z TYPE=capacity-risk BAD=0 WARN=0 ROOT_FREE_GB=56 VAR_TMP_FREE_GB=56 LVM_FREE_GB=683 LARGEST_DUMP_GB=0 REPORT=/var/lib/homelab-capacity/latest.md\"},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-20T05:42:15.987810Z\",\"path\":\"/var/lib/homelab-health/capacity-risk.txt\",\"present\":true,\"regular\":true,\"sha256\":\"7ffaab10b506bbe3837ce81bdc4a5d159a647f5d062a243c7bbc3fdd05c1be9f\",\"uid\":0},{\"bytes\":181,\"gid\":0,\"kv\":{},\"mode\":\"0o600\",\"mtime_utc\":\"2026-09-20T04:40:22.416980Z\",\"path\":\"/var/lib/homelab-health/backup-boot-drill.json\",\"present\":true,\"regular\":true,\"sha256\":\"5cf6ed79fdec1f2901a868b05a57f17d1388189dcc2fb32e191b0ee4fd1f5d97\",\"uid\":0},{\"bytes\":839,\"gid\":0,\"kv\":{},\"mode\":\"0o644\",\"mtime_utc\":\"2026-09-04T00:31:01.495001Z\",\"path\":\"/var/lib/homelab-health/backup-retention-safe-gc.json\",\"present\":true,\"regular\":true,\"sha256\":\"058f6bdc0549e492766f7e1f66234b964519c3542ee60f270c7f2c1fbdcedb66\",\"uid\":0},{\"bytes\":357,\"gid\":0,\"kv\":{\"AUTHORITY\":\"canonical\",\"COMPAT_MAP\":\"/var/lib/homelab-backup-matrix/compat-map.json\",\"COMPAT_OUTPUTS\":\"28\",\"JOBS_BAD\":\"32\",\"JOBS_DISABLED\":\"4\",\"JOBS_OK\":\"2\",\"JOBS_TOTAL\":\"38\",\"JOBS_UNMAPPED\":\"0\",\"MATRIX_JSON\":\"/etc/homelab-backup-matrix/matrix.json\",\"MATRIX_MODE\":\"authoritative\",\"STATE_JSON\":\"/var/lib/homelab-backup-matrix/state.json\",\"STATUS\":\"FAIL\",\"TS\":\"2026-08-30T18:08:08Z\",\"TYPE\":\"unified-backup-matrix\"},\"mode\":\"0o640\",\"mtime_utc\":\"2026-08-30T18:08:09.112917Z\",\"path\":\"/var/lib/homelab-health/backup-matrix-authoritative.txt\",\"present\":true,\"regular\":true,\"sha256\":\"99da9176d84f97171b7cde7c3fec8041273441a51fa0ab5e810b4803a2ea42f6\",\"uid\":0},{\"bytes\":664,\"gid\":0,\"kv\":{\"AGE_SECONDS\":\"2061715\",\"CANONICAL_JOB_ID\":\"memos_backup\",\"CANONICAL_STATE\":\"/var/lib/homelab-backup-matrix/state.json\",\"EVIDENCE_LEVEL\":\"artifact_or_health\",\"FRESHNESS\":\"STALE\",\"JOB_ID\":\"memos_backup\",\"JOB_NAME\":\"memos-backup\",\"LEGACY_SOURCE_PATH\":\"/var/lib/homelab-health/memos-backup.txt\",\"MATRIX_MODE\":\"authoritative\",\n53:BACKUP_LOCK_FILES=[{\"age_seconds\":321369,\"bytes\":78,\"path\":\"/run/homelab-backup-v2-504r1-ca6876fa9c3b.success\"},{\"age_seconds\":324497,\"bytes\":94,\"path\":\"/run/homelab-backup-v2-503r1-ac51fd96ec13.success\"},{\"age_seconds\":366006,\"bytes\":229,\"path\":\"/run/homelab-backup-v2-486r1.success\"},{\"age_seconds\":368442,\"bytes\":60,\"path\":\"/run/homelab-backup-v2-485r1\"},{\"age_seconds\":369001,\"bytes\":60,\"path\":\"/run/homelab-backup-v2-484r1\"},{\"age_seconds\":370757,\"bytes\":60,\"path\":\"/run/homelab-backup-v2-483r1\"},{\"age_seconds\":371247,\"bytes\":60,\"path\":\"/run/homelab-backup-v2-482r1\"},{\"age_seconds\":372037,\"bytes\":60,\"path\":\"/run/homelab-backup-v2-481r1\"},{\"age_seconds\":384816,\"bytes\":241,\"path\":\"/run/homelab-backup-v2-468r1.journal.json\"},{\"age_seconds\":387740,\"bytes\":228,\"path\":\"/run/homelab-backup-v2-466r1.journal.json\"},{\"age_seconds\":368373,\"bytes\":0,\"path\":\"/run/homelab-backup-heavy.lock\"},{\"age_seconds\":1470108,\"bytes\":0,\"path\":\"/var/lock/homelab-backup-retention-gc.lock\"},{\"age_seconds\":368373,\"bytes\":0,\"path\":\"/var/lock/homelab-vm-cloud-quorum-queue.lock\"},{\"age_seconds\":366034,\"bytes\":0,\"path\":\"/var/lock/homelab-control-backup.lock\"},{\"age_seconds\":856,\"bytes\":0,\"path\":\"/var/lock/homelab-backup-audit.lock\"},{\"age_seconds\":393096,\"bytes\":0,\"path\":\"/var/lock/homelab-app-cloud-quorum-queue.lock\"},{\"age_seconds\":368378,\"bytes\":0,\"path\":\"/var/lock/homelab-backup-dispatcher.lock\"}]\n54:BACKUP_PROCESSES=[\"1479892 111 homelab-backup-\",\"1481627 0 rclone\"]\n55:MAIL_ALERT_TOOLS={\"curl\":\"/usr/bin/curl\",\"mail\":\"/usr/bin/mail\",\"mailx\":\"/usr/bin/mailx\",\"msmtp\":null,\"postfix\":\"/usr/sbin/postfix\",\"postqueue\":\"/usr/sbin/postqueue\",\"sendmail\":\"/usr/sbin/sendmail\"}\n56:MAIL_CONFIG_METADATA={\"bytes\":73,\"gid\":0,\"mode\":\"0o644\",\"mtime_utc\":\"2026-05-21T11:32:05Z\",\"path\":\"/etc/aliases\",\"present\":true,\"regular\":true,\"sha256\":\"8e81ec4a775c03d4a6d59c6fddb47bb84705a631fd1b142dffd536b824125bde\",\"uid\":0}\n57:MAIL_CONFIG_METADATA={\"path\":\"/etc/msmtprc\",\"present\":false}\n58:MAIL_CONFIG_METADATA={\"path\":\"/root/.msmtprc\",\"present\":false}\n59:MAIL_CONFIG_METADATA={\"bytes\":572,\"gid\":0,\"mode\":\"0o644\",\"mtime_utc\":\"2026-06-14T07:03:09.228067Z\",\"path\":\"/etc/postfix/main.cf\",\"present\":true,\"regular\":true,\"sha256\":\"d1050a0c110c2d6c59f595abcf791ee8daa5399dee97fc504fafbcf08adc8f7f\",\"uid\":0}\n60:MAIL_ALERT_SCRIPT_SURFACE=[{\"bytes\":3140,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-vm160-remote-backup\",\"sha256\":\"ffcb6b946d9c621cb9227642008c5f6bf7fb48041b3604c926c7ed2f2be47cc4\"},{\"bytes\":7995,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-mail-cloud-restore-drill\",\"sha256\":\"c1e13c1813df88095464cf47a989e456c5d8755a425bbb1306908ded6c75cd6b\"},{\"bytes\":251,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-backup-matrix-status\",\"sha256\":\"0d8df0f07009a4d1c2a4d167095a23cf3bf1b0a759471faf3530667ca61a84d0\"},{\"bytes\":7521,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-mail-cloud-critical-upload\",\"sha256\":\"96d07ad483fdce0eb91d64e26b7ac5d653f668579587e7eb602f566d26096932\"},{\"bytes\":1806,\"mail_alert_tokens\":[\"alertmanager\"],\"path\":\"/usr/local/sbin/homelab-alertmanager-backup-run\",\"sha256\":\"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a\"},{\"bytes\":1785,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/appbackupctl\",\"sha256\":\"d8956510d5cf46185e88542a284d86e1f2f2cf1e8ddc68967bf760657606765f\"},{\"bytes\":1544,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/postgres-apps-backup-run\",\"sha256\":\"98aeaaaa5c13af6e37c0c388e217f1e92bbed4ed2935a5615a2df6a5437a0bbf\"},{\"bytes\":2217,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-backup-gitea\",\"sha256\":\"dc6b4c00592788884e42cac13477700914b84e7c367d4d53a77db7219b170848\"},{\"bytes\":958,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/backup-report\",\"sha256\":\"72eb0365e3af9ffe4b4b317ec747209efc31ad634a34a4ee868e9a8d3d1a7a61\"},{\"bytes\":3510,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-backup-path\",\"sha256\":\"bbd07365e4762477abfab1422779b90efd1a2121534f7c237a53d6c141b01453\"},{\"bytes\":1656,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-backup-v2\",\"sha256\":\"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2\"},{\"bytes\":1567,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/npmplus-edge-backup-run\",\"sha256\":\"5d52b1e2853698d561020ba899bf6960ccfcc045f659ab4fdf32da0c7defb199\"},{\"bytes\":1417,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/mariadb-apps-backup-run\",\"sha256\":\"a3d3a161a828ce69ad0754ff7602bbbaf3ed5d301614ca61b633ce6df0cf25b9\"},{\"bytes\":1650,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-blackbox-exporter-backup-run\",\"sha256\":\"9ff1fd3e5bee1ddfcca3dc688dd8a8efe88fe8658c3f37560b2d01d240763813\"},{\"bytes\":11862,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-control-backup\",\"sha256\":\"0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57\"},{\"bytes\":4356,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-backup-authentik\",\"sha256\":\"081e27cb34ace80576ef375dfece97d0b9f79cb4a0a6b72b5d354b7eefe9dd81\"},{\"bytes\":13772,\"mail_alert_tokens\":[\"alertmanager\"],\"path\":\"/usr/local/sbin/homelab-backup-npmplus-kuma-configs\",\"sha256\":\"8cb2c47de0879ec57df51411513ecc00d84fd2aad1b27939797b36da75c8e875\"},{\"bytes\":4672,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-router-running-config-mail-cloud\",\"sha256\":\"a0aeb0e1ec7e2714b3d6147c13c2af04d8d8118219541ec60b66df6919858dc7\"},{\"bytes\":2331,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/appbackup-restore-check\",\"sha256\":\"c3f052c8ddba5304de7dd9ab0b03dc033a0d711c36d5c8b4128310e5cea86bcb\"},{\"bytes\":1502,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/backupctl\",\"sha256\":\"2e2cb207a8642a773606e04a626395afcc102e4c5ada219ba8197ed641648341\"},{\"bytes\":9906,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-mailru-trash-gc\",\"sha256\":\"a9fc14b00bed57c29b397b998de5fe2589c28d1590dd977ed8c7bc3ef321e77b\"},{\"bytes\":1921,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/homelab-backupctl\",\"sha256\":\"ef03927231181c1f0664c5dc9498e067279936f02b9601fbebf144a82db72a4b\"},{\"bytes\":1603,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/sqlite-apps-backup-run\",\"sha256\":\"3b19ed58077a5f2b5326d9a21407680b55ee99c634c8b4a1512f3ee344437368\"},{\"bytes\":6851,\"mail_alert_tokens\":[],\"path\":\"/usr/local/sbin/skladchik-reports-monitor-backup-restore-check\",\"sha256\":\"abb2d17392b6edde3603f77e88fc82240c311f932b0d197b1b82\n61:CANONICAL_BACKUP_RELEVANT_PATHS=[]\n62:BACKUP_AUDIT_FINDING_COUNTS={\"critical\":0,\"high\":33,\"info\":10,\"medium\":26}\n63:BACKUP_AUDIT_FINDINGS=[{\"code\":\"BACKUP_TIMER_DISABLED\",\"detail\":\"homelab-app-cloud-quorum-queue.timer\",\"severity\":\"high\"},{\"code\":\"BACKUP_TIMER_DISABLED\",\"detail\":\"homelab-control-backup.timer\",\"severity\":\"high\"},{\"code\":\"BACKUP_TIMER_DISABLED\",\"detail\":\"homelab-evidence-seal.timer\",\"severity\":\"high\"},{\"code\":\"BACKUP_TIMER_DISABLED\",\"detail\":\"homelab-router-running-config-mail-cloud.timer\",\"severity\":\"high\"},{\"code\":\"BACKUP_TIMER_DISABLED\",\"detail\":\"homelab-vm-cloud-quorum-queue.timer\",\"severity\":\"high\"},{\"code\":\"BACKUP_UNIT_FAILED\",\"detail\":\"homelab-app-cloud-quorum-queue.service result=exit-code\",\"severity\":\"high\"},{\"code\":\"BACKUP_UNIT_FAILED\",\"detail\":\"homelab-backup-retention-gc.service result=exit-code\",\"severity\":\"high\"},{\"code\":\"BACKUP_UNIT_FAILED\",\"detail\":\"homelab-vm-cloud-quorum-queue.service result=exit-code\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/authentik-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/authentik-restore.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/backup-coverage-matrix.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/backup-framework.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/backup-matrix-authoritative.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/backup-sla.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/edge-vm-vzdump-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/extended-appbackup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/filebrowser-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/filebrowser-restore.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/gitea-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/gitea-restore.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/immich-media-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/mail-cloud-restore-drill.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/memos-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/npmplus-kuma-config-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/npmplus-kuma-config-restore.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/paperless-restore.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vaultwarden-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vaultwarden-restore.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vm-backup-policy.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vm-local-dumps-retention.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vm160-remote-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vm170-vm171-full-backup.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"HEALTH_FILE_FAIL\",\"detail\":\"/var/lib/homelab-health/vm170-vm171-full-restore-drill.txt:FAIL\",\"severity\":\"high\"},{\"code\":\"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE\",\"detail\":\"homelab-app-cloud-quorum-queue\",\"severity\":\"medium\"},{\"code\":\"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE\",\"detail\":\"homelab-backup-audit\",\"severity\":\"medium\"},{\"code\":\"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE\",\"detail\":\"homelab-backup-coverage-matrix\",\"severity\":\"medium\"},{\"code\":\"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE\",\"detail\":\"homela\n64:BACKUP_AUDIT_COLLECTION_COMPLETE=true\n65:CHANGES_MADE=false\n66:ROLLBACK_STARTED=false\n67:ROLLBACK_RESTORED=null\n68:MUTATION_OUTCOME=NO_MUTATION\n69:TASK_RESULT=PASS_HOMELAB_BACKUP_DEEP_AUDIT_COLLECTED\n70:HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n71:BACKUP_AUDIT_END\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260914-INFRA-DR-BACKUPV2-CONTROL-BOOTSTRAP-EXISTING-GENERATION-VERIFY-CLOSURE-379R1-20260914T191221Z.log|SHA256=7d118732b36ef2b911b24c729e58e7664a330c87ce4ea605a429432827e79251|BYTES=1698\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260914-INFRA-DR-BACKUPV2-CONTROL-BOOTSTRAP-EXISTING-GENERATION-VERIFY-CLOSURE-379R1-20260914T191221Z.log\n18:VERIFY_SEMANTIC_RECONSTRUCT_A=PASS\n19:VERIFY_SEMANTIC_RECONSTRUCT_B=PASS\n20:VERIFY_SEMANTIC_COMPARE_AB=PASS\n21:VERIFY_SEMANTIC_NO_MARK=PASS\n22:VERIFY_SEMANTIC_NO_BACKUP_DELETE=PASS\n23:HOMELAB_APP_CLOUD_QUORUM_QUEUE_TIMER_PRE_ENABLED=enabled\n24:HOMELAB_APP_CLOUD_QUORUM_QUEUE_TIMER_PRE_ACTIVE=active\n25:HOMELAB_VM_CLOUD_QUORUM_QUEUE_TIMER_PRE_ENABLED=enabled\n26:HOMELAB_VM_CLOUD_QUORUM_QUEUE_TIMER_PRE_ACTIVE=active\n27:HOMELAB_CONTROL_BACKUP_TIMER_PRE_ENABLED=enabled\n28:HOMELAB_CONTROL_BACKUP_TIMER_PRE_ACTIVE=active\n29:V2_TIMER_COUNT_PRE=0\n30:CONTROL_ENGINE_VERIFY_INVOCATIONS=1\n31:CONTROL_VERIFY_RC=0\n32:CLOUD_WRITE_MARKER_PRESENT=NO\n33:RESTORE_EVIDENCE_STATUS=UNKNOWN\n34:RESTORE_EVIDENCE_GENERATION=control-bootstrap-v2-pve01-20260914T080740Z\n35:RESTORE_EVIDENCE_ARCHIVE_SHA256=UNKNOWN\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260914-INFRA-DR-BACKUPV2-CONTROL-BOOTSTRAP-EXISTING-GENERATION-VERIFY-CLOSURE-379R1-20260914T191221Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z-20260805T064800Z.log|SHA256=10eeba794a85e13eb9ddc29f821f0e0cf430c57b93acf878eb539e048389d8f6|BYTES=294964\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z-20260805T064800Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z\",\"command_rc\":0,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n2:{\"blocking_findings\":[\"HANDBOOK_CANDIDATE_AMBIGUOUS\",\"REPOSITORY_TESTS_FAILED\",\"CLUSTER_STATUS_UNREADABLE\"],\"changes_made\":false,\"cluster_changed\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z\",\"command_rc\":0,\"error_system_assessment\":{\"deterministic_fingerprint_observed\":true,\"immutable_error_ledger_observed\":false,\"mandatory_components\":{\"linter\":{\"paths\":[],\"present\":false},\"regression_registry\":{\"paths\":[\"errors/regression-cases.json\"],\"present\":true},\"repository_validator\":{\"paths\":[\"tools/validate_repo.py\"],\"present\":true},\"superseded_policy\":{\"paths\":[],\"present\":false},\"tests\":{\"paths\":[\"tests/fixtures/gitea-legacy-auth-permission.json\",\"tests/test_access_contexts.py\",\"tests/test_cr_2026_0005.py\",\"tests/test_cr_2026_0006.py\",\"tests/test_cr_2026_0006_vm160_task.py\",\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py\",\"tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py\",\"tests/test_cr_2026_0013_vm160_worker_bootstrap_transition.py\",\"tests/test_cr_2026_0015_pve03_r8152_rx_ring_canary.py\",\"tests/test_cr_2026_0018_execution_boundary_preparation.py\",\"tests/test_inventory_foundation.py\",\"tests/test_live_verification.py\",\"tests/test_no_repeat_policy.py\",\"tests/test_reg_014_015.py\",\"tests/test_repository.py\"],\"present\":true}},\"missing_mandatory_components\":[\"linter\",\"superseded_policy\"],\"observed_error_artifact_count\":160,\"pre_command_gate_observed\":false,\"proposed_v2\":{\"command_evidence_basis\":\"Каждая задача закрепляется на точном Gitea commit и SHA исходных файлов. Команда без evidence_basis или с устаревшим commit блокируется до нового READ_ONLY probe.\",\"deterministic_fingerprint\":\"SHA256 нормализованного набора component + operation + phase + rc + error_type + stable evidence; секреты и переменные значения исключаются до хеширования.\",\"error_ledger\":\"Одна неизменяемая JSON-запись на каждый доказанный отказ: error_id, command_id, capsule_sha256, component, operation, target, exact evidence, root cause, fixed_by, prevention_test, supersedes, first_seen, last_seen.\",\"exact_result_ingestion\":\"После exact-result автоматически формируется candidate incident; запись принимается только после сверки command_id, capsule_sha256, runner_json_sha256, wrapper/document RC и отсутствия truncation.\",\"pre_command_gate\":\"Перед выпуском любой капсулы обязательный поиск fingerprint/component/operation в реестре. Повтор известной ошибки блокируется, пока капсула не содержит подтверждённое prevention_test или документированное исключение.\",\"quality_metrics\":\"Счётчики: first-pass success rate, repeated-error rate, rollback rate, unknown-state commands, commands without exact-result verification. Цель — repeated-error rate = 0.\",\"regression_tests\":\"Каждая исправленная ошибка обязана иметь воспроизводимый тест в tests/errors; лinter запрещает закрывать ошибку без теста и ссылки fixed_by.\",\"supersession\":\"Старые задачи и обходные пути не удаляются молча: они получают статус superseded с заменой, причиной и запретом повторного запуска.\"},\"requires_v2\":true},\"gitea\":{\"default_head_archive\":{\"archive_sha256\":\"8f595e76a5baa7b2d8d2148f1a694e9acd22a90accb6e55f962fc47ff1432a5a\",\"branch\":\"main\",\"bytes\":376932,\"commit\":\"fe1221b06643db3b00a621b0230f92a46a4edc2b\",\"files\":125},\"discovery_evidence\":[{\"id\":\"aa350cac62aa\",\"kind\":\"podman-probe\",\"paths_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"rc\":126,\"stderr\":\"Error: crun: capset: Operation not permitted: OCI permission denied\\n\"},{\"kind\":\"network-ls-remote\",\"rc\":0,\"stderr\":\"\",\"stdout_sha256\":\"b6697044d593fdddb9d66bc35bd58267cc6d07a31b756330aac2f147bc98bc6c\"},{\"kind\":\"network-mirror\",\"rc\":0,\"stderr\":\"Cloning into bare repository '/tmp/homelab-kb-network-fallback-k4x0gd1r/homelab-ops.git'...\\n\",\"stdout_sha256\":\"e3b0c442\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z-20260805T064800Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-INTAKE-RCA-035-20260908T052321Z.log|SHA256=9bc13c343cdda506b9e7bbb4a38191d9f1ee1e4d31beb0916fa1cda673e1e097|BYTES=26712\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-INTAKE-RCA-035-20260908T052321Z.log\n1:ERROR_REGISTER_CHECK=OK\n2:REFERENCE_CHECK=OK\n3:AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\n4:SIGNALBOT035_VM170={\"name\":\"core-apps\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\"}\n5:SIGNALBOT035_VM170_SNAPSHOT={\"report\":{\"collector\":{\"cmd\":[\"python\",\"-m\",\"demonov_forward_map.bitfinex_trade_collector\"],\"entrypoint\":null,\"health\":null,\"id_short\":\"a546a70c3e8c\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"name\":\"demonov-shadow-8020-collector-1\",\"pid\":210213,\"restart_count\":13,\"running\":true,\"started_at\":\"2026-09-08T05:01:08.70385245Z\",\"status\":\"running\"},\"collector_status\":{\"age_sec\":8.9,\"exists\":true,\"mtime_epoch\":1788845024.0247085,\"path\":\"/opt/stacks/8020-demonov-shadow/data/epochs/ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338/collector_status.json\",\"values\":{\"fail_closed_reason\":\"source reconnect detected\",\"gap_detected\":false,\"post_finality_revision\":false,\"prospective_fail_closed_reason\":\"\",\"prospective_gap_detected\":false,\"prospective_reconnect_detected\":false,\"reconnect_detected\":true,\"updated_at\":\"2026-09-08T05:23:44.028140+00:00\"}},\"db_a\":{\"d1_revisions_count\":0,\"event_kind_counts\":[[\"SEQUENCE\",179729],[\"RECONNECT\",10],[\"SESSION_START\",1]],\"exists\":true,\"finalized_d1_count\":0,\"latest_sequence_events\":[{\"event_kind\":\"SEQUENCE\",\"event_seq\":179740,\"received_at\":\"2026-09-08T05:23:20.918750+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2510},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179739,\"received_at\":\"2026-09-08T05:23:20.891856+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2509},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179738,\"received_at\":\"2026-09-08T05:23:20.552139+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2508},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179737,\"received_at\":\"2026-09-08T05:23:20.534792+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2507},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179736,\"received_at\":\"2026-09-08T05:23:20.329909+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2506},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179735,\"received_at\":\"2026-09-08T05:23:20.177708+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2505},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179734,\"received_at\":\"2026-09-08T05:23:20.170743+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2504},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179733,\"received_at\":\"2026-09-08T05:23:20.163522+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2503},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179732,\"received_at\":\"2026-09-08T05:23:20.004001+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2502},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179731,\"received_at\":\"2026-09-08T05:23:19.850034+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2501},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179730,\"received_at\":\"2026-09-08T05:23:19.841410+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2500},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179729,\"received_at\":\"2026-09-08T05:23:19.827700+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2499},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179728,\"received_at\":\"2026-09-08T05:23:19.671403+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2498},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179727,\"received_at\":\"2026-09-08T05:23:19.518174+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2497},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179726,\"received_at\":\"2026-09-08T05:23:19.357283+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2496},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179725,\"received_at\":\"2026-09-08T05:23:19.200903+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2495},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179724,\"received_at\":\"2026-09-08T05:23:19.193716+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2494},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179723,\"received_at\":\"2026-09-08T05:23:19.185835+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2493},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179722,\"received_at\":\"2026-09-08T05:23:19.177983+00:00\",\"session_hash\":\"253ffe9a26a5\",\"source_sequence\":2492},{\"event_kind\":\"SEQUENCE\",\"event_seq\":179721,\"received_at\":\"2026-09-08T05:23:19.164437+00:00\",\"session_hash\":\"253ffe\n6:SIGNALBOT035_HOLDS=[\"COLLECTOR_INTAKE_STILL_STALLED\"]\n7:SIGNALBOT035_DECISION=HOLD_COLLECTOR_INTAKE_STALLED_WITH_PROCESS_AND_TCP_ALIVE\n8:SIGNALBOT035_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-INTAKE-RCA-035-20260908T052321Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-PROD220-ACCEPT369-20260921T071508Z.log|SHA256=9ac1615a4b83088a378a354db0809264d3166a4f3bd6ae292fb3bf4cffa0d9a8|BYTES=551\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-PROD220-ACCEPT369-20260921T071508Z.log\n1:PROD220_BEGIN=true\n2:COMMAND_ID=NEWFI-260921-NEWFDOM-PROD220-ACCEPT369\n3:REFERENCE_CHECK=OK\n4:ERROR_REGISTER_CHECK=OK\n5:PROD220_ERROR_CLASS=RuntimeError\n6:PROD220_ERROR_SHA=a766c16d7b050ebf6bd1b3929ef6b4b4ec10fae79be8e526390a503628a2f372\n7:DECISION=FAIL_PROD220_ACCEPTANCE\n8:NEXT_GATE=RECONCILE_PROD220_EXACT_FAILURE\n9:ACTIVE_MAJOR_STAGE=PROD220\n10:MAJOR_STAGES_REMAINING=2\n11:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260921-NEWFDOM-PROD220-ACCEPT369\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n12:PROD220_END=true\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-PROD220-ACCEPT369-20260921T071508Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7-20260917T154950Z.log|SHA256=ee9c223477cb4ed127dd950e6f21c1536fe4a7053678b03a9d64fbb6eb017feb|BYTES=8164\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7-20260917T154950Z.log\n19:SIGNALBOT051R7_QGA_OUTER_STDERR_BYTES=0\n20:SIGNALBOT051R7_QGA_OUTER_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n21:SIGNALBOT051R7_QGA_GUEST_EXITCODE=2\n22:SIGNALBOT051R7_QGA_GUEST_STDERR_BYTES=0\n23:SIGNALBOT051R7_QGA_GUEST_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n24:SIGNALBOT051R7_GUEST_RESULT={\"changes_made\":true,\"exception_class\":\"RuntimeError\",\"exception_msg_sha256\":\"376fc90486c0cb3beb8442175db27431c734f4cfb437f8045a97c6b142e64bcb\",\"execution_authority\":false,\"mutated_active\":true,\"production_launch_allowed\":false,\"real_exchange_execution\":false,\"risk_authority\":false,\"rollback\":{\"compose_old_rc\":0,\"data_restored_pre_service_exact\":true,\"env_restored\":true,\"failed_epoch\":\"/opt/stacks/8020-demonov-shadow/.epochs/failed/4a78c74b381b0424ccd22fa5466526cb324dfbb6855ffb3de8f0c3ac29dac397-SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7\",\"old_epoch_scientific_continuity\":\"INVALIDATED_BY_CUTOVER\",\"old_services_restored\":true,\"post_restore_db_checks\":{\"bitfinex_source.db\":{\"exists\":false,\"quick_check\":null},\"live_prospective.db\":{\"exists\":true,\"quick_check\":[\"ok\"]},\"notification_relay.db\":{\"exists\":false,\"quick_check\":null}},\"quiesced_before_data_restore\":true,\"reason\":\"RuntimeError:CANDIDATE_SERVICES_NOT_READY\",\"services\":[{\"config_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"env_selected\":{\"CODE_IDENTITY\":\"76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"COLLECTION_START_AT\":\"2026-09-10T00:00:00+00:00\",\"EXPERIMENT_ID\":\"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f\",\"RUNTIME_MANIFEST_ID\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\"},\"id\":\"29186524106c56f49b162814e32e2f48df20d8b17199810f57deeb5edb0ce102\",\"image_id\":\"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99\",\"name\":\"demonov-shadow-8020-collector-1\",\"restart_count\":0,\"restarting\":false,\"running\":true,\"service\":\"collector\",\"started_at\":\"2026-09-17T15:52:57.254533388Z\",\"status\":\"running\"},{\"config_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"env_selected\":{\"CODE_IDENTITY\":\"76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"COLLECTION_START_AT\":null,\"EXPERIMENT_ID\":\"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f\",\"RUNTIME_MANIFEST_ID\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\"},\"id\":\"67151a82d47d32f6d04ad378ef6193821ccc8941948b5e0946b96eceaa9610ac\",\"image_id\":\"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99\",\"name\":\"demonov-shadow-8020-relay-1\",\"restart_count\":0,\"restarting\":false,\"running\":true,\"service\":\"relay\",\"started_at\":\"2026-09-17T15:52:57.226947701Z\",\"status\":\"running\"},{\"config_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"env_selected\":{\"CODE_IDENTITY\":\"76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"COLLECTION_START_AT\":null,\"EXPERIMENT_ID\":\"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f\",\"RUNTIME_MANIFEST_ID\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\"},\"id\":\"32736e8b497d29e80b71dbe0feef33aee4cd98b3f5944bb9535f7def7204454d\",\"image_id\":\"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99\",\"name\":\"demonov-shadow-8020-shadow-1\",\"restart_count\":0,\"restarting\":false,\"running\":true,\"service\":\"shadow\",\"started_at\":\"2026-09-17T15:52:57.10658209Z\",\"status\":\"running\"},{\"config_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"env_selected\":{\"CODE_IDENTITY\":\"76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"COLLECTION_START_AT\":null,\"EXPERIMENT_ID\":\"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f\",\"RUNTIME_MANIFEST_ID\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\"},\"id\":\"b6835488a822007be99202f93b18f8a02838af7d55059acfa6664ff70d7fc783\",\"image_id\":\"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99\",\"name\":\"demonov-shadow-8020-worker-1\",\"restart_count\":0,\"restarting\":false,\"running\":true,\"service\":\"worker\",\"started_at\":\"2026-09-17T15:52:57.155772206Z\",\"status\":\"running\"}],\"stop_rc\":0,\"stopped_services\":[{\"config_image\":\"8020-demonov-shadow:signalbot-050r6-749073ae0f89\",\"env_selected\":{\"CODE_IDENTITY\":\"749073ae0f894debc06fb0ffbf7a84abf9da531f\",\"COLLECTION_START_AT\":\"2026-09-18T00:00:00+00:00\",\"EXPERIMENT_ID\":\"4a78c74b381b0424c\n25:SIGNALBOT051R7_ROLLBACK_STARTED=true\n26:SIGNALBOT051R7_ROLLBACK_RESTORED=true\n27:SIGNALBOT051R7_MUTATION_OUTCOME=ROLLED_BACK\n28:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7-20260917T154950Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LXC-PROVENANCE-OVERLAY-REPAIR-LIVE-VERIFY-496R1-20260917T040237Z.log|SHA256=65681c07d18a21ead3763601a866878e48ac86da7fba8b69fdce0f72a61612fc|BYTES=1543\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LXC-PROVENANCE-OVERLAY-REPAIR-LIVE-VERIFY-496R1-20260917T040237Z.log\n5:NO_DAEMON_RELOAD=YES\n6:CLOUD_DELETIONS=0\n7:RETENTION_MUTATION=NO\n8:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n9:PREFLIGHT_486_BASELINE=PASS\n10:COMMON_HEAVY_LOCK_ACQUIRED=YES\n11:CHILD_ENTRY496_SELFTEST={\"rc\":0,\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":54,\"stdout_sha256\":\"306b9aa4c77735243fa82bb3a829f7c211f7343e3225a274ba04df3f0d57c220\"}\n12:CHILD_PLAN_CT110={\"rc\":1,\"stderr_bytes\":2251,\"stderr_sha256\":\"4c7c9b7a5d2724cd073c0b1e608b5585335f218f9650b4a948be538b033c63c8\",\"stdout_bytes\":29,\"stdout_sha256\":\"6b29e06cdce22f960677f3ae5e789e7c971cbee2b5f344bb800a1de0f36ce836\"}\n13:ROLLBACK_TO_486=STARTED\n14:ROLLBACK_TO_486=PASS\n15:STATUS=FAIL\n16:RC=2\n17:PHASE=CANDIDATE_BUILD\n18:REASON=FAILED_CLOSED\n19:EXCEPTION_CLASS=builtins.RuntimeError\n20:EXCEPTION_MESSAGE_SHA256=5d00c414ec22486ffc1b1cb251e9b8d5f2dbc4600a75aac49dd4f013e5bd55b9\n21:PRODUCTION_PROMOTION=NO\n22:CLOUD_DELETIONS=0\n23:RETENTION_MUTATION=NO\n24:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n25:CHANGES_MADE=true\n26:ROLLBACK_STARTED=true\n27:ROLLBACK_RESTORED=true\n28:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LXC-PROVENANCE-OVERLAY-REPAIR-LIVE-VERIFY-496R1-20260917T040237Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-LEGACY-LXC-OWNER-REPAIR-VERIFY-490R1-20260916T213045Z.log|SHA256=e6ae695d4c45e6a482ab62bbb83116e659a957346ed3e83c4e4bf24c3621e4e8|BYTES=1393\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-LEGACY-LXC-OWNER-REPAIR-VERIFY-490R1-20260916T213045Z.log\n7:RETENTION_MUTATION=NO\n8:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n9:PREPROOF_DUE_TARGET=ct110\n10:PREFLIGHT_486_BASELINE=PASS\n11:V2_TIMER_RUNTIME_STOP=PASS\n12:COMMON_HEAVY_LOCK_ACQUIRED=YES\n13:PATCHED_LEGACY_ENGINE_SHA256=5715651655da32530df84a5a095b772d21dc0d1f92789465e9e6b5b1ff8a16e3\n14:PATCHED_WRAPPER_SHA256=699ce999e52f15f24c63723e35dd5251992c4dfce6266073b892dd684ed3f454\n15:PVE265_HELPER_SHA256=97876718e791e7adf9b0297b64abc9fe071180b2c44390740b3bc9dafba220ce\n16:ROLLBACK_TO_486=STARTED\n17:ROLLBACK_TO_486=PASS\n18:COMMON_HEAVY_LOCK_RELEASED=YES\n19:STATUS=FAIL\n20:PHASE=CANDIDATE_BUILD\n21:REASON=FAILED_CLOSED\n22:EXCEPTION_CLASS=builtins.RuntimeError\n23:EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3\n24:PRODUCTION_PROMOTION=NO\n25:RETENTION_MUTATION=NO\n26:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n27:CLOUD_DELETIONS=0\n28:CHANGES_MADE=true\n29:ROLLBACK_STARTED=true\n30:ROLLBACK_RESTORED=true\n31:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-LEGACY-LXC-OWNER-REPAIR-VERIFY-490R1-20260916T213045Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z-20260805T100141Z.log|SHA256=1eb35f0774e26589f4ca703a49ca0b56a21e6cd3aad2e6f4cc351f117c506a5c|BYTES=603\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z-20260805T100141Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z\",\"command_rc\":1,\"control_plane_error\":null,\"mutation_outcome\":\"NO_MUTATION\",\"rc\":1,\"rollback_restored\":false,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z\",\"error\":\"pvesh /nodes did not return an array\",\"error_type\":\"RuntimeError\",\"mutation_outcome\":\"NO_MUTATION\",\"read_only\":true,\"rollback_restored\":false,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z-20260805T100141Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1-20260921T012544Z.log|SHA256=270e95c70b63b79defe56896c399fe8be2cb60da18d703a1975929f251d051bd|BYTES=3281\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1-20260921T012544Z.log\n5:SOURCE_AUTHORITY=FROZEN_FIX10_PLUS_7_EXACT_LIVE_REFERENCE_PATCHES\n6:PRODUCTION_HOST_PRE={\"all_link_down\":false,\"lock\":null,\"name\":\"pvepro-prod\",\"operational_fp\":\"2aba9f764ff0efacd2da02f09826374f877e1b073775cb725ebcf9d9177e8c65\",\"snapshots\":[],\"status\":\"running\",\"vmstate\":null}\n7:STAGING_HOST_PRE={\"all_link_down\":true,\"lock\":null,\"name\":\"pvepro-staging-v1\",\"operational_fp\":\"45ade56dd44c0a6a9df5e18c37cb9c94117f33ea6ad30ce005f8b051258ce931\",\"snapshots\":[],\"status\":\"stopped\",\"vmstate\":null}\n8:PRODUCTION_APP_PRE={\"app\":{\"boardActive\":\"1\",\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":20,\"indexRoute\":\"portal/\",\"posts\":44,\"sitemapExtraUrls\":\"https://pvepro.ru/\",\"support_counts\":{\"addon\":0,\"options\":0,\"permissions\":0,\"routes\":0,\"tables\":0,\"template_modification\":0,\"templates\":0},\"threads\":44,\"useFriendlyUrls\":true},\"collection\":\"COMPLETE\",\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1\",\"install_capability\":true,\"portal_xml\":{\"bytes\":13999,\"exists\":true,\"safe\":true,\"sha256\":\"32301f0de13968030caac1c3137f6883739a09392d272f1efaced50343151c7b\"},\"robots\":{\"bytes\":246,\"exists\":true,\"safe\":true,\"sha256\":\"f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272\"},\"support_create_http\":{\"http\":404,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"support_http\":{\"http\":404,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"support_source_paths\":[]}\n9:PRODUCTION_PUBLIC_SUPPORT_PRE={\"/support/\":{\"http\":404,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"/support/create/\":{\"http\":404,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}}\n10:GRAM_SUPPORT_STAGING_ERROR_CLASS=RuntimeError\n11:GRAM_SUPPORT_STAGING_ERROR_SHA256=d4a1b6bae721ec604c7b38b8fe1a7bf47a4763f5745a49016a3d8c4b82ed021c\n12:PRODUCTION_APP_AFTER_FAILURE={\"app\":{\"boardActive\":\"1\",\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":20,\"indexRoute\":\"portal/\",\"posts\":44,\"sitemapExtraUrls\":\"https://pvepro.ru/\",\"support_counts\":{\"addon\":0,\"options\":0,\"permissions\":0,\"routes\":0,\"tables\":0,\"template_modification\":0,\"templates\":0},\"threads\":44,\"useFriendlyUrls\":true},\"collection\":\"COMPLETE\",\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1\",\"install_capability\":true,\"portal_xml\":{\"bytes\":13999,\"exists\":true,\"safe\":true,\"sha256\":\"32301f0de13968030caac1c3137f6883739a09392d272f1efaced50343151c7b\"},\"robots\":{\"bytes\":246,\"exists\":true,\"safe\":true,\"sha256\":\"f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272\"},\"support_create_http\":{\"http\":404,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"support_http\":{\"http\":404,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"support_source_paths\":[]}\n13:TASK_RESULT=PVEPRO_GRAM_SUPPORT_STAGING_INSTALL_FAILED\n14:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1-20260921T012544Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL400-20260921T162418Z.log|SHA256=01a60cf203245dd8d4a87e2458ffeb0ca8bcdbea88ae958159fef3b56ae8ecfa|BYTES=935\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL400-20260921T162418Z.log\n1:DR221_FINAL400_BEGIN=true\n2:COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-FINAL400\n3:PREDECESSOR_COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-PREFLIGHT399\n4:PREDECESSOR_DECISION=PASS_DR221_PREFLIGHT_CURRENT_BACKUP_RESTORE_CONTRACT_CAPTURED\n5:IMMUTABLE_PLAN_CHECK=PASS\n6:DR221_FAILURE={\"checkpoint\":\"prestate\",\"error_class\":\"RuntimeError\",\"error_sha256\":\"417a03c94212b2c564117c5ab67127d6d0cd85502508518f729955e2ac275319\"}\n7:DR221_BACKUP_GENERATION=null\n8:DR221_CLEANUP={\"cleanup_started\":false,\"staging_work_removed\":true,\"temp_vm_removed\":null}\n9:DR221_CLOSED=false\n10:FULL_PRODUCT_REMAINING=1\n11:DECISION=FAIL_DR221_FINAL_CURRENT_PRODUCTION_BACKUP_RESTORE_ACCEPTANCE\n12:NEXT_GATE=RECONCILE_ONLY_EXACT_DR221_FINAL400_FAILURE\n13:ACTIVE_MAJOR_STAGE=DR221\n14:MAJOR_STAGES_REMAINING=1\n15:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260921-NEWFDOM-DR221-FINAL400\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL400-20260921T162418Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1-20260921T045847Z.log|SHA256=69340ccf65a65378205b6be8d9b787bade7ef243d4349fe3ae7dc03722bd2aa7|BYTES=1899\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1-20260921T045847Z.log\n6:STAGING_HOST_PRE={\"all_link_down\":true,\"config_sha256\":\"43761ab3d555625387944883cd0229cde2121aba005a715dffe20465041e8aa9\",\"lock\":null,\"name\":\"pvepro-staging-v1\",\"snapshots\":[],\"status\":\"stopped\",\"vmstate\":null}\n7:PRODUCTION_APP_PRE={\"addon\":0,\"boardActive\":\"1\",\"errors\":20,\"permissions\":0,\"posts\":44,\"routes\":0,\"support_source\":0,\"tables\":0,\"threads\":44}\n8:REFERENCE_CURRENT_SOURCE={\"chunk_count\":13,\"manifest_sha256_control_chars\":\"b386b6feeb5dd9b396f4632ffec7f6455492ab663800494ad0c65f5a71fe0d0a\",\"manifest_sha256_legacy_literal_escapes\":\"911e50bc376db2f967ad79e3b8a794b1dac47c44a9c51d6c8e3bad6356c73c43\",\"path_count\":59,\"total_bytes\":134697,\"transfer_mode\":\"CHUNKED_LIVE_REFERENCE_EXACT_59\"}\n9:FRESH_STAGING_SNAPSHOT_CREATED=true\n10:STAGING_APP_PRE={\"addon\":null,\"boardActive\":\"\",\"defs\":[],\"entries\":[],\"errors\":16,\"jobs\":[],\"mods\":[],\"posts\":44,\"siteId\":\"\",\"src_addon\":0,\"src_js\":0,\"tables\":[],\"threads\":44}\n11:GRAM_SUPPORT_STAGING_ERROR_CLASS=RuntimeError\n12:GRAM_SUPPORT_STAGING_ERROR_SHA256=fe83622d9f27d15ec1282f83045ab90580c45ed99c44d82896cdb356ca1f7fd1\n13:ROLLBACK_STARTED=true\n14:ROLLBACK_RESTORED=true\n15:NO_PRODUCTION_MUTATION_EXPECTED=true\n16:PRODUCT_CHECKPOINTS_REMAINING=14\n17:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14\n18:TASK_RESULT=PVEPRO_GRAM_SUPPORT_STAGING_INSTALL_PERMISSION_LIFECYCLE_FAILED\n19:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1-20260921T045847Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039-20260909T102004Z.log|SHA256=b444bc8e8585d5a0617bec26fe995ad777325b42fddc3b5f1e6723f5a594bb0c|BYTES=838\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039-20260909T102004Z.log\n4:AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\n5:RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\n6:SUPPORT039_TOPOLOGY={\"name\":\"newfi-staging\",\"node\":\"pve03\",\"status\":\"running\",\"vmid\":211}\n7:SUPPORT039_SOURCE_AUTHORITY={\"artifact_sha256\":\"c20ca0744835ab3e6d7e4d944923a51e86cc53ffa7371a1a58b72b13453a8b3b\",\"branch\":\"main\",\"head\":\"31db97f7aa7190fa9bb0017cfab9b4d0ca463812\",\"path\":\"/root/gram-support\",\"remote\":\"NONE_LOCAL_GIT\"}\n8:SUPPORT039_GUEST_STATE={\"exitcode\":3,\"state\":\"GUEST_FAIL\"}\n9:SUPPORT039_HOLD=RuntimeError\n10:SUPPORT039_DECISION=HOLD_NO_FURTHER_MUTATION\n11:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039-20260909T102004Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-TECHNICAL-SEO-STAGING-IMPLEMENTATION-RETRY-825R1-20260920T232026Z.log|SHA256=9c50d6cb733ae7960d58eaeccc49f7b77539df45121bfd33304154b5d1254b17|BYTES=96939\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-TECHNICAL-SEO-STAGING-IMPLEMENTATION-RETRY-825R1-20260920T232026Z.log\n16:STAGING_ROBOTS_WRITE=f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272|246\n17:STAGING_SEO_MUTATION={\"marker\":1,\"sitemapAutoRebuild\":true,\"sitemapAutoSubmit\":{\"enabled\":\"0\",\"urls\":\"\"},\"sitemapExtraUrls\":\"\",\"template_bytes\":10077,\"template_sha256\":\"24fed3a1f355ec22b180c4e0d1cb9ff1b6f7c193aa3d710d3f753196d696625d\",\"useFriendlyUrls\":false}\n18:STAGING_NATIVE_SITEMAP_REBUILD={\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}\n19:STAGING_SEO_STATE_AFTER_MUTATION={\"boardActive\":\"0\",\"dataSitemaps\":{\"exists\":false},\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":16,\"faviconBytes\":165,\"faviconExists\":true,\"faviconSha256\":\"cb2080acb1bce40de99ef4963d153d20c9b6666b8442f936f66e3f1c8539af8b\",\"forumCount\":12,\"indexRoute\":\"portal/\",\"internalSitemaps\":{\"exists\":true,\"files\":[{\"bytes\":1,\"name\":\"index.html\",\"sha256\":\"36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068\"},{\"bytes\":1547,\"name\":\"sitemap-1789946566-1.xml.gz\",\"sha256\":\"b93ea76fe2140f625fb30616a2b4b65e1a102cb943e9edb32192b87f8f4c0fa3\"}]},\"members\":{\"addon_id\":\"XF\",\"enabled\":0,\"navigation_id\":\"members\",\"parent_navigation_id\":\"\"},\"node1\":{\"display_in_list\":0,\"node_id\":1,\"node_type_id\":\"Category\",\"parent_node_id\":0,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},\"node2\":{\"display_in_list\":0,\"node_id\":2,\"node_type_id\":\"Forum\",\"parent_node_id\":1,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"},\"nodeCount\":18,\"portalAddonRows\":1,\"portalRouteRows\":1,\"portalTemplateRows\":2,\"portalTemplates\":[{\"bytes\":10077,\"seo_desc\":true,\"seo_jsonld\":true,\"seo_marker\":1,\"sha256\":\"24fed3a1f355ec22b180c4e0d1cb9ff1b6f7c193aa3d710d3f753196d696625d\",\"template_id\":1218,\"title\":\"pvepro_portal\",\"trust_marker\":1,\"twitter_card\":true},{\"bytes\":3605,\"seo_desc\":false,\"seo_jsonld\":false,\"seo_marker\":0,\"sha256\":\"82052b9578b80b2350afda7cc567736a1e1d5d34bc7a6ec55d7fc9b91bfd1e50\",\"template_id\":1219,\"title\":\"pvepro_portal.less\",\"trust_marker\":1,\"twitter_card\":false}],\"postCount\":44,\"robotsBytes\":246,\"robotsExists\":true,\"robotsSha256\":\"f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272\",\"seoOptions\":{\"sitemapAutoRebuild\":{\"data_type\":\"boolean\",\"edit_format\":\"onoff\",\"id\":\"sitemapAutoRebuild\",\"present\":true,\"runtime\":true,\"stored_raw_bytes\":1,\"stored_raw_sha256\":\"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b\"},\"sitemapAutoSubmit\":{\"data_type\":\"array\",\"edit_format\":\"onofftextbox\",\"id\":\"sitemapAutoSubmit\",\"present\":true,\"runtime\":{\"enabled\":false,\"urls\":\"\"},\"stored_raw_bytes\":27,\"stored_raw_sha256\":\"3c9a4e2a29053b692c69b9dcf4747612172108f512451c1f4a9b8ea262984224\"},\"sitemapExclude\":{\"data_type\":\"array\",\"edit_format\":\"callback\",\"id\":\"sitemapExclude\",\"present\":true,\"runtime\":[],\"stored_raw_bytes\":2,\"stored_raw_sha256\":\"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945\"},\"sitemapExtraUrls\":{\"data_type\":\"string\",\"edit_format\":\"textbox\",\"id\":\"sitemapExtraUrls\",\"present\":true,\"runtime\":\"https://pvepro.ru/\",\"stored_raw_bytes\":18,\"stored_raw_sha256\":\"89736d0e2ed4b498f3c0ade3a692402515ee7b69ae2e3e18c90ecbe606bb363d\"},\"useFriendlyUrls\":{\"data_type\":\"boolean\",\"edit_format\":\"onoff\",\"id\":\"useFriendlyUrls\",\"present\":true,\"runtime\":true,\"stored_raw_bytes\":1,\"stored_raw_sha256\":\"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b\"}},\"templatesXmlBytes\":13999,\"templatesXmlExists\":true,\"templatesXmlSeoMarkers\":1,\"templatesXmlSha256\":\"32301f0de13968030caac1c3137f6883739a09392d272f1efaced50343151c7b\",\"templatesXmlTrustMarkers\":2,\"threadCount\":44}\n20:STAGING_TECHNICAL_SEO_RENDER={\"good_samples\":0,\"required\":3,\"samples\":[{\"ok\":false,\"sample\":1,\"ua\":[{\"contact\":{\"bytes\":28540,\"canonical\":[],\"content_type\":\"text/html; charset=utf-8\",\"description\":[],\"effective\":\"http://pvepro.ru/misc/contact\",\"http\":200,\"icons\":[\"/styles/pvepro/brand/brand753r4/pvepro-pwa-192.48c7da4b73b9.png\",\"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-favicon-32.e9a01ca2fe88.png\"],\"jsonld_web_site\":false,\"og\":{\"og:image\":\"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-og-1200x630.08513c189ee6.png\",\"og:site_name\":\"PVEPro\",\"og:title\":\"\\u041e\\u0431\\u0440\\u0430\\u0442\\u043d\\u0430\\u044f \\u0441\\u0432\\u044f\\u0437\\u044c\",\"og:type\":\"website\",\"og:url\":\"http://pvepro.ru/misc/contact\"},\"ok\":true,\"robots\":[],\"title\":\"\\u041e\\u0431\\u0440\\u0430\\u0442\\u043d\\u0430\\u044f \\u0441\\u0432\\u044f\\u0437\\u044c | PVEProStyle variation\",\"twitter\":{},\"utf8\":true},\"forums\":{\"bytes\":73505,\"canonical\":[\"https://pvepro.ru/forums/\"],\"content_type\":\"text/html; charset=utf-8\",\"description\":[\"\\u0418\\u043d\\u0444\\u0440\\u0430\\u0441\\u0442\\u0440\\u0443\\u043a\\u0442\\u0443\\u0440\\u0430 \\u0431\\u0438\\u0437\\u043d\\u0435\\u0441\\u0430, \\u043a\\u043e\\u0442\\u043e\\u0440\\u043e\\u0439 \\u0432\\u043b\\u0430\\u0434\\u0435\\u0435\\u0442\\u0435 \\u0432\\u044b.\"],\"effective\":\"http://pvepro.ru/forums/\",\"http\":200,\"icons\":[\"/styles/pvepro/brand/brand753r4/pvepro-pwa-192.48c7da4b73b9.png\",\"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-favicon-32.e9a01ca2fe88.png\"],\"jsonld_web_site\":false,\"og\":{\"og:description\":\"\\u0418\\u043d\\u0444\\u0440\\u0430\\u0441\\u0442\\u0440\\u0443\\u043a\\u0442\\u0443\\u0440\\u0430 \\u0431\\u0438\\u0437\\u043d\\u0435\\u0441\\u0430, \\u043a\\u043e\\u0442\\u043e\\u0440\\u043e\\u0439 \\u0432\\u043b\\u0430\\u0434\\u0435\\u0435\\u0442\\u0435 \\u0432\\u044b.\",\"og:image\":\"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-og-1200x630.08513c189ee6.png\",\"og:site_name\":\"PVEPro\",\"og:title\":\"\\u0421\\u043f\\u0438\\u0441\\u043e\\u043a \\u0444\\u043e\\u0440\\u0443\\u043c\\u043e\\u0432\",\"og:type\":\"website\",\"og:url\":\"http://pvepro.ru/forums/\"},\"ok\":true,\"robots\":[],\"title\":\"\\u0421\\u043f\\u0438\\u0441\\u043e\\u043a \\u0444\\u043e\\u0440\\u0443\\u043c\\u043e\\u0432 | PVEProStyle variation\",\"twitter\":{},\"utf8\":true},\"privacy\":{\"bytes\":35941,\"canonical\":[\"https://pvepro.ru/help/privacy-policy/\"],\"content_type\":\"text/html; charset=utf-8\",\"description\":[\"\\u0412\\u0430\\u043c \\u043d\\u0435\\u043e\\u0431\\u0445\\u043e\\u0434\\u0438\\u043c\\u043e \\u043f\\u0440\\u0438\\u043d\\u044f\\u0442\\u044c \\u0443\\u0441\\u043b\\u043e\\u0432\\u0438\\u044f \\u043f\\u043e\\u043b\\u0438\\u0442\\u0438\\u043a\\u0438 \\u0434\\u043b\\u044f \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u0441\\u0430\\u0439\\u0442\\u0430.\"],\"effective\":\"http://pvepro.ru/help/privacy-policy/\",\"http\":200,\"icons\":[\"/styles/pvepro/brand/brand753r4/pvepro-pwa-192.48c7da4b73b9.png\",\"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-favicon-32.e9a01ca2fe88.png\"],\"jsonld_web_site\":false,\"og\":{\"og:description\":\"\\u0412\\u0430\\u043c \\u043d\\u0435\\u043e\\u0431\\u0445\\u043e\\u0434\\u0438\\u043c\\u043e \\u043f\\u0440\\u0438\\u043d\\u044f\\u0442\\u044c \\u0443\\u0441\\u043b\\u043e\\u0432\\u0438\\u044f \\u043f\\u043e\\u043b\\u0438\\u0442\\u0438\\u043a\\u0438 \\u0434\\u043b\\u044f \\u0438\\u0441\\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u043d\\u0438\\u044f \\u0441\\u0430\\u0439\\u0442\\u0430.\",\"og:image\":\"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-og-1200x630.08513c189ee6.png\",\"og:site_name\":\"PVEPro\",\"og:title\":\"\\u041f\\u043e\\u043b\\u0438\\u0442\\u0438\\u043a\\u0430 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u0438\",\"og:type\":\"website\",\"og:url\":\"http://pvepro.ru/help/privacy-policy/\"},\"ok\":true,\"robots\":[],\"title\":\"\\u041f\\u043e\\u043b\\u0438\\u0442\\u0438\\u043a\\u0430 \\u043a\\u043e\\u043d\\u0444\\u0438\\u0434\\u0435\\u043d\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u043e\\u0441\\u0442\\u0438 | PVEProStyle variation\",\"twitter\":{},\"utf8\":true},\"robots\":{\"bytes\":246,\"content_type\":\"text/plain\",\"effective\":\"http://pvepro.ru/robots.txt\",\"http\":200,\"ok\":true,\"sha256\":\n21:TECHNICAL_SEO_STAGING_ERROR_CLASS=RuntimeError\n22:TECHNICAL_SEO_STAGING_ERROR_SHA256=4f980810cfb900f8ca18c40eb15ddff079f733c10ff91226ecb4c9576735ada2\n23:ROLLBACK_PRE_SHUTDOWN_GUEST_SYNC={\"ok\":true}\n24:ROLLBACK_PRE_SHUTDOWN_QM_SHUTDOWN={\"rc\":0}\n25:ROLLBACK_QM_ROLLBACK_RC=0\n26:ROLLBACK_APP_STATE={\"boardActive\":\"0\",\"dataSitemaps\":{\"exists\":false},\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":16,\"faviconBytes\":165,\"faviconExists\":true,\"faviconSha256\":\"cb2080acb1bce40de99ef4963d153d20c9b6666b8442f936f66e3f1c8539af8b\",\"forumCount\":12,\"indexRoute\":\"portal/\",\"internalSitemaps\":{\"exists\":false},\"members\":{\"addon_id\":\"XF\",\"enabled\":0,\"navigation_id\":\"members\",\"parent_navigation_id\":\"\"},\"node1\":{\"display_in_list\":0,\"node_id\":1,\"node_type_id\":\"Category\",\"parent_node_id\":0,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},\"node2\":{\"display_in_list\":0,\"node_id\":2,\"node_type_id\":\"Forum\",\"parent_node_id\":1,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"},\"nodeCount\":18,\"portalAddonRows\":1,\"portalRouteRows\":1,\"portalTemplateRows\":2,\"portalTemplates\":[{\"bytes\":8037,\"seo_desc\":false,\"seo_jsonld\":false,\"seo_marker\":0,\"sha256\":\"86db12351c8b3d4fe9338abe00dd8ceb9a32e9af80e5833d04933401b9f7a566\",\"template_id\":1218,\"title\":\"pvepro_portal\",\"trust_marker\":1,\"twitter_card\":false},{\"bytes\":3605,\"seo_desc\":false,\"seo_jsonld\":false,\"seo_marker\":0,\"sha256\":\"82052b9578b80b2350afda7cc567736a1e1d5d34bc7a6ec55d7fc9b91bfd1e50\",\"template_id\":1219,\"title\":\"pvepro_portal.less\",\"trust_marker\":1,\"twitter_card\":false}],\"postCount\":44,\"robotsBytes\":0,\"robotsExists\":false,\"robotsSha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"seoOptions\":{\"sitemapAutoRebuild\":{\"data_type\":\"boolean\",\"edit_format\":\"onoff\",\"id\":\"sitemapAutoRebuild\",\"present\":true,\"runtime\":true,\"stored_raw_bytes\":1,\"stored_raw_sha256\":\"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b\"},\"sitemapAutoSubmit\":{\"data_type\":\"array\",\"edit_format\":\"onofftextbox\",\"id\":\"sitemapAutoSubmit\",\"present\":true,\"runtime\":{\"enabled\":\"0\",\"urls\":\"\"},\"stored_raw_bytes\":25,\"stored_raw_sha256\":\"89e6bef9d34cb52c4b09c59c1981c95975c5c15cf4c72e1df8906f65029b3e47\"},\"sitemapExclude\":{\"data_type\":\"array\",\"edit_format\":\"callback\",\"id\":\"sitemapExclude\",\"present\":true,\"runtime\":[],\"stored_raw_bytes\":2,\"stored_raw_sha256\":\"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945\"},\"sitemapExtraUrls\":{\"data_type\":\"string\",\"edit_format\":\"textbox\",\"id\":\"sitemapExtraUrls\",\"present\":true,\"runtime\":\"\",\"stored_raw_bytes\":0,\"stored_raw_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"useFriendlyUrls\":{\"data_type\":\"boolean\",\"edit_format\":\"onoff\",\"id\":\"useFriendlyUrls\",\"present\":true,\"runtime\":false,\"stored_raw_bytes\":1,\"stored_raw_sha256\":\"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9\"}},\"templatesXmlBytes\":11959,\"templatesXmlExists\":true,\"templatesXmlSeoMarkers\":0,\"templatesXmlSha256\":\"2363cb9d758e65f63a9452fdbdeb925343411919864eb7bf06f51765325ba7b3\",\"templatesXmlTrustMarkers\":2,\"threadCount\":44}\n27:ROLLBACK_FINAL_SHUTDOWN_GUEST_SYNC={\"ok\":true}\n28:ROLLBACK_FINAL_SHUTDOWN_QM_SHUTDOWN={\"rc\":0}\n29:PRODUCTION_APP_AFTER_FAILURE={\"boardActive\":\"1\",\"dataSitemaps\":{\"exists\":false},\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":20,\"faviconBytes\":165,\"faviconExists\":true,\"faviconSha256\":\"cb2080acb1bce40de99ef4963d153d20c9b6666b8442f936f66e3f1c8539af8b\",\"forumCount\":12,\"indexRoute\":\"portal/\",\"internalSitemaps\":{\"exists\":false},\"members\":{\"addon_id\":\"XF\",\"enabled\":0,\"navigation_id\":\"members\",\"parent_navigation_id\":\"\"},\"node1\":{\"display_in_list\":0,\"node_id\":1,\"node_type_id\":\"Category\",\"parent_node_id\":0,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},\"node2\":{\"display_in_list\":0,\"node_id\":2,\"node_type_id\":\"Forum\",\"parent_node_id\":1,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"},\"nodeCount\":18,\"portalAddonRows\":1,\"portalRouteRows\":1,\"portalTemplateRows\":2,\"portalTemplates\":[{\"bytes\":8037,\"seo_desc\":false,\"seo_jsonld\":false,\"seo_marker\":0,\"sha256\":\"86db12351c8b3d4fe9338abe00dd8ceb9a32e9af80e5833d04933401b9f7a566\",\"template_id\":1218,\"title\":\"pvepro_portal\",\"trust_marker\":1,\"twitter_card\":false},{\"bytes\":3605,\"seo_desc\":false,\"seo_jsonld\":false,\"seo_marker\":0,\"sha256\":\"82052b9578b80b2350afda7cc567736a1e1d5d34bc7a6ec55d7fc9b91bfd1e50\",\"template_id\":1219,\"title\":\"pvepro_portal.less\",\"trust_marker\":1,\"twitter_card\":false}],\"postCount\":44,\"robotsBytes\":0,\"robotsExists\":false,\"robotsSha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"seoOptions\":{\"sitemapAutoRebuild\":{\"data_type\":\"boolean\",\"edit_format\":\"onoff\",\"id\":\"sitemapAutoRebuild\",\"present\":true,\"runtime\":true,\"stored_raw_bytes\":1,\"stored_raw_sha256\":\"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b\"},\"sitemapAutoSubmit\":{\"data_type\":\"array\",\"edit_format\":\"onofftextbox\",\"id\":\"sitemapAutoSubmit\",\"present\":true,\"runtime\":{\"enabled\":\"0\",\"urls\":\"\"},\"stored_raw_bytes\":25,\"stored_raw_sha256\":\"89e6bef9d34cb52c4b09c59c1981c95975c5c15cf4c72e1df8906f65029b3e47\"},\"sitemapExclude\":{\"data_type\":\"array\",\"edit_format\":\"callback\",\"id\":\"sitemapExclude\",\"present\":true,\"runtime\":[],\"stored_raw_bytes\":2,\"stored_raw_sha256\":\"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945\"},\"sitemapExtraUrls\":{\"data_type\":\"string\",\"edit_format\":\"textbox\",\"id\":\"sitemapExtraUrls\",\"present\":true,\"runtime\":\"\",\"stored_raw_bytes\":0,\"stored_raw_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"useFriendlyUrls\":{\"data_type\":\"boolean\",\"edit_format\":\"onoff\",\"id\":\"useFriendlyUrls\",\"present\":true,\"runtime\":false,\"stored_raw_bytes\":1,\"stored_raw_sha256\":\"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9\"}},\"templatesXmlBytes\":11959,\"templatesXmlExists\":true,\"templatesXmlSeoMarkers\":0,\"templatesXmlSha256\":\"2363cb9d758e65f63a9452fdbdeb925343411919864eb7bf06f51765325ba7b3\",\"templatesXmlTrustMarkers\":2,\"threadCount\":44}\n30:TASK_RESULT=PVEPRO_TECHNICAL_SEO_STAGING_IMPLEMENTATION_FAILED\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-TECHNICAL-SEO-STAGING-IMPLEMENTATION-RETRY-825R1-20260920T232026Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260919-BACKUP-HEALTH-PRESENTATION-AUDIT-READONLY-624R2-20260919T135217Z.log|SHA256=9bf6728874a654dd6db7bdca54120aa78bcbc968f05062e7aa423b77366dc278|BYTES=6643\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260919-BACKUP-HEALTH-PRESENTATION-AUDIT-READONLY-624R2-20260919T135217Z.log\n21:PVE01_BACKUP_TXT_REF_11=/usr/local/sbin/homelab-overall-health\n22:PVE01_BACKUP_TXT_REF_12=/usr/local/sbin/homelab-vm-full-backup\n23:PVE01_BACKUP_TXT_REF_13=/usr/local/sbin/homelab-backup-edge-vm-vzdump\n24:PVE01_BACKUP_TXT_REF_14=/usr/local/sbin/homelab-cluster-passport\n25:PVE01_BACKUP_TXT_REF_15=/srv/homelab-ops/observed/source-snapshots/overall.txt\n26:PVE01_BACKUP_TXT_REF_16=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/task.json\n27:PVE01_BACKUP_TXT_REF_17=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/assets/homelab-vm160-remote-backup\n28:PVE01_BACKUP_TXT_REF_18=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/verify.sh\n29:PVE01_BACKUP_TXT_REF_19=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/apply.sh\n30:PVE01_BACKUP_TXT_REF_20=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/seal.sh\n31:PVE01_BACKUP_TXT_REF_21=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/prepare.sh\n32:PVE01_BACKUP_TXT_REF_22=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/rollback.sh\n33:PVE03_EDGE_QGA_TRANSPORT_RC=0\n34:EDGE_QGA_EXITED=1\n35:EDGE_QGA_EXITCODE=0\n36:EDGE_IDENTITY=OK\n37:EDGE_HEALTH_SOURCE_PRESENT=true\n38:EDGE_HEALTH_SOURCE_SHA256=69bd5816d27d14529aef5cafc3f9caf69bb4e6ac6cd04a444272680c8fadb560\n39:EDGE_BACKUP_HEALTH_SOURCE_HIT_COUNT=1\n40:EDGE_SOURCE_HIT_00=146: \"/backup-health\": _hp_backup,\n41:EDGE_HEALTH_SERVICE_ACTIVE=active\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260919-BACKUP-HEALTH-PRESENTATION-AUDIT-READONLY-624R2-20260919T135217Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z-20260805T142020Z.log|SHA256=81f3a7b84d9eec86671f34f89bc59d99a95dd08ec9d6911e6ea399964e0e9718|BYTES=34294\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z-20260805T142020Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z\",\"command_rc\":0,\"control_plane_error\":null,\"index_changed_diff_lines\":110,\"index_current_sha256\":\"686e55e3934e22180a3889a0ee9ba8cdcbb92b5d9d1bc5418080f701a5796172\",\"index_drift\":true,\"index_expected_sha256\":\"c4fc9eec9c1e9884c5b054b2193db518f5a5d15c026c5e01fe11c6be8d52fc89\",\"index_path\":\"/var/www/homelab-cluster-admin/index.html\",\"managed_marker_present\":false,\"mutation_outcome\":\"NO_MUTATION\",\"rc\":0,\"ready_for_corrected_transaction\":true,\"reference_current_sha256\":\"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f\",\"reference_drift\":false,\"reference_expected_sha256\":\"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f\",\"remote_probe_root\":true,\"report_bytes\":33176,\"report_sha256\":\"04df393f3f5a7703399153a129a8458a3c9980f45c4cb00b1f9bd8b62182c15c\",\"rollback_restored\":false,\"rollback_started\":false,\"status\":\"OK\",\"v19_exact_result_identity_confirmed\":true,\"v21_exact_result_identity_confirmed\":true,\"v21_exact_sha_drift_confirmed\":true,\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z\",\"current_files\":{\"index\":{\"backend_marker_begin\":false,\"backend_marker_end\":false,\"bytes\":10353,\"ctime_ns\":1785939615262660290,\"expected_sha256\":\"c4fc9eec9c1e9884c5b054b2193db518f5a5d15c026c5e01fe11c6be8d52fc89\",\"gid\":0,\"index_marker_begin\":false,\"index_marker_end\":false,\"inode\":135903,\"matches_v19\":false,\"mode\":420,\"mtime_ns\":1785939615262660290,\"path\":\"/var/www/homelab-cluster-admin/index.html\",\"sha256\":\"686e55e3934e22180a3889a0ee9ba8cdcbb92b5d9d1bc5418080f701a5796172\",\"uid\":0},\"reference\":{\"backend_marker_begin\":false,\"backend_marker_end\":false,\"bytes\":3708,\"ctime_ns\":1783706500680296060,\"expected_sha256\":\"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f\",\"gid\":0,\"index_marker_begin\":false,\"index_marker_end\":false,\"inode\":135901,\"matches_v19\":true,\"mode\":493,\"mtime_ns\":1783706500680296060,\"path\":\"/opt/homelab-cluster-admin/render-webpanel.sh\",\"sha256\":\"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f\",\"uid\":0}},\"drift_analysis\":{\"index_changed_diff_lines\":110,\"index_drift\":true,\"managed_marker_present\":false,\"next_required_action\":\"build corrected atomic transaction using current index SHA\",\"ready_for_corrected_transaction\":true,\"reference_changed_diff_lines\":24,\"reference_drift\":false},\"index_diff\":{\"lines\":[\"--- V19/index.html\",\"+++ CURRENT/index.html\",\"@@ -16,65 +16,65 @@\",\" \",\" \",\" \",\"

Homelab Cluster Admin

\",\"-
generated UTC: 2026-08-05T13:20:48Z · VM180 · [PRIVATE_IP] · refresh 60s
\",\"+
generated UTC: 2026-08-05T14:20:15Z · VM180 · · refresh 60s
\",\"

REVIEW

\",\" \",\"
\",\"-

Self

STATUS=WARN TS=2026-08-05T13:19:08Z TYPE=cluster-admin-self-check BAD=1 HOST=cluster-admin IP_OK=1 DNS_OK=1 FAILED_UNITS=1 QGA=active\",\"+

Self

STATUS=WARN TS=2026-08-05T14:15:25Z TYPE=cluster-admin-self-check BAD=1 HOST=cluster-admin IP_OK=1 DNS_OK=1 FAILED_UNITS=1 QGA=active\",\" FAILED_UNITS=1\",\" QGA=active
\",\"-

Observer

STATUS=WARN TS=2026-08-05T13:19:08Z TYPE=cluster-admin-observer BAD=2 WARN=0 HOST=cluster-admin SELF_FAILED_UNITS=1 QGA=active PVE01=checked PVE02=checked PVE03=checked EDGE=checked DNS_PAIR=checked OVERALL_ENDPOINT=checked REPORT=/var/lib/homelab-cluster-admin/latest.md
\",\"-

Full observer

STATUS=WARN TS=2026-08-05T13:19:08Z TYPE=cluster-admin-full-observer BAD=3 WARN=0 INFO_OFF=7 PROBE_OK=2 PROBE_BAD=2 MAP_TOTAL=30 CRITICAL_FAILS=0 OPTIONAL_INFO_OFF=7 SELF_FAILED_UNITS=1 QGA=active REPORT=/var/lib/homelab-cluster-admin/full-observer-latest.md
\",\"+

Observer

STATUS=WARN TS=2026-08-05T14:15:25Z TYPE=cluster-admin-observer BAD=2 WARN=0 HOST=cluster-admin SELF_FAILED_UNITS=1 QGA=active PVE01=checked PVE02=checked PVE03=checked EDGE=checked DNS_PAIR=checked OVERALL_ENDPOINT=checked REPORT=/var/lib/homelab-cluster-admin/latest.md
\",\"+

Full observer

STATUS=WARN TS=2026-08-05T14:15:25Z TYPE=cluster-admin-full-observer BAD=3 WARN=0 INFO_OFF=7 PROBE_OK=2 PROBE_BAD=2 MAP_TOTAL=30 CRITICAL_FAILS=0 OPTIONAL_INFO_OFF=7 SELF_FAILED_UNITS=1 QGA=active REPORT=/var/lib/homelab-cluster-admin/full-observer-latest.md
\",\"

Mail Cloud backup

STATUS=OK TS=2026-07-09T05:07:47Z TYPE=cluster-admin-vm-mail-cloud-backup BAD=0 VMID=180 NODE=pve02 MODE=MAIL_CLOUD_2COPY_VERIFY_OK LOCAL_STATUS=OK REPORT=/var/lib/homelab-cluster-admin-vm-mail-cloud-backup/latest.md
\",\"
\",\" \",\"-
\",\"+
\",\"

Final readiness

STATUS=WARN TS=2026-08-05T05:21:50Z TYPE=final-readiness BAD=6 PASS=47 FAIL=6 REPORT=/var/lib/homelab-final-readiness\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z-20260805T142020Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z-20260806T004832Z.log|SHA256=82d4c214d757c8bd440e147d78fd526866cf538ecad144f47917463d2f20401d|BYTES=2787\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z-20260806T004832Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z\",\"command_rc\":1,\"control_plane_error\":null,\"mutation_outcome\":\"ROLLED_BACK\",\"rc\":1,\"report_bytes\":2378,\"report_sha256\":\"0a6c5d44e399a67835ada32d323748a444f10ceaf9e4b4d1ebed2ab9f035a983\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z\",\"error\":\"RuntimeError: HTML route auth guard {'path': '/cluster-admin-updates.html', 'rc': 0, 'http_status': 500, 'location': None, 'body_sha256': 'e41656eb2ba6c6293bf6dd928e5a88cdbc50535cab661c1969e0f598e497ed62', 'body_bytes': 21, 'stderr': ''}\",\"error_type\":\"RuntimeError\",\"mutation_outcome\":\"ROLLED_BACK\",\"remote\":{\"backup\":\"/var/backups/homelab-cluster-admin/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z/incident-engine-app.py\",\"candidate_sha256\":\"26787f335382f6d6beff9a31a185e4998f50f91eed9b8b94831619c5a87a9647\",\"changed\":false,\"error\":\"RuntimeError: HTML route auth guard {'path': '/cluster-admin-updates.html', 'rc': 0, 'http_status': 500, 'location': None, 'body_sha256': 'e41656eb2ba6c6293bf6dd928e5a88cdbc50535cab661c1969e0f598e497ed62', 'body_bytes': 21, 'stderr': ''}\",\"original_sha256\":\"17d95ebfc28cef34846a8999664019d5d032ee8176b7fedd9ceeebfc5c97e3b6\",\"rollback_errors\":[],\"service_after_rollback\":{\"ActiveState\":\"active\",\"ExecMainStatus\":\"0\",\"ExecStart\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[Thu 2026-08-06 00:48:34 UTC] ; stop_time=[n/a] ; pid=2130676 ; code=(null) ; status=0/0 }\",\"FragmentPath\":\"/etc/systemd/system/cluster-admin-incident-engine.service\",\"LoadState\":\"loaded\",\"MainPID\":\"2130676\",\"Result\":\"success\",\"SubState\":\"running\",\"UnitFileState\":\"enabled\",\"WorkingDirectory\":\"/opt/cluster-admin-incident-engine\"},\"service_before\":{\"ActiveState\":\"active\",\"ExecMainStatus\":\"0\",\"ExecStart\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[Thu 2026-08-06 00:19:50 UTC] ; stop_time=[n/a] ; pid=2125508 ; code=(null) ; status=0/0 }\",\"FragmentPath\":\"/etc/systemd/system/cluster-admin-incident-engine.service\",\"LoadState\":\"loaded\",\"MainPID\":\"2125508\",\"Result\":\"success\",\"SubState\":\"running\",\"UnitFileState\":\"enabled\",\"WorkingDirectory\":\"/opt/cluster-admin-incident-engine\"},\"status\":\"FAILED_ROLLED_BACK\"},\"rollback_errors\":[],\"rollback_restored\":true,\"rollback_started\":true,\"schema\":45,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z-20260806T004832Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z-20260805T160843Z.log|SHA256=caca3b75c72ca2b4dc356c6382d177f9253fa339c37ee249015ed80d9cdd8d04|BYTES=524\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z-20260805T160843Z.log\n1:{\"backup_created\": false, \"changes_made\": false, \"command_id\": \"HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z\", \"command_rc\": 1, \"complaints_guardrail\": {\"immutable\": true, \"mutation_allowed\": false, \"service_content_read\": false, \"source_content_read\": false, \"storage_read\": false}, \"error\": \"unsafe file type: .\", \"error_type\": \"RuntimeError\", \"mutation_outcome\": \"NO_MUTATION\", \"output_truncated_in_json\": false, \"rc\": 1, \"rollback_restored\": null, \"rollback_started\": false, \"status\": \"FAIL\", \"version\": 1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z-20260805T160843Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3-20260909T190000Z.log|SHA256=ed2f4e1c478f36f0e0cbc08d8e48a7c1f029b070b8977111a0635c161fde0205|BYTES=10078\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3-20260909T190000Z.log\n6:GRAM_FOOTER_FINAL_TOPOLOGY={\"160\":{\"name\":\"forum-prod\",\"node\":\"pve02\",\"status\":\"running\"},\"210\":{\"name\":\"newfi-prod\",\"node\":\"pve01\",\"status\":\"running\"},\"211\":{\"name\":\"newfi-staging\",\"node\":\"pve03\",\"status\":\"running\"}}\n7:GRAM_FOOTER_FINAL_VM211={\"host\":\"newfi-staging\",\"results\":[{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"newfi-staging\",\"root\":\"/var/www/forums/newfi/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"0\",\"board_url\":\"http://newfi-staging.gram1.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":46,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_find_sha256\":\"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2\",\"mod_replace_sha256\":\"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a\",\"mod_template\":\"PAGE_CONTAINER\",\"mod_type\":\"public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"status\":\"OK\"},\"status\":\"OK\"}],\"status\":\"OK\"}\n8:GRAM_FOOTER_FINAL_VM160={\"host\":\"forum-prod\",\"results\":[{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"codevipe\",\"root\":\"/var/www/forums/codevipe/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"1\",\"board_url\":\"https://codevipe.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":0,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_find_sha256\":\"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2\",\"mod_replace_sha256\":\"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a\",\"mod_template\":\"PAGE_CONTAINER\",\"mod_type\":\"public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"status\":\"OK\"},\"status\":\"OK\"},{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"dsmods\",\"root\":\"/var/www/forums/dsmods/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"1\",\"board_url\":\"https://dsmods.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":0,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_find_sha256\":\"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2\",\"mod_replace_sha256\":\"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a\",\"mod_template\":\"PAGE_CONTAINER\",\"mod_type\":\"public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"status\":\"OK\"},\"status\":\"OK\"},{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"gamevipe\",\"root\":\"/var/www/forums/gamevipe/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"1\",\"board_url\":\"https://gamevipe.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":0,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_find_sha256\":\"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2\",\"mod_replace_sha256\":\"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a\",\"mod_template\":\"PAGE_CONTAINER\",\"mod_type\":\"public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"status\":\"OK\"},\"status\":\"OK\"},{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"hkmods\",\"root\":\"/var/www/forums/hkmods/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"1\",\"board_url\":\"https://hkmods.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":12,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_find_sha256\":\"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2\",\"mod_replace_sha256\":\"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a\",\"mod_template\":\"PAGE_CONTAINER\",\"mod_type\":\"public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"status\":\"OK\"},\"status\":\"OK\"},{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"kingofwolk\",\"root\":\"/var/www/forums/kingofwolk/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"1\",\"board_url\":\"https://kingofwolk.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":0,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_fin\n9:GRAM_FOOTER_FINAL_VM210={\"host\":\"newfi-prod\",\"results\":[{\"manifest\":{\"bad\":[],\"checked\":59,\"extra\":[],\"missing\":[]},\"name\":\"newfi-prod\",\"root\":\"/var/www/forums/newfi/public\",\"state\":{\"addon\":{\"active\":1,\"is_processing\":0,\"last_pending_action\":null,\"version_id\":1000080,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 6\"},\"board_active\":\"0\",\"board_url\":\"https://newfi.ru\",\"css_sha256\":\"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279\",\"error_max\":0,\"launcher_sha256\":\"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20\",\"mod_action\":\"str_replace\",\"mod_enabled\":1,\"mod_find_sha256\":\"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2\",\"mod_replace_sha256\":\"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a\",\"mod_template\":\"PAGE_CONTAINER\",\"mod_type\":\"public\",\"services\":{\"mariadb\":true,\"nginx\":true,\"php8.3-fpm\":true},\"status\":\"OK\"},\"status\":\"OK\"}],\"status\":\"OK\"}\n10:GRAM_FOOTER_FINAL_KOW_CSP_SHA256=f42d4ebe01d1c0a288c968f0c90f9dc0375e64ebd81d2380de50e0260c3c4463\n11:GRAM_FOOTER_FINAL_HOLD=RuntimeError:PUBLIC_RENDER:https://newfi.ru/forums/\n12:HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3-20260909T190000Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1-20260916T183901Z.log|SHA256=9693984a6cf5b31d4e33223e2b0380b9e3e6e68251ec1a90e398372107524127|BYTES=2145\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1-20260916T183901Z.log\n5:SYSTEMD_UNIT_FILE_MUTATIONS=0\n6:NO_DAEMON_RELOAD=YES\n7:CLOUD_DELETIONS=0\n8:PREFLIGHT_EXACT_BASELINE=PASS\n9:CANDIDATE_BUILD=PASS\n10:COMMON_HEAVY_LOCK_ACQUIRED=YES\n11:LEGACY_SERVICES_QUIESCENT_AFTER_COMMON_LOCK=PASS\n12:LEGACY_SERVICE_FAILED_HISTORY_COUNT=2\n13:CT112_RESULT_CONTRACT=PASS\n14:LEGACY_LANE_RESULT=node-pve01:PASS\n15:LEGACY_LANE_RESULT=md-relay:PASS\n16:LEGACY_LANE_RESULT=spb-ingress:PASS\n17:LEGACY_LANE_RESULT=us-netbird:PASS\n18:LEGACY_LANE_RESULT=router-netcraze:PASS\n19:LEGACY_LANE_RESULT=xf-codevipe:PASS\n30:PRODUCTION_LAUNCHER_SELFTEST=PASS\n31:CUTOVER_V2_ENABLE_START=YES\n32:CUTOVER_V2_ENABLED_ACTIVE=YES\n33:CUTOVER_LEGACY_DISABLE=YES\n34:CUTOVER_LEGACY_DISABLED_INACTIVE=YES\n35:COMMON_HEAVY_LOCK_RELEASED=YES\n36:POST_CUTOVER_HEALTH_1=PASS\n37:PRODUCTION_ACCEPTANCE_SEAL_SHA256=f508adc9b09bad9692c580e642018f5d3dbf223fc572ee62478466fd517234fa\n38:POST_CUTOVER_HEALTH_2=PASS\n39:FINAL_SCHEDULER_STATE=V2_ENABLED_ACTIVE_LEGACY_DISABLED_INACTIVE\n40:FINAL_EFFECTIVE_TARGET_COUNT=29\n41:FINAL_BASE_REGISTRY_FILE_COUNT=28\n42:LEGACY_BACKUP_DISABLES=3\n43:PRODUCTION_ACCEPTANCE=YES\n44:SCHEDULER_CUTOVER=YES\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1-20260916T183901Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-491R1-20260916T220245Z.log|SHA256=015fb35cf81786abd7fa4140f828d5ed25f10d1311571070eecb55a4157c821c|BYTES=1158\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-491R1-20260916T220245Z.log\n7:RETENTION_MUTATION=NO\n8:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n9:PREPROOF_DUE_TARGET=ct110\n10:PREFLIGHT_486_BASELINE=PASS\n11:V2_TIMER_RUNTIME_STOP=PASS\n12:COMMON_HEAVY_LOCK_ACQUIRED=YES\n13:ROLLBACK_TO_486=STARTED\n14:ROLLBACK_TO_486=PASS\n15:COMMON_HEAVY_LOCK_RELEASED=YES\n16:STATUS=FAIL\n17:PHASE=CANDIDATE_BUILD\n18:REASON=FAILED_CLOSED\n19:EXCEPTION_CLASS=builtins.RuntimeError\n20:EXCEPTION_MESSAGE_SHA256=3619f4768300b605c96a76aeaff04f9c2fcbaf8597417eb74c5234d9e654c4d9\n21:PRODUCTION_PROMOTION=NO\n22:RETENTION_MUTATION=NO\n23:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n24:CLOUD_DELETIONS=0\n25:CHANGES_MADE=true\n26:ROLLBACK_STARTED=true\n27:ROLLBACK_RESTORED=true\n28:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-491R1-20260916T220245Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-QGA-RCA-050R5-20260917T140951Z.log|SHA256=0fcb55a1ea30487b5116bfe28efe391e1d0e0af71a105cd8456b15ae39d9fc74|BYTES=11518\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-QGA-RCA-050R5-20260917T140951Z.log\n31:SIGNALBOT050R5_AUDIT_QGA_ERR_BYTES=0\n32:SIGNALBOT050R5_AUDIT_QGA_ERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n33:SIGNALBOT050R5_AUDIT_QGA_OUT_B64=U0lHTkFMQk9UMDUwUjVfQVVESVQ9eyJhY3RpdmVfaW1hZ2UiOiI4MDIwLWRlbW9ub3Ytc2hhZG93Ojc2ZTFmNThiYWE1NDRhMGUyMDhiYmEzMTdmMDE1MGU1YjZkNzRkYmQiLCJjYW5kaWRhdGVfYWJzZW50Ijp0cnVlLCJjb21wb3NlX3NoYTI1NiI6IjY0NjE1MzJiMGEwNGRlY2M2MGZlMWQxODg1OTkwMDIwZTg4NmQ0MGRlNDBjMDUyM2UzNGUyODQ5NjAwYWYwNjEiLCJjb250YWluZXJfZmluZ2VycHJpbnRfc2hhMjU2IjoiNzNkZDg5ZmY0NDFhYjUzMGU0NGQzZWE5NjRlYzVjMWY5NDY4Y2Y1MTJkYzMxYTM0YzE5MTFiMWZiYzhlM2ViOSIsImVudl9zaGEyNTYiOiJmM2NiNmI3ZWFhODI5ZTUwM2NkNTA4NmY4YWZiNmEyZmRiNWRhMjZmOTkyNjdmNjQwN2U5M2Y5MDU2OTk3MjAyIiwic3RhZ2VfYWJzZW50Ijp0cnVlLCJzdGF0dXMiOiJQQVNTIn0K\n34:SIGNALBOT050R5_AUDIT_QGA_ERR_B64=\n35:SIGNALBOT050R5_GUEST_AUDIT={\"active_image\":\"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd\",\"candidate_absent\":true,\"compose_sha256\":\"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061\",\"container_fingerprint_sha256\":\"73dd89ff441ab530e44d3ea964ec5c1f9468cf512dc31a34c1911b1fbc8e3eb9\",\"env_sha256\":\"f3cb6b7eaa829e503cd5086f8afb6a2fdb5da26f99267f6407e93f9056997202\",\"stage_absent\":true,\"status\":\"PASS\"}\n36:Traceback (most recent call last):\n37:  File \"\", line 1, in \n38:    import base64,zlib;exec(compile(zlib.decompress(base64.b64decode(\"eNq1GVtzosj63V/B7nlo2UVFFNRs8WAMyXDGqAfJZObMpqgGmoSNAQYwl5rKfz9fdyNClJmc20yVEfq73782fEjiNBdcnBFtKN3h7G4TutJfWRxJcSYlOGfP2dZN0tgjWSZlL1lrZp7paG1eLKbz06XdUTR50h91LGO2XCyMmc2/zcy5ObXN5aLzwZjO7Q+dtT29MDr/uJh2rNm0I6uypaLWta0XTLor+NtGvTSO8153E3t408vucEp6WXgb4Y0b5x2fPFaeCr4p8eIoIl7Ov3nhJsR5GEdIbBmfVyCPceaACCDyQJXdvusPtPEE91VvrLjjoTukH/2RMhoo/gSPsex5aI94ak0Xsw86ej/XPe5sOZ/Dt6WlI00eyWowVkaYDLw+UfHAVeSAYOL6vjbSvEDW+mQyDkYamWBX7WN1NHTdQMHKRCaD4QDVVAFr6sgLBkR1J954IA98RVWVIZYHbjCQ1cEw6CujEdYGsjYmY1fu44GiDka+62oukfFgqMhEQS1r6IBLdDSWFRlM+xBH8WMHTO7HTyd7fcFR6bDj4qGi+i4Z4VGfYTJv6qgXJ3kvy7F3n/WO0Ol1fZJs4pfefxgtNEqGFeWNxSdn/WGqo2DggTIjgvFYmRBVHni+Ko+1YIwDV8NK4LuqjxUtmEwUbRRoQ3lEJoNgIqvaZDJSZKXmpsvVcm1wutpQ66sDxZWxPPSJ52ngpb7fH4/VyUQG/ch4rPlD2SdD2ZNVZQDOIcp4ONFkGVMnVuierzjJiSqTkTfSXNVT1UkwhChUwBmK3/fBmqqG/YGiqKN+4Hq+5oH8fW2kuN54NJQHI9wnFZLTmW1+Mhzzktn+mN8ggPqBOnYxVocQEESRx66LB/1RIPdBDtXV/NHQd33UavkkEADLcV9ykrVd8URISb5NI6GoAl04VFQNTrp35NkPb0mWt8USLQg3pJ3ssfakagmdiN2UYL84Ejk+eQjz9r30KJ60BPgXBkKYhRGEUeSR9qPU9kMvlzZhlktuHG9EUYhT4RFghEUckRMh02mB6vrbhyQD8AwqmHNPXjLdTrdEykiCU5zHaaa3kQT/TxCwpXzIJmPYWZ62H/mrJA2jvB2g7/ev+vfsFUnBZpvdMUJc1HQbtbH022/3TxVVy3LY5cdZ7sfbXK+8X5krg74maXrw2rsj3r1+jkEaTpgxugWT/IbT22zPhxL/inrbLO25YdQDCNCm04niDmQd1Bq86UCdvM/oWw8+vDgl3SCDgAhBfT2gHGpn2yhPIVWJP8MgxB5ghiRqk2tblJgIN1ykb7fYSfFTO4u3qUcKZyV6RayMyvXtAWjcbiE84C95JpRdfyQzWbOXyLtLIUK3VMo+e5eHDwTMRZ/HHCrBWdYBa4VRCQQfpeLJS34XRwP63qQfp/QD3UhhlFCrM+mkgqquDOXC2zTI9m2KNRwH2o+zvLINy7FA6aTLLe3FPnkX0to+MyzLOf1iG2skbUjUTrrcy+K/gw91ATILjL7PmToZyIiqbL/oMgQFDjMiWOBD0NRI0zhto5o6HDVPX04EP/Z4jmxi7BfUwThQjSm5NtrmQWcMVgSvQ6qV+fHskSQXDPYH4kvAmUCaGf99vVw45uLTdG6eIVEI0vhBIDvxozivJjUIJNGsFpvJnS1njv1lZRR6FDkAiGXJcOChnaQkCJ8l+FoEJHU6PHVvCVgeHjo+zjHoBiLVC8txIBr5IisNAkLcDJCzJSw8/JxgDegIQRoUXO7fkWN8NqGWI2mP/RzmxAcn/HEEcrY8M97AUheiaryVCBAKjm1dLWZTxoEWz7rWOeSuhzm3Q3YQmY3YVMUaNre9q9OwIlE9rFJo+tgDIYGFqwNqM0SDFpUMi91DUSnIYRIdg3yTrqQB5JAYhWwSThuCedjI3HW1YaEbcC/zC2deGKIGaY5ikyPY1TwAM0tgSN6TyLdtmBKH1uf4nuUWPX7A6T1J9z31IMB4UkZCuy+xBteci4ulvYtT8YDcm0CizbkpTJo57ANNPCovD3LhF134QemjIoKsi38a1nJPh9thpyyNzyzZhPkmjOgE0kztcmp9hEp6aa7X5uIC6LWOVvNT48JcIG7B4xCrK4tOlBDmFuwdznIx/8J6QFH9Yf1xposzB6ZoC1aE0+nsozO9OjNtYAnixxm1AtmGfltsLPzlSGgtlwUe1ffa7oaZ44dpk57XS+ujbRlGRcs7GM90On1AUj5CK07ZTEA3JiS+6Rv0OQ2TNsS1m0IJvON4/Dvv93fxU8fbpimJ8h+hQwXNtxlH59/5IBBDK9/gMNIf+RhQTiwdOm9mOt5smske90apMlNJouru8rIRlK99kKZMs5+Cz+bGdEFnKKaUjrhDKKdf9NoOSnOF06wccGb0iBM47rlqtJSMV5YBi5JNe6YXbzawjsLcd233ULEWOEGcPuHUdx5wAqNUHkAOPDtgUp84JUI3eUF/UGk3+V0j8iZ8JA6H4fBQI3MGTb9kPfrplBzqO3EFryFhLGO/LddqMdsySknFJk9QAnxxPMTmzBtRCzToELYzPV0bCxtJNJWoQl2oRKAcXVvCytazl6fixVJ+5sg3zOthAPwoUI3Dz51+bs5rDoedwiW6+2vIr3Cyl+zPiK8zb1W8uKLKrazlqaGvput1bcv5MwJMKkbeluHh1xadHXeTP+MBliu6j15OYYcOAOJsTgHohv70U7Gg4uKtH+Z6ihAq1KpdSTXcR4FFZh/f3iP9+GKCjibG4pPOUHsI5pNHiGl+qVEjtLvqcObQDa3pHPDopQm/O9m93C3F1X34zRb9w6X4YMFma+X/Y+Hk5FmRd0BnKnBL8PXvry0Bsl2gPZI2zYTLl5PnvM0GlDC61YvhTay301Y57jPkgkh3U9RkqM04zbOnkDrlb3xaQDradWcKeyJAscjDaEuXh3vpUWcEGJM2gEp9sLn/9X5X5W/0x7Lgl1sCU4uSgd5BUi5X6Gf6mxUaQhFGA+gsCes3+BtrMpCpOXsb4Qei1wOlw4IH3RxpOkxAGu7xU6Z/veEW9EKf6kXvJIjfBhGYhfzqNtYkE+wVCZQVJAGNQ37iVxlYMGZdnCQk8tvfUeijE58PTSaMW0DjAd+S/Tv2JNJxm7kBaj6Ul/LY4m9n7KVIt0FMpXYwgLQLmDW0JMLd9v1VLN9RuOkOiXbvnyFQGJFbuOS/oA/i696NVDloZJD5GdG/JsygCTXn1yJPua06BUj35WGDpIYjXDk7Bl8DvOEbN8xOrGqLAo58FqLsXQZ4YXQPoUfbAF0jCmSo631w7/Gqy0Y6Hf1euav6XloLnU/NOduDMBzD8+4Wcja1zkwgY9pf0Ou7rraqxfwPoSzmitgCr+sVlrz00+db4mA3oyPaCVWSFbiyE0nIA+1D2Gf3UI0hywKsErpA6Uas31xICAqNw8sgOqFVEgov5cJtWDsp3kGoAwD2cjp0FCG9r1kUnQfQdLXil6F88UZlAQA3RrckZY4pGbypyBW/VAvHu2y+22frpfu19e5IANf8N86VxRa0yKJbss9usVGzmaHWsZAER2nZyESxBlrpYntAeLnXcVf26WCglJMBY8onA4WOBkrzbMDUpwsQmw8gLml91yPaW9rPLMefi0VNqbUWmpPPtf5x3K5gJXovzGY03sB2F8XHRiouzcGudzizKBLTjVLkqVQp4Qcd6mv/pmnA5GMOX/DAwhmTE/7yEC6yEyoJz09aN2lOVgH26SoeHB/kavMkyQVhu8rViq34dJhcWmwHr8pUydfq5Fr8+EJF2LOvJ3F9IC5/V3mD8oMkrRLgP6DUcGsloQpb/WWkwe8cwrpa2Oal4ZxZ5jl45ZzdnQ5347RDx6f2/+ryr7LvsnQpqSvvIq+8m36r8dq5uHKgawPbbNilXqkqtW0pGV9yjp+dHA/tM2Nmrs0lrL7ldYwMLK2rmX0FYeXQiH\n39:                       ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n40:  File \"\", line 90, in \n41:RuntimeError: ACTIVE_RUNTIME_DRIFT_AFTER_R4\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-QGA-RCA-050R5-20260917T140951Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1-20260921T174459Z.log|SHA256=1f4e84ffbde2f3aaf5b98baef93a1caa1b40693caf4bb5d669094c5d68cfbcf7|BYTES=1655\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1-20260921T174459Z.log\n7:GIT_CREDENTIAL_CAPABILITY={\"host_present\":true,\"password_present\":true,\"protocol_present\":true,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"username_present\":true}\n8:GIT_LIVE_REMOTE_FIXED={\"head\":\"9c4814db67759dc09a5469d254c41a7b73f4d89a\",\"matches_local\":true,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}\n9:PVESM_STATUS_FALSE_POSITIVE=true\n10:PVESM_STATUS_BASELINE={\"identical\":true,\"preflight399_rc\":255,\"reconcile410_rc\":255,\"stderr_sha256\":\"392a23116a78a702472c91f3d369a097fc3e924b89800aa3a8b26910c9f685ec\"}\n11:RESTORE_STORAGE_FIXED_PROOF={\"avail\":774342520184,\"pvesh_active\":true,\"pvesm_path_rc\":0,\"pvesm_path_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"pvesm_path_stdout_sha256\":\"928a78ed5937a1f1f59efc2985b4a2152483fb99c1a68d9c2d9ad9cd971ba73f\",\"storage\":\"local-lvm\",\"total\":869168840704,\"type\":\"lvmthin\"}\n12:Traceback (most recent call last):\n13:  File \"\", line 1, in \n14:    import base64,hashlib,sys,zlib;d=zlib.decompress(base64.b64decode(sys.argv[1]));assert hashlib.sha256(d).hexdigest()==sys.argv[2];exec(compile(d,\"\",\"exec\"))\n15:                                                                                                                                      ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n16:  File \"\", line 155, in \n17:  File \"\", line 24, in require\n18:RuntimeError: BACKUP_LOCK_PRESENT\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1-20260921T174459Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1-20260920T201822Z.log|SHA256=d1656c50546c728452fb061c7b2afa811337f9e875e7285052aa16f93b58ee74|BYTES=2984\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1-20260920T201822Z.log\n4:MUTATION_BOUNDARY=STAGING_ONLY\n5:PRODUCTION_HOST_PRE={\"all_link_down\":false,\"lock\":null,\"name\":\"pvepro-prod\",\"operational_fp\":\"2aba9f764ff0efacd2da02f09826374f877e1b073775cb725ebcf9d9177e8c65\",\"snapshots\":[],\"status\":\"running\",\"vmstate\":null}\n6:STAGING_HOST_PRE={\"all_link_down\":true,\"lock\":null,\"name\":\"pvepro-staging-v1\",\"operational_fp\":\"3ced80db133c962002b31854817a229aa7bca064fe63990884c12c1618db4bf6\",\"snapshots\":[],\"status\":\"stopped\",\"vmstate\":null}\n7:PRODUCTION_APP_PRE={\"boardActive\":\"1\",\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":20,\"forumCount\":12,\"indexRoute\":\"portal/\",\"members\":{\"addon_id\":\"XF\",\"display_order\":600,\"enabled\":1,\"navigation_id\":\"members\",\"navigation_type_id\":\"basic\",\"parent_navigation_id\":\"\"},\"node1\":{\"display_in_list\":1,\"display_order\":1,\"lft\":1,\"node_id\":1,\"node_type_id\":\"Category\",\"parent_node_id\":0,\"rgt\":4,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},\"node1Children\":1,\"node2\":{\"display_in_list\":1,\"display_order\":1,\"lft\":2,\"node_id\":2,\"node_type_id\":\"Forum\",\"parent_node_id\":1,\"rgt\":3,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"},\"node2Children\":0,\"node2Posts\":0,\"node2Threads\":0,\"nodeCount\":18,\"portalAddonRows\":1,\"portalRouteRows\":1,\"portalTemplateRows\":2,\"postCount\":44,\"threadCount\":44}\n8:FRESH_STAGING_SNAPSHOT_CREATED=true\n9:NAVIGATION_STRUCTURE_STAGING_ERROR_CLASS=RuntimeError\n10:NAVIGATION_STRUCTURE_STAGING_ERROR_SHA256=495dfb97f24893e5e61b6a539b1dce525b76001c7485f07fabc5f65bc33193b3\n11:ROLLBACK_ERROR_CLASS=RuntimeError\n12:ROLLBACK_ERROR_SHA256=da52bf5e16c10dcd9a1eb5e197096d278bf01293bf286b843e243c9b3e93eaf5\n13:PRODUCTION_APP_AFTER_FAILURE={\"boardActive\":\"1\",\"defaultLanguageId\":\"2\",\"defaultStyleId\":\"2\",\"errors\":20,\"forumCount\":12,\"indexRoute\":\"portal/\",\"members\":{\"addon_id\":\"XF\",\"display_order\":600,\"enabled\":1,\"navigation_id\":\"members\",\"navigation_type_id\":\"basic\",\"parent_navigation_id\":\"\"},\"node1\":{\"display_in_list\":1,\"display_order\":1,\"lft\":1,\"node_id\":1,\"node_type_id\":\"Category\",\"parent_node_id\":0,\"rgt\":4,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u0430\\u044f \\u043a\\u0430\\u0442\\u0435\\u0433\\u043e\\u0440\\u0438\\u044f\"},\"node1Children\":1,\"node2\":{\"display_in_list\":1,\"display_order\":1,\"lft\":2,\"node_id\":2,\"node_type_id\":\"Forum\",\"parent_node_id\":1,\"rgt\":3,\"title\":\"\\u041e\\u0441\\u043d\\u043e\\u0432\\u043d\\u043e\\u0439 \\u0444\\u043e\\u0440\\u0443\\u043c\"},\"node2Children\":0,\"node2Posts\":0,\"node2Threads\":0,\"nodeCount\":18,\"portalAddonRows\":1,\"portalRouteRows\":1,\"portalTemplateRows\":2,\"postCount\":44,\"threadCount\":44}\n14:TASK_RESULT=PVEPRO_NAVIGATION_STRUCTURE_STAGING_CLEANUP_FAILED\n15:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1\",\"rollback_restored\":false,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1-20260920T201822Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z-20260806T001948Z.log|SHA256=4e48bed08b9745291f28aa16054f3c5da12062ecd7e60175462ac5a26cae8292|BYTES=2367\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z-20260806T001948Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z\",\"command_rc\":1,\"control_plane_error\":null,\"mutation_outcome\":\"ROLLED_BACK\",\"rc\":1,\"report_bytes\":1958,\"report_sha256\":\"8a807a9aac198ab0d18f80ebe9f5e7684f1d5f908c198477340d9f2459e0b85f\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z\",\"error\":\"RuntimeError: new routes absent from OpenAPI\",\"error_type\":\"RuntimeError\",\"mutation_outcome\":\"ROLLED_BACK\",\"remote\":{\"backup\":\"/var/backups/homelab-cluster-admin/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z/incident-engine-app.py\",\"candidate_sha256\":\"26787f335382f6d6beff9a31a185e4998f50f91eed9b8b94831619c5a87a9647\",\"changed\":false,\"error\":\"RuntimeError: new routes absent from OpenAPI\",\"original_sha256\":\"17d95ebfc28cef34846a8999664019d5d032ee8176b7fedd9ceeebfc5c97e3b6\",\"rollback_errors\":[],\"service_after_rollback\":{\"ActiveState\":\"active\",\"ExecMainStatus\":\"0\",\"ExecStart\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[Thu 2026-08-06 00:19:50 UTC] ; stop_time=[n/a] ; pid=2125508 ; code=(null) ; status=0/0 }\",\"FragmentPath\":\"/etc/systemd/system/cluster-admin-incident-engine.service\",\"LoadState\":\"loaded\",\"MainPID\":\"2125508\",\"Result\":\"success\",\"SubState\":\"running\",\"UnitFileState\":\"enabled\",\"WorkingDirectory\":\"/opt/cluster-admin-incident-engine\"},\"service_before\":{\"ActiveState\":\"active\",\"ExecMainStatus\":\"0\",\"ExecStart\":\"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }\",\"FragmentPath\":\"/etc/systemd/system/cluster-admin-incident-engine.service\",\"LoadState\":\"loaded\",\"MainPID\":\"487\",\"Result\":\"success\",\"SubState\":\"running\",\"UnitFileState\":\"enabled\",\"WorkingDirectory\":\"/opt/cluster-admin-incident-engine\"},\"status\":\"FAILED_ROLLED_BACK\"},\"rollback_errors\":[],\"rollback_restored\":true,\"rollback_started\":true,\"schema\":42,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z-20260806T001948Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log|SHA256=c47bdfa91624238252fdc751e1a53a4637111bfc4d66794ca15b65d122a3b87d|BYTES=10695\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log\n3:MODE=change\n4:COMPONENT=homelab-backup-due-policy-fix-refresh\n5:MUTATION_BOUNDARY=CANONICAL_ACTIVE_VM_DUE_POLICY_86400_TO_72000_PLUS_TARGETED_BACKUPV2_REFRESH;NO_APP_BACKUP;NO_VPS_BACKUP;NO_XENFORO_BACKUP;NO_GC;NO_MAIL;NO_GIT_WRITE;NO_LOCK_BREAK\n6:IDENTITY_GATES=PASS\n7:TIMER_PRESTATE={\"active\":true,\"enabled\":true}\n8:OWNER_WAIT={\"clear_stable\":1,\"elapsed_seconds\":0,\"heavy_lock_free\":true,\"state\":{\"active\":\"inactive\",\"exec_main_status\":0,\"mainpid\":0,\"result\":\"success\",\"sub\":\"dead\"}}\n9:OWNER_WAIT={\"clear_stable\":2,\"elapsed_seconds\":10,\"heavy_lock_free\":true,\"state\":{\"active\":\"inactive\",\"exec_main_status\":0,\"mainpid\":0,\"result\":\"success\",\"sub\":\"dead\"}}\n10:HEAVY_LOCK_OWNED_BY_1108=true\n11:SELFTEST_REPLACEMENT486=PASS\n12:TARGETS_SHA256_BEFORE=a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38\n13:ACTIVE_VM_CANONICAL={\"110\":\"ct110\",\"111\":\"ct111\",\"112\":\"ct112\",\"113\":\"ct113\",\"130\":\"vm130\",\"150\":\"vm150\",\"160\":\"vm160\",\"170\":\"vm170\",\"171\":\"vm171\",\"190\":\"vm190\",\"9130\":\"vm9130\"}\n14:POLICY_PATCH=[{\"after\":72000,\"before\":86400,\"logical_id\":\"ct110\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"ct111\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"ct112\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"ct113\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm130\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm150\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm160\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm170\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm171\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm190\"},{\"after\":72000,\"before\":86400,\"logical_id\":\"vm9130\"}]\n15:TARGETS_SHA256_AFTER=aa4a75455bbfe92afaf666e8d404b35c5b41e70bc014e770c9301865ee84e221\n16:EFFECTIVE_ACTIVE_VM_POLICY=[{\"due_seconds\":72000,\"logical_id\":\"ct110\",\"vmid\":110},{\"due_seconds\":72000,\"logical_id\":\"ct111\",\"vmid\":111},{\"due_seconds\":72000,\"logical_id\":\"ct112\",\"vmid\":112},{\"due_seconds\":72000,\"logical_id\":\"ct113\",\"vmid\":113},{\"due_seconds\":72000,\"logical_id\":\"vm130\",\"vmid\":130},{\"due_seconds\":72000,\"logical_id\":\"vm150\",\"vmid\":150},{\"due_seconds\":72000,\"logical_id\":\"vm160\",\"vmid\":160},{\"due_seconds\":72000,\"logical_id\":\"vm170\",\"vmid\":170},{\"due_seconds\":72000,\"logical_id\":\"vm171\",\"vmid\":171},{\"due_seconds\":72000,\"logical_id\":\"vm190\",\"vmid\":190},{\"due_seconds\":72000,\"logical_id\":\"vm9130\",\"vmid\":9130}]\n17:OVERLAY_SELFTEST={\"output_sha256\":\"52a58722c943e42fe5d8c633ff6c1301058a1b494d94162a8062ff32e3e86aa2\",\"status\":\"PASS\"}\n18:RPO_BEFORE_REFRESH=[{\"age_seconds\":86256,\"generation\":\"v2-ct112-20260920T214958Z-30e3291e1543\",\"logical_id\":\"ct112\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":112},{\"age_seconds\":84091,\"generation\":\"v2-ct113-20260920T222532Z-4f4a608def82\",\"logical_id\":\"ct113\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":113},{\"age_seconds\":78699,\"generation\":\"v2-vm130-20260920T233759Z-c9518c8be2c3\",\"logical_id\":\"vm130\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":130},{\"age_seconds\":81985,\"generation\":\"v2-vm150-20260920T230035Z-e0880e47ea55\",\"logical_id\":\"vm150\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":150},{\"age_seconds\":77232,\"generation\":\"v2-vm160-20260921T001432Z-31df1acfee7a\",\"logical_id\":\"vm160\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":160},{\"age_seconds\":75455,\"generation\":\"v2-vm171-20260921T004759Z-537db1552014\",\"logical_id\":\"vm171\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":171},{\"age_seconds\":73193,\"generation\":\"v2-vm190-20260921T012544Z-298b64987988\",\"logical_id\":\"vm190\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"STALE\",\"vmid\":190}]\n19:RPO_STALE_COUNT_BEFORE_REFRESH=7\n41:TARGET_REFRESH_END={\"elapsed_seconds\":235,\"iteration\":7,\"result\":{\"allocator_healthy\":13,\"generation\":\"v2-vm190-20260921T223421Z-1f4f2306e4e0\",\"logical_id\":\"vm190\",\"payload_bytes\":1632550425,\"replicas\":2,\"result\":\"SUCCESS\"}}\n42:RPO_AFTER_REFRESH=[]\n43:RPO_STALE_COUNT_AFTER=0\n44:ACTIVE_VM_STATE_AFTER=[{\"age_seconds\":7788,\"generation\":\"v2-ct110-20260921T202514Z-1c872adccfab\",\"logical_id\":\"ct110\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":110},{\"age_seconds\":7641,\"generation\":\"v2-ct111-20260921T202833Z-208ada4fafce\",\"logical_id\":\"ct111\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":111},{\"age_seconds\":2883,\"generation\":\"v2-ct112-20260921T214852Z-cd43a8d672fe\",\"logical_id\":\"ct112\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":112},{\"age_seconds\":2800,\"generation\":\"v2-ct113-20260921T215013Z-af1017371806\",\"logical_id\":\"ct113\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":113},{\"age_seconds\":1088,\"generation\":\"v2-vm130-20260921T215355Z-2425c616d2e0\",\"logical_id\":\"vm130\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":130},{\"age_seconds\":2661,\"generation\":\"v2-vm150-20260921T215136Z-b85020c7d3e4\",\"logical_id\":\"vm150\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":150},{\"age_seconds\":519,\"generation\":\"v2-vm160-20260921T222008Z-7c82c237c154\",\"logical_id\":\"vm160\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":160},{\"age_seconds\":71416,\"generation\":\"v2-vm170-20260921T023516Z-53ad6a6b10f9\",\"logical_id\":\"vm170\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":170},{\"age_seconds\":235,\"generation\":\"v2-vm171-20260921T222937Z-3e5e94c908e8\",\"logical_id\":\"vm171\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":171},{\"age_seconds\":0,\"generation\":\"v2-vm190-20260921T223421Z-1f4f2306e4e0\",\"logical_id\":\"vm190\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":190},{\"age_seconds\":64819,\"generation\":\"v2-vm9130-20260921T041152Z-ab9908f2946f\",\"logical_id\":\"vm9130\",\"replica_count\":2,\"result\":\"SUCCESS\",\"state\":\"FRESH\",\"vmid\":9130}]\n45:REFRESH_HISTORY=[{\"elapsed_seconds\":81,\"iteration\":1,\"logical_id\":\"ct112\",\"vmid\":112},{\"elapsed_seconds\":83,\"iteration\":2,\"logical_id\":\"ct113\",\"vmid\":113},{\"elapsed_seconds\":139,\"iteration\":3,\"logical_id\":\"vm150\",\"vmid\":150},{\"elapsed_seconds\":1572,\"iteration\":4,\"logical_id\":\"vm130\",\"vmid\":130},{\"elapsed_seconds\":568,\"iteration\":5,\"logical_id\":\"vm160\",\"vmid\":160},{\"elapsed_seconds\":284,\"iteration\":6,\"logical_id\":\"vm171\",\"vmid\":171},{\"elapsed_seconds\":235,\"iteration\":7,\"logical_id\":\"vm190\",\"vmid\":190}]\n46:HEAVY_LOCK_RELEASED=true\n47:TIMER_POSTSTATE={\"active\":true,\"enabled\":true}\n48:POLICY_ALIGNMENT=CANONICAL_ACTIVE_VM_DUE_72000_EQUALS_RPO_72000\n49:DECISION=RPO_CLEAR_FINAL_CLOSURE_ALLOWED\n50:TASK_RESULT=PASS_HOMELAB_BACKUP_DUE_POLICY_FIX_REFRESH\n51:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n52:WORKERS2_DUE_POLICY_FIX_REFRESH_END=1\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2-20260920T001845Z.log|SHA256=c710cc01e97c437dde1f87f2788d724889e53d913c6883dfb59b773717c0b6a6|BYTES=1532\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2-20260920T001845Z.log\n34:PHP_OUTPUT_END\n35:STAGE_PREFLIGHT_OUTPUT_END\n36:STAGE_IMPORT_PREFLIGHT_OK=true\n37:STAGE_SNAPSHOT_RC=0\n38:STAGE_XML_TRANSFER_RC=255\n39:RUSSIAN_CORE_ERROR=RuntimeError:STAGE_XML_TRANSFER\n40:ROLLBACK_PRODUCTION_RESTORED=true\n41:ROLLBACK_STAGING_RESTORED=true\n42:TASK_RESULT=PVEPRO_V1_RUSSIAN_CORE_FAILED_ROLLED_BACK\n43:HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2\",\"status\":\"FAIL\",\"changes_made\":true,\"rollback_started\":true,\"rollback_restored\":true}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2-20260920T001845Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6-20260908T161249Z.log|SHA256=4248a85987d577736cb9af552da129250abd2334714d2d3c6c457b3cba3df38b|BYTES=6406\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6-20260908T161249Z.log\n5:SB043A6_RUNNER_ROLLBACK_RULES=OK\n6:SB043A6_QGA_BYTES={\"activation\":23412,\"limit\":921600,\"probe\":1507}\n7:SB043A6_VM170_CLUSTER={\"name\":\"core-apps\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\"}\n8:SB043A6_PREMUTATION_GOLDEN={\"expected_new_experiment_id\":\"7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960\",\"expected_new_runtime_manifest_id\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\",\"experiment_changed_keys\":[\"code_identity\",\"collection_start_at\",\"experiment_id\",\"runtime_manifest_id\"],\"experiment_class\":{\"end_lineno\":175,\"lineno\":43,\"module\":\"demonov_forward_map.live_prospective\",\"source_sha256\":\"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98\"},\"experiment_old_reproduced\":true,\"new_collection_start_at\":\"2026-09-09T00:00:00+00:00\",\"new_experiment_id\":\"7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960\",\"new_package_identity\":\"177ddb229c5bc4376b5f75948ed9467edac55db60b6880ad0cb662758702d34b\",\"new_runtime_manifest_id\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\",\"runtime_manifest_old_reproduced\":true}\n9:SB043A6_DEPLOY_INTENT_SHA256=420891e89ee2807d830db7488eea13b5e1cb3de6216248a782acd333cc7b2741\n10:SB043A6_ERROR=RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY\n11:SB043A6_ROLLBACK={\"compose_old_rc\":0,\"env_restored\":true,\"failed_epoch\":\"/opt/stacks/8020-demonov-shadow/data/failed/7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960-SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6\",\"old_epoch_scientific_continuity\":\"INVALIDATED_BY_CUTOVER\",\"old_services_restored\":true,\"reason\":\"RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY\",\"services\":[{\"id\":\"fb2ea07fbdc5\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"worker\"},{\"id\":\"11e755ced086\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\"},{\"id\":\"94cd3b1db919\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"relay\"},{\"id\":\"c05448fb766e\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"collector\"}]}\n12:SB043A6_GUEST_DECISION=ROLLED_BACK\n13:SB043A6_ACTIVATION_QGA={\"rc\":3,\"stderr_present\":false}\n14:SB043A6_INDEPENDENT_POSTSTATE={\"activation_dir_exists\":true,\"env\":{\"APP_IMAGE\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"CODE_IDENTITY\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"COLLECTION_START_AT\":\"2026-09-07T00:00:00+00:00\",\"EXPERIMENT_ID\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"RUNTIME_MANIFEST_ID\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"result\":{\"changes_made\":true,\"collection_start_at\":\"2026-09-09T00:00:00+00:00\",\"command_id\":\"SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6\",\"new_experiment_id\":\"7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960\",\"new_runtime_manifest_id\":\"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389\",\"poststate\":null,\"reason\":\"RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY\",\"rollback\":{\"compose_old_rc\":0,\"env_restored\":true,\"failed_epoch\":\"/opt/stacks/8020-demonov-shadow/data/failed/7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960-SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6\",\"old_epoch_scientific_continuity\":\"INVALIDATED_BY_CUTOVER\",\"old_services_restored\":true,\"reason\":\"RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY\",\"services\":[{\"id\":\"fb2ea07fbdc5\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"worker\"},{\"id\":\"11e755ced086\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\"},{\"id\":\"94cd3b1db919\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"relay\"},{\"id\":\"c05448fb766e\",\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"collector\"}]},\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"ROLLED_BACK\",\"ts_utc\":\"2026-09-08T16:13:30.709680+00:00\"},\"services\":[{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"worker\",\"started_at\":\"2026-09-08T16:13:24.651452057Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\",\"started_at\":\"2026-09-08T16:13:24.622406089Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"relay\",\"started_at\":\"2026-09-08T16:13:24.580556381Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"collector\",\"started_at\":\"2026-09-08T16:13:24.5384991Z\"}]}\n15:SB043A6_HOLDS=[\"ROLLBACK_RESTORED\"]\n16:SB043A6_DECISION=ACTIVATION_FAILED_ROLLBACK_RESTORED\n17:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6-20260908T161249Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158-20260919T203531Z.log|SHA256=97810d1b2a4ebdd78245e6973bfc06db36a80854e201590f59f38797863af433|BYTES=350\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158-20260919T203531Z.log\n1:NEWFI158_BEGIN=true\n2:COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158\n3:NEWFI158_ERROR=RuntimeError_4d60c67a25232b60cfe91b5800f12bdfb95b707a3e576d2ab566498a60b10b8a\n4:HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158-20260919T203531Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z-20260805T130801Z.log|SHA256=2a7ec04b2e7036e6cc5751216e516b7d78ef56dc135326379580ef58dbc66a29|BYTES=12076\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z-20260805T130801Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z\",\"command_rc\":0,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n2:{\"bounded_adapter_scan\":null,\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z\",\"command_rc\":0,\"evidence_bundle\":{\"bundle_bytes_ok\":true,\"bundle_sha256_ok\":true,\"exists\":true,\"member_count\":6,\"output_member_matches\":0,\"path_is_exact_from_previous_result\":true,\"runner_json_member_matches\":1,\"runner_text_member_matches\":1,\"unsafe_member_rejected\":false},\"files_written\":false,\"mutation_outcome\":\"NO_MUTATION\",\"network_requests_made\":false,\"next_action\":\"RUN_ONE_READ_ONLY_GITEA_DEFINED_CLUSTER_FACT_AND_DOCUMENT_GAP_ANALYSIS\",\"output_truncated_in_json\":false,\"pre_command_known_error_gate\":{\"checked\":true,\"count\":28,\"ids\":[\"candidate-file-limit-600-20260805\",\"runner-wrapper-mismatch-after-success-20260805\",\"canonical-cluster-handbook-ambiguous-20260805\",\"pvesh-adapter-context-unreadable-20260805\",\"homelab-ops-bare-repository-not-found-local-20260805\",\"gitea-network-fallback-stage-not-emitted-20260805\",\"gitea-owner-hardcoded-homelab-admin-20260805\",\"gitea-git-auth-required-or-credential-unavailable-20260805\",\"gitea-process-self-match-payload-name-20260805\",\"sanitize-bool-attributeerror-20260805\",\"reader-v3-path-misclassified-as-route-20260805\",\"reader-v3-loopback-assumption-20260805\",\"reader-v3-capability-not-treated-as-secret-20260805\",\"reader-v3-systemd-unit-fed-to-python-ast-20260805\",\"reader-v3-helper-control-flow-not-traced-20260805\",\"reader-v3-post-capability-operation-not-derived-20260805\",\"reader-v3-detected-operations-not-tested-20260805\",\"reader-v3-manifest-global-not-bound-in-sandbox-20260805\",\"reader-v3-result-file-second-source-not-read-20260805\",\"reader-v3-negative-control-mixed-with-production-20260805\",\"reader-v3-manifest-schema-guessed-20260805\",\"reader-result-output-bound-after-compaction-20260805\",\"reader-v3-generation-record-shape-guessed-20260805\",\"reader-v3-result-file-assumed-standalone-json-20260805\",\"reader-v3-gitea-detail-marker-false-inventory-20260805\",\"reverse-proxy-runtime-not-visible-on-host-20260805\",\"gitea-public-owner-not-anonymously-discoverable-20260805\",\"exact-output-long-line-not-projectable-by-portal-view-20260805\"]},\"projection\":{\"analysis_outcome\":{\"error_fingerprint\":\"26d65952ac8f64197a6fd76ec56e3b5ffda8c4838efe2af2947a603d01270b92\",\"next_action\":\"RUN_ONE_READ_ONLY_GITEA_DEFINED_CLUSTER_FACT_AND_DOCUMENT_GAP_ANALYSIS\",\"ready_for_gitea_defined_cluster_fact_analysis\":true,\"root_cause_classification\":\"GITEA_CLUSTER_HANDBOOK_AND_ERROR_SYSTEM_DEEPLY_ANALYZED\",\"status\":\"OK\"},\"canonical_handbook\":{\"candidates\":[{\"canonical_phrase_hits\":3,\"canonical_score\":227,\"content_sha256\":\"8051e3e761493a1b7088a0f3ed7e0aa9218673f453ca88171178364d26701f64\",\"headings\":[],\"inbound_reference_count\":8,\"path\":\"errors/regression-cases.json\"},{\"canonical_phrase_hits\":0,\"canonical_score\":74,\"content_sha256\":\"a49bcb32ac7212d7fb9768db8a277cb5525c873c84dd6fb633edae35dc6de532\",\"headings\":[],\"inbound_reference_count\":0,\"path\":\"tasks/cluster-cloud-quorum-vm160-canary-v1/phases/preflight.sh\"},{\"canonical_phrase_hits\":1,\"canonical_score\":56,\"content_sha256\":\"ac5dc881dcd9fcb72644bc893e866f463c9c2b9b4544e32434e21b5d34168fb5\",\"headings\":[],\"inbound_reference_count\":1,\"path\":\"inventory/access-paths.json\"},{\"canonical_phrase_hits\":0,\"canonical_score\":55,\"content_sha256\":\"666072447ba11d346772f62f274dadc974c4463e20f67e67f82f228f1fcf2ce8\",\"headings\":[],\"inbound_reference_count\":0,\"path\":\"tasks/cluster-cloud-quorum-vm160-canary-v1/phases/rollback.sh\"},{\"canonical_phrase_hits\":0,\"canonical_score\":54,\"content_sha256\":\"636254d2526f0f62184d47cdb4c30c2831b11869c2000c557666f60b55d7691b\",\"headings\":[],\"inbound_reference_count\":0,\"path\":\"tasks/cluster-cloud-quorum-vm160-canary-v1/task.json\"}],\"path\":\"errors/regression-cases.json\",\"status\":\"UNIQUE_CONFIRMED\"},\"documentation_coverage\":{\"access\":{\"file_count\":22,\"paths\":[\"changes/CR-2026-0018/regression-cases-draft.json\",\"docs/planned/skladchik-moderator-assistant.md\",\"errors/regression-cases.json\",\"inventory/access-paths.json\",\"tasks/cluster-\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z-20260805T130801Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-PUBLISHER-RESTORE-CLOSEOUT-202-20260722T134716Z.log|SHA256=dde48f85d2055be98a15b781774b58654934a8dbad202028b8dad807e8b47aa7|BYTES=585\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-PUBLISHER-RESTORE-CLOSEOUT-202-20260722T134716Z.log\n1:validation=PASS\n2:Traceback (most recent call last):\n3:  File \"\", line 1, in \n4:    import re,pathlib,sys;p=pathlib.Path(sys.argv[1]).read_text();m=re.search(r\"(?m)^.*\\bcat\\b[^\\n]*<<-?[ \\t]*([\\\"\\x27]?)([A-Za-z_][A-Za-z0-9_]*)\\1[^\\n]*\\n\",p);assert m;d=m.group(2);s=m.end();e=re.search(r\"(?m)^\\t*\"+re.escape(d)+r\"[ \\t]*$\",p[s:]);assert e;pathlib.Path(sys.argv[2]).write_text(p[s:s+e.start()])\n5:                                                                                                                                                                       ^\n6:AssertionError\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-PUBLISHER-RESTORE-CLOSEOUT-202-20260722T134716Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z-20260731T080429Z.log|SHA256=4d5a019c5e832c7c70156cb62a47325f19e96fc59da65f6c795f3a4494d1d283|BYTES=658\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z-20260731T080429Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z\",\"error\":\"RuntimeError: Gitea clone failed rc=128 Cloning into '/tmp/gram1-site-dossier-v3-mwkj3yow/repo'...\\nfatal: could not read Username for 'https://git.gram1.ru': terminal prompts disabled\\n\",\"gitea_changed\":false,\"mutation_outcome\":\"NO_MUTATION\",\"production_site_changed\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z-20260731T080429Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z-20260730T160710Z.log|SHA256=0d5dcb323f85974a9010cdd3edf9428f1d4536c6c8aedc55efadc15802160d0a|BYTES=469\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z-20260730T160710Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z\",\"error\":\"RuntimeError: V3 package hash mismatch: phases/rollback.sh\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z-20260730T160710Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8-20260918T185739Z.log|SHA256=e8ec9c45af63e271bab943a405e2123124e6bf50515891e1d3fc59625defe344|BYTES=373\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8-20260918T185739Z.log\n1:NEWFI93R8_BEGIN\n2:COMMAND_ID=NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8\n3:NEWFI93R8_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"b87bf90703e3471c05d6d2b0cb228e9b691ffe4f\",\"remote\":\"origin\"}\n4:NEWFI93R8_SAFE_REPORT={\"changes_made\":false,\"decision\":\"FAIL_ACCESS203_AUDIT_HOLD\",\"error\":\"RuntimeError:GUEST_FAIL:pve03:RuntimeError:STAGING_ERROR_BASE\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8-20260918T185739Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1-20260921T053822Z.log|SHA256=3a41fc0f695ad6b28d64fb5afacb5fb71169c697b9cad335d5a7afbef2584217|BYTES=7626\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1-20260921T053822Z.log\n9:FRESH_STAGING_SNAPSHOT_CREATED=true\n10:STAGING_APP_PRE={\"addon\":null,\"boardActive\":\"0\",\"defs\":[],\"entries\":[],\"errors\":16,\"jobs\":[],\"mods\":[],\"posts\":44,\"siteId\":\"\",\"src_addon\":0,\"src_js\":0,\"tables\":[],\"threads\":44}\n11:PERMISSION_REBUILD={\"iterations\":1,\"remaining\":0}\n12:STAGING_STATE_AFTER_INSTALL={\"addon\":{\"active\":1,\"version_id\":1000120},\"boardActive\":\"0\",\"defs\":[{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\"},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\"}],\"entries\":[{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":2,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":2,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":2,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":2,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":3,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\",\"permission_value\":\"allow\",\"permission_value_int\":0,\"user_group_id\":4,\"user_id\":0}],\"errors\":16,\"jobs\":[],\"mods\":[{\"action\":\"str_replace\",\"enabled\"\n13:RENDER_DIAGNOSTIC={\"candidates\":[\"[PRIVATE_IP]\"],\"listeners\":[],\"samples\":[{\"/\":{\"attempts\":[{\"ip\":\"[PRIVATE_IP]\",\"marker\":true,\"rc\":7,\"stderr_sha256\":\"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155\",\"stdout_bytes\":31}],\"ok\":false},\"/support/\":{\"attempts\":[{\"ip\":\"[PRIVATE_IP]\",\"marker\":true,\"rc\":7,\"stderr_sha256\":\"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155\",\"stdout_bytes\":39}],\"ok\":false},\"/support/create/\":{\"attempts\":[{\"ip\":\"[PRIVATE_IP]\",\"marker\":true,\"rc\":7,\"stderr_sha256\":\"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155\",\"stdout_bytes\":46}],\"ok\":false}},{\"/\":{\"attempts\":[{\"ip\":\"[PRIVATE_IP]\",\"marker\":true,\"rc\":7,\"stderr_sha256\":\"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155\",\"stdout_bytes\":31}],\"ok\":false},\"/support/\":{\"attempts\":[{\"ip\":\"[PRIVATE_IP]\",\"marker\":true,\"rc\":7,\"stderr_sha256\":\"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155\",\"stdout_bytes\":39}],\"ok\":false},\"/support/create/\":{\"attempts\":[{\"ip\":\"[PRIVATE_IP]\",\"marker\":true,\"rc\":7,\"stderr_sha256\":\"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155\",\"stdout_bytes\":46}],\"ok\":false}}]}\n14:GRAM_SUPPORT_STAGING_ERROR_CLASS=RuntimeError\n15:GRAM_SUPPORT_STAGING_ERROR_SHA256=9ccfb75701764360e540920a4bb1a16ddf8d04868795ce4f26b4a760bbe7e1ec\n16:ROLLBACK_STARTED=true\n17:ROLLBACK_RESTORED=true\n18:NO_PRODUCTION_MUTATION_EXPECTED=true\n19:PRODUCT_CHECKPOINTS_REMAINING=14\n20:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14\n21:TASK_RESULT=PVEPRO_GRAM_SUPPORT_STAGING_INSTALL_PERMISSION_LIFECYCLE_FAILED\n22:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1\",\"rollback_restored\":true,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1-20260921T053822Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5-20260918T231533Z.log|SHA256=4546f98b6505459b8e52f7831efcc82e11daa870e1d49176af844006eec58ab1|BYTES=693\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5-20260918T231533Z.log\n3:NEWFI119R5_FORUM_ROUTE_PRECHECK={\"policy\":\"HTTP_200_OR_403\",\"routes\":7}\n4:NEWFI119R5_PUBLIC_PRECHECK=PASS\n5:NEWFI119R5_PREMUTATION=PASS\n6:NEWFI119R5_PRESAVE_2OF2=PASS\n7:NEWFI119R5_BACKUPS_2OF2=PASS\n8:NEWFI119R5_SAFE_REPORT={\"changes_made\":true,\"decision\":\"FAIL_CONTENT207_HOLD\",\"error\":\"RuntimeError:GUEST:staging:RuntimeError:CMD:1:354691e8b9555b4fdb672c0c285308a700ac56ca9c8b459a11aa01375fbf152e\",\"rollback_restored\":false,\"rollback_started\":true}\n9:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5\",\"rollback_restored\":false,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5-20260918T231533Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/KOW-260907-CSPPWA2-20260907T135818Z.log|SHA256=2b3d938bf9bd6ae7956bdcfb1c46c94467f0aeb06917ef9ee57e8d0ae423582c|BYTES=1081\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/KOW-260907-CSPPWA2-20260907T135818Z.log\n18:KOWPWA2_SW_CREATE_OBJECT_URL_COUNT=0\n19:KOWPWA2_SW_WORKER_CONSTRUCTOR_COUNT=0\n20:KOWPWA2_WEBMANIFEST_HTTP=200\n21:KOWPWA2_MANIFEST_REF_COUNT=6\n22:KOWPWA2_MANIFEST_REF_ORIGINS=SELF\n23:KOWPWA2_ERROR_CLASS=RuntimeError\n24:KOWPWA2_ERROR=SUBPROCESS_FAILED\n25:KOWPWA2_STATUS=FAIL\n26:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"KOW-260907-CSPPWA2\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/KOW-260907-CSPPWA2-20260907T135818Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/RESULT-API-PLAN-20260727T080229Z-20260727T080324Z.log|SHA256=68ad58daa2047e58029205572c05dce673c3091831bbe301b95a779fad124081|BYTES=714\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/RESULT-API-PLAN-20260727T080229Z-20260727T080324Z.log\n1:Traceback (most recent call last):\n2:  File \"/var/lib/homelab-command-adapter/capsules/97a6dc8d4353d4f414a2c6eab15ceb2f6f8344c1f15265673cbbc62fe735155b/payload/result_api_plan.py\", line 1298, in \n3:    raise SystemExit(main())\n4:                     ~~~~^^\n5:  File \"/var/lib/homelab-command-adapter/capsules/97a6dc8d4353d4f414a2c6eab15ceb2f6f8344c1f15265673cbbc62fe735155b/payload/result_api_plan.py\", line 999, in main\n6:    module.verify_result_signing_material()\n7:    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^\n8:  File \"/tmp/tmppaqxv0uy/adapter.py\", line 1343, in verify_result_signing_material\n9:result_api_adapter_candidate.AdapterError: result signing material permissions invalid: /tmp/tmppaqxv0uy/keys/private.pem\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/RESULT-API-PLAN-20260727T080229Z-20260727T080324Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2-20260919T174047Z.log|SHA256=ab4b59d06532fc573ca1a27ebf633b57670106e737a9de650d785bffa63b4d41|BYTES=1155\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2-20260919T174047Z.log\n1:NEWFI146R2_BEGIN=true\n2:COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2\n3:NEWFI146R2_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"head\":\"2593a54c0da4c7f5738381f28b2855fdaf1c6804\",\"remote_head\":\"2593a54c0da4c7f5738381f28b2855fdaf1c6804\",\"clean\":true}\n4:NEWFI146R2_CLUSTER={\"vmid\":211,\"node\":\"pve03\",\"status\":\"running\"}\n5:NEWFI146R2_STAGING={\"command_id\":\"NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2\",\"role\":\"staging\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null,\"mutation_outcome\":\"NO_MUTATION\",\"error_type\":\"RuntimeError\",\"error_sha256\":\"784322e11e06748ef5395120dd02dfa57d1f4e32ab93a2fb81d413482f689c73\",\"observed_after_failure\":{\"residue_present\":true,\"quarantine_present\":false,\"item_tables\":[\"xf_newfi_autocontent_item\",\"xf_newfi_autocontent_item__conflict\"],\"errors_count\":24,\"errors_max\":56},\"qga_exitcode\":3}\n6:NEWFI146R2_ERROR=ValueError_8593865992175f58b1195e854a0ddc466ff40bfbe72b3b24892ebb9fc40ee766\n7:HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2-20260919T174047Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-IMMUTABLE-PER-FILE-RECONCILE-128-20260721T192652Z.log|SHA256=7a12ebc45debe76d36dc95f174c6f0ce9159a686d93862cfea3877cdd294e1ec|BYTES=26440\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-IMMUTABLE-PER-FILE-RECONCILE-128-20260721T192652Z.log\n1:Traceback (most recent call last):\n2:  File \"\", line 1, in \n3:    import base64; exec(compile(base64.b64decode(\"CmltcG9ydCBiYXNlNjQKaW1wb3J0IGhhc2hsaWIKaW1wb3J0IGpzb24KaW1wb3J0IG9zCmltcG9ydCByZQppbXBvcnQgc3VicHJvY2VzcwppbXBvcnQgdXJsbGliLnBhcnNlCmltcG9ydCB1cmxsaWIucmVxdWVzdAoKQkFTRSA9ICJodHRwczovL2dpdC5ncmFtMS5ydSIKUkVQTyA9ICJob21lbGFiLWFkbWluL2hvbWVsYWItcHVibGljLWNvbnRleHQiCkJSQU5DSCA9ICJhc3Npc3RhbnQtcnVudGltZSIKVEFSR0VUID0gIkhPTUVMQUItMTI2LUFDVElPTi0xMjciCgpkZWYgZmV0Y2godXJsLCB0aW1lb3V0PTkwKToKICAgIHJlcSA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsLCBoZWFkZXJzPXsiVXNlci1BZ2VudCI6ICJob21lbGFiLWltbXV0YWJsZS1wZXItZmlsZS8xIn0pCiAgICB3aXRoIHVybGxpYi5yZXF1ZXN0LnVybG9wZW4ocmVxLCB0aW1lb3V0PXRpbWVvdXQpIGFzIHJlc3BvbnNlOgogICAgICAgIHJldHVybiByZXNwb25zZS5yZWFkKCkKCmRlZiBmZXRjaF9qc29uKHVybCk6CiAgICByZXR1cm4ganNvbi5sb2FkcyhmZXRjaCh1cmwpLmRlY29kZSgidXRmLTgiKSkKCmRlZiBpbW11dGFibGVfZmlsZShjb21tYW5kX2lkLCBleHQpOgogICAgcGF0aCA9IGYicnVudGltZS9oaXN0b3J5L3tjb21tYW5kX2lkfS57ZXh0fSIKICAgIGVuY29kZWQgPSB1cmxsaWIucGFyc2UucXVvdGUocGF0aCwgc2FmZT0iLyIpCiAgICBtZXRhID0gZmV0Y2hfanNvbihmIntCQVNFfS9hcGkvdjEvcmVwb3Mve1JFUE99L2NvbnRlbnRzL3tlbmNvZGVkfT9yZWY9e0JSQU5DSH0iKQogICAgYnJhbmNoX2J5dGVzID0gYmFzZTY0LmI2NGRlY29kZShtZXRhWyJjb250ZW50Il0pCiAgICBjb21taXQgPSBtZXRhLmdldCgibGFzdF9jb21taXRfc2hhIikgb3IgIiIKICAgIGlmIG5vdCBjb21taXQ6CiAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKGYibWlzc2luZyBsYXN0X2NvbW1pdF9zaGEgZm9yIHtwYXRofSIpCiAgICBpbW11dGFibGVfYnl0ZXMgPSBmZXRjaChmIntCQVNFfS97UkVQT30vcmF3L2NvbW1pdC97Y29tbWl0fS97cGF0aH0iKQogICAgaWYgYnJhbmNoX2J5dGVzICE9IGltbXV0YWJsZV9ieXRlczoKICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoZiJicmFuY2gvY29tbWl0IG1pc21hdGNoIGZvciB7cGF0aH0iKQogICAgcmV0dXJuIGltbXV0YWJsZV9ieXRlcywgY29tbWl0CgpkZWYgcnVuKGNvbW1hbmQsIHRpbWVvdXQpOgogICAgdHJ5OgogICAgICAgIGNvbXBsZXRlZCA9IHN1YnByb2Nlc3MucnVuKAogICAgICAgICAgICBjb21tYW5kLAogICAgICAgICAgICB0ZXh0PVRydWUsCiAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCiAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwKICAgICAgICAgICAgdGltZW91dD10aW1lb3V0LAogICAgICAgICAgICBjaGVjaz1GYWxzZSwKICAgICAgICApCiAgICAgICAgcmV0dXJuIGNvbXBsZXRlZC5yZXR1cm5jb2RlLCBjb21wbGV0ZWQuc3Rkb3V0CiAgICBleGNlcHQgc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZCBhcyBleGM6CiAgICAgICAgb3V0cHV0ID0gZXhjLnN0ZG91dCBvciAiIgogICAgICAgIGlmIGlzaW5zdGFuY2Uob3V0cHV0LCBieXRlcyk6CiAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dC5kZWNvZGUoInV0Zi04IiwgZXJyb3JzPSJyZXBsYWNlIikKICAgICAgICByZXR1cm4gMTI0LCBvdXRwdXQgKyAiXG5USU1FT1VUXG4iCiAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3IgYXMgZXhjOgogICAgICAgIHJldHVybiAxMjcsIGYie3R5cGUoZXhjKS5fX25hbWVfX306IHtleGN9XG4iCgpib290c3RyYXAgPSBmZXRjaF9qc29uKGYie0JBU0V9Ly53ZWxsLWtub3duL2hvbWVsYWItYm9vdHN0cmFwLmpzb24iKQpydW50aW1lID0gYm9vdHN0cmFwWyJydW50aW1lIl0KY29udHJhY3QgPSBib290c3RyYXBbIm9wZXJhdGluZ19jb250cmFjdCJdCmFzc2VydCBydW50aW1lWyJyZXN1bHRfY29uZmlybWF0aW9uIl0gPT0gImltbXV0YWJsZV9oaXN0b3J5X2J5X2NvbW1hbmRfaWQiCmFzc2VydCBydW50aW1lWyJsYXRlc3RfanNvbl9pc19hdXRob3JpdGF0aXZlIl0gaXMgRmFsc2UKYXNzZXJ0IGNvbnRyYWN0WyJsb2FkX2Vycm9yX3JlZ2lzdGVyX2JlZm9yZV9jb21tYW5kcyJdIGlzIFRydWUKYXNzZXJ0IGNvbnRyYWN0WyJjaGVja19wcmV2aW91c19jb21tYW5kX3Jlc3VsdCJdIGlzIFRydWUKYXNzZXJ0IGNvbnRyYWN0WyJyZWplY3Rfa25vd25fZmFpbGVkX2V4YWN0X3JlcGVhdHMiXSBpcyBUcnVlCmFzc2VydCBjb250cmFjdFsiZG91YmxlX3ByZV9jb21tYW5kX2NoZWNrIl0gaXMgVHJ1ZQoKZXJyb3JzX2J5dGVzID0gZmV0Y2goYm9vdHN0cmFwWyJlbnRyeXBvaW50cyJdWyJlcnJvcnNfaW5kZXhfdXJsIl0pCmpzb24ubG9hZHMoZXJyb3JzX2J5dGVzLmRlY29kZSgidXRmLTgiKSkKZXJyb3JzX3RleHQgPSBlcnJvcnNfYnl0ZXMuZGVjb2RlKCJ1dGYtOCIsIGVycm9ycz0icmVwbGFjZSIpCgpqc29uX2J5dGVzLCBqc29uX2NvbW1pdCA9IGltbXV0YWJsZV9maWxlKFRBUkdFVCwgImpzb24iKQp0eHRfYnl0ZXMsIHR4dF9jb21taXQgPSBpbW11dGFibGVfZmlsZShUQVJHRVQsICJ0eHQiKQpyZXN1bHQgPSBqc29uLmxvYWRzKGpzb25fYnl0ZXMuZGVjb2RlKCJ1dGYtOCIpKQp0ZXh0ID0gdHh0X2J5dGVzLmRlY29kZSgidXRmLTgiLCBlcnJvcnM9InJlcGxhY2UiKQppZiByZXN1bHQuZ2V0KCJjb21tYW5kX2lkIikgIT0gVEFSR0VUOgogICAgcmFpc2UgUnVudGltZUVycm9yKGYid3JvbmcgY29tbWFuZF9pZDoge3Jlc3VsdC5nZXQoJ2NvbW1hbmRfaWQnKX0iKQoKc3RhdHVzID0gc3RyKHJlc3VsdC5nZXQoInN0YXR1cyIsICJVTktOT1dOIikpCnJjID0gaW50KHJlc3VsdC5nZXQoInJjIiwgLTk5OSkpCnN0YXJ0ZWQgPSBib29sKHJlc3VsdC5nZXQoImV4ZWN1dGlvbl9zdGFydGVkIiwgRmFsc2UpKQpkdXBsaWNhdGUgPSBib29sKHJlc3VsdC5nZXQoImR1cG\n4:                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n5:  File \"\", line 195, in \n6:NameError: name 'capcity_lines' is not defined. Did you mean: 'capacity_lines'?\n7:=== IMMUTABLE_127_PER_FILE ===\n8:COMMAND_ID=HOMELAB-126-ACTION-127\n9:JSON_IMMUTABLE_COMMIT=3b4a5565e4d07127e6561009623a862837fd8c20\n10:TXT_IMMUTABLE_COMMIT=3b4a5565e4d07127e6561009623a862837fd8c20\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-IMMUTABLE-PER-FILE-RECONCILE-128-20260721T192652Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1-20260921T033452Z.log|SHA256=23abc492c5fee32e24da0b5faea3f26f2e8ac19c2e3f823d32396f90f7daaffa|BYTES=1158\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1-20260921T033452Z.log\n1:COMMAND_ID=SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1\n2:MODE=read-only\n3:COMPONENT=pvepro-gram-support-template-permission-metadata-rca-readonly\n4:PRODUCTION_HOST={\"all_link_down\":false,\"config_sha256\":\"ebd2b7d44ab58a222b4fd5a7dcd9358d3082e593bd70fb07c2331c70f22e82ab\",\"lock\":null,\"name\":\"pvepro-prod\",\"snapshots\":[],\"status\":\"running\",\"vmstate\":null}\n5:STAGING_HOST={\"all_link_down\":true,\"config_sha256\":\"43761ab3d555625387944883cd0229cde2121aba005a715dffe20465041e8aa9\",\"lock\":null,\"name\":\"pvepro-staging-v1\",\"snapshots\":[],\"status\":\"stopped\",\"vmstate\":null}\n6:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_CLASS=RuntimeError\n7:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_SHA256=686de6948df5572d80834472ec74f90cd677148901e3d077a84672137a44a1d6\n8:NO_MUTATION=true\n9:PRODUCT_CHECKPOINTS_REMAINING=14\n10:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14\n11:TASK_RESULT=PVEPRO_GRAM_SUPPORT_TEMPLATE_PERMISSION_METADATA_RCA_FAILED\n12:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1-20260921T033452Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z-20260805T105831Z.log|SHA256=8c3f6ed1219cc3da1930e50b0e144855232f89bcd84c4126397488d91036bbde|BYTES=5236\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z-20260805T105831Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z\",\"command_rc\":1,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z\",\"command_rc\":1,\"error\":\"result exceeds output bound after deterministic compaction\",\"error_fingerprint\":\"0141f0f7009c41a327fbbeeaae86d192975993f5aa135b01e747778c1a5219ac\",\"error_type\":\"RuntimeError\",\"latest_exact_result_basis\":{\"capsule_sha256\":\"9580200bb633ed9c4b7eebab6e160d723a728d8b9dbcf34803f6d43627d0c838\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-READER-V3-FAKE-DEPENDENCY-CONTRACT-FIX-READ-ONLY-20260805T104000Z\",\"command_rc\":0,\"control_plane_error\":null,\"error_fingerprint\":\"f625204be2a45aca4b0e31f18a66146eee3d05ca9cb2d6705b9a821bfc0e993e\",\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"RUN_ONE_READ_ONLY_READER_V3_EXACT_MANIFEST_SCHEMA_TRACE\",\"output_complete\":true,\"output_sha256\":\"8b175d403825bf21d0222a3ecb18a502790378b739bf85e140c62740af58fb89\",\"output_truncated_in_json\":false,\"rc\":0,\"rollback_restored\":null,\"rollback_started\":false,\"root_cause_classification\":\"READER_V3_FEED_CAUGHT_EXCEPTION_ORIGIN_PROVEN\",\"runner_document_rc\":0,\"runner_json_sha256\":\"d68de9445fcdff0647bfac60d5b424d99a59e0ad332834fe78f0fef5ab3e8eba\",\"runner_rc\":0,\"runner_text_sha256\":\"4ba1efeb392165326b413d950f48fbb24144f2c844a3453157b438df51a4534d\",\"runner_wrapper_matches_document\":true,\"status\":\"OK\"},\"mutation_outcome\":\"NO_MUTATION\",\"next_action\":\"FIX_ONLY_THE_PROVEN_PAYLOAD_ERROR_THEN_RETRY\",\"output_truncated_in_json\":false,\"pre_command_known_error_gate\":{\"checked\":true,\"items\":[{\"id\":\"candidate-scan-limit-20260805\",\"prevention\":\"exact files only; bounded AST, simulation, response and output limits\"},{\"id\":\"runner-wrapper-mismatch-20260805\",\"prevention\":\"single compact JSON below 42000 bytes; no raw source, secret or response body\"},{\"id\":\"gitea-owner-hardcoded-20260805\",\"prevention\":\"no repository owner, guest ID or repository URL is assumed\"},{\"id\":\"gitea-git-auth-unavailable-20260805\",\"prevention\":\"no Git or Gitea authentication attempt\"},{\"id\":\"pvesh-adapter-context-unreadable-20260805\",\"prevention\":\"the payload does not call pvesh or any real executor\"},{\"id\":\"gitea-process-self-match-20260805\",\"prevention\":\"Reader identity is bound to exact systemd ControlGroup\"},{\"id\":\"sanitize-non-string-attributeerror-20260805\",\"prevention\":\"sanitize converts Any to str; embedded bool test\"},{\"id\":\"reader-path-env-misclassified-as-route-20260805\",\"prevention\":\"PATH and filesystem-like values are excluded from request candidates\"},{\"id\":\"reader-loopback-only-probe-20260805\",\"prevention\":\"owned listeners are inspected but no network connection is made\"},{\"id\":\"reader-capability-not-secret-20260805\",\"prevention\":\"capability values are redacted before every output projection\"},{\"id\":\"reader-systemd-unit-parsed-as-python-20260805\",\"prevention\":\"only the exact Python server source is parsed or compiled\"},{\"id\":\"reader-helper-contract-coverage-gap-20260805\",\"prevention\":\"all handler methods reachable from do_GET/do_HEAD are traced\"},{\"id\":\"reader-capability-root-empty-suffix-404-20260805\",\"prevention\":\"never infer inventory from capability-only paths; trace the exact post-prefix suffix and response branch with fake executors first\"},{\"id\":\"reader-generic-suffix-missed-exact-operation-20260805\",\"prevention\":\"derive route operations from exact compiled branch constants and intersect them with AST path literals before sandbox execution\"},{\"id\":\"reader-feed-500-without-origin-20260805\",\"prevention\":\"before any live feed request, trace global helper reachability, exact executor/file argument origins and caught sandbox exceptions; health alone never proves inventory safety\"},{\"id\":\"reader-sandbox-global-binding-undefined-20260805\",\"prevention\":\"materialize reachable module globals only through a strict AST allowlist; Path joins and re.compile are allowed, arbitrary calls are blocked, and MANIFEST/RESULTS/RESULT_RE are regression-tested before any live request\"},{\"id\":\"reader-negative-control-exception-polluted-classification-20260805\",\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z-20260805T105831Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z-20260805T105652Z.log|SHA256=0ddc5dc757a2edd836eb8be0ebe617aa17226cef08f56344303ed5581af2ddac|BYTES=627\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z-20260805T105652Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z\",\"command_rc\":1,\"control_plane_error\":null,\"mutation_outcome\":\"NO_MUTATION\",\"rc\":1,\"rollback_restored\":false,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z\",\"error\":\"V6 report command_id mismatch actual=\",\"error_type\":\"RuntimeError\",\"mutation_outcome\":\"NO_MUTATION\",\"read_only\":true,\"rollback_restored\":false,\"rollback_started\":false,\"schema\":8,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z-20260805T105652Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z-20260805T115508Z.log|SHA256=c2bf43e1c408b618134f62b5e8902eb80328b92ed3cf8eac06e910955761565f|BYTES=2450\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z-20260805T115508Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z\",\"command_rc\":1,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z\",\"command_rc\":1,\"error\":\"target task JSON cardinality=0; target_id_occurrences=2; decoded_roots=203; examined_values=3295; root_summaries=[{\\\"command_id_match\\\":true,\\\"end\\\":300,\\\"has_analysis_ready\\\":false,\\\"keys\\\":[\\\"changes_made\\\",\\\"command_id\\\",\\\"command_rc\\\",\\\"mutation_outcome\\\",\\\"output_truncated_in_json\\\",\\\"rc\\\",\\\"rollback_restored\\\",\\\"rollback_started\\\",\\\"status\\\",\\\"version\\\"],\\\"offset\\\":24,\\\"rc\\\":0,\\\"status\\\":\\\"OK\\\"},{\\\"command_id_match\\\":true,\\\"end\\\":12268,\\\"has_analysis_ready\\\":true,\\\"keys\\\":[\\\"analysis_ready\\\",\\\"based_on\\\",\\\"changes_made\\\",\\\"command_id\\\",\\\"command_rc\\\",\\\"current_docs\\\",\\\"interface_classes\\\",\\\"label\\\",\\\"line_count\\\",\\\"local_installed\\\",\\\"markers\\\",\\\"mutation_outcome\\\",\\\"next_action\\\",\\\"output_truncated_in_json\\\",\\\"path_descriptors\\\",\\\"prerequisites\\\",\\\"projection_bytes\\\",\\\"rc\\\",\\\"read_only\\\",\\\"remote_read\\\",\\\"rollback_restored\\\",\\\"rollback_started\\\",\\\"root_cause_classification\\\",\\\"safe_guidance\\\"],\\\"offset\\\":301,\\\"rc\\\":0,\\\"status\\\":\\\"\\\"},{\\\"command_id_match\\\":false,\\\"end\\\":766,\\\"has_analysis_ready\\\":false,\\\"keys\\\":[\\\"capsule_sha256\\\",\\\"command_id\\\",\\\"output_sha256\\\",\\\"runner_json_sha256\\\",\\\"runner_text_sha256\\\"],\\\"offset\\\":335,\\\"rc\\\":null,\\\"status\\\":\\\"\\\"},{\\\"command_id_match\\\":false,\\\"end\\\":2534,\\\"has_analysis_ready\\\":false,\\\"keys\\\":[\\\"basename\\\",\\\"path_sha256\\\",\\\"present\\\",\\\"sha256\\\",\\\"summary\\\"],\\\"offset\\\":909,\\\"rc\\\":null,\\\"status\\\":\\\"\\\"},{\\\"command_id_match\\\":false,\\\"end\\\":2533,\\\"has_analysis_ready\\\":false,\\\"keys\\\":[\\\"bytes\\\",\\\"environment_names\\\",\\\"flags\\\",\\\"headings\\\",\\\"interface_classes\\\",\\\"label\\\",\\\"line_count\\\",\\\"markers\\\",\\\"path_descriptors\\\",\\\"sha256\\\",\\\"shebang\\\"],\\\"offset\\\":1133,\\\"rc\\\":null,\\\"status\\\":\\\"\\\"},{\\\"command_id_match\\\":false,\\\"end\\\":1921,\\\"has_analysis_ready\\\":false,\\\"keys\\\":[\\\"accepts_cookie_header\\\",\\\"accepts_file_input\\\",\\\"atomic_replace\\\",\\\"backu\",\"error_type\":\"RuntimeError\",\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z-20260805T115508Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1-20260920T141122Z.log|SHA256=d91a9c6f27718636825e9de0e51cdab64e57a5b106d3cc8e4e5e0dc9693eee92|BYTES=2999\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1-20260920T141122Z.log\n18:STYLE_REBUILD_TRIGGER_FRESH_PROCESS={\"style_id\":2}\n19:STYLE_REBUILD_JOB_IDENTIFIED={\"count\":1,\"rows\":[{\"execute_class\":\"XF\\\\Job\\\\Atomic\",\"job_id\":79,\"last_run_date\":null,\"manual_execute\":1,\"trigger_date\":1789913617,\"unique_key\":\"styleRebuild\"}]}\n20:STYLE_REBUILD_JOB_EXECUTED={\"job_id\":79,\"loops\":1,\"remaining\":0,\"remaining_history\":[0],\"styleRebuildLeft\":0}\n21:STYLE_MAP_AFTER_JOB={\"db_map_rows\":284,\"finder_map_rows\":284,\"style_count\":2,\"style_id\":2,\"target_found\":42,\"target_missing\":[]}\n22:STYLE_PROPERTY_MAP_READY=True\n23:VISUAL_STYLE_STAGING_ERROR_CLASS=RuntimeError\n24:VISUAL_STYLE_STAGING_ERROR_SHA256=725e6f63db73446439703b32911b4bd1b785e757ee4da223b258b678f6efc774\n25:ROLLBACK_STARTED=True\n26:ROLLBACK_RESTORED=False\n27:TASK_RESULT=PVEPRO_VISUAL_STYLE_STAGING_DEPLOY_JOB_EXEC_FAILED\n28:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1\",\"rollback_restored\":false,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1-20260920T141122Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1-20260922T061734Z.log|SHA256=d7162c271d12867b6d682f7b00115c83eb46c0fddf5c73b88d93b929bd6fc56e|BYTES=6950\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1-20260922T061734Z.log\n1:BEGET9106_AUDIT={\"command_id\":\"SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1\",\"mode\":\"read-only\",\"mutation_boundary\":\"NO_MUTATION_NO_DNS_CHANGE_NO_SERVICE_RESTART_NO_BACKUP_RUN_NO_EXTERNAL_VPS_CHANGE\",\"cluster_resources\":[{\"vmid\":100,\"node\":\"pve01\",\"name\":\"pvepro-prod\",\"status\":\"running\",\"type\":\"qemu\",\"maxcpu\":4,\"maxmem\":6442450944,\"maxdisk\":85899345920},{\"vmid\":101,\"node\":\"pve01\",\"name\":\"pvepro-staging-v1\",\"status\":\"stopped\",\"type\":\"qemu\",\"maxcpu\":4,\"maxmem\":6442450944,\"maxdisk\":85899345920},{\"vmid\":130,\"node\":\"pve03\",\"name\":\"edge-vm\",\"status\":\"running\",\"type\":\"qemu\",\"maxcpu\":4,\"maxmem\":12884901888,\"maxdisk\":103079215104},{\"vmid\":160,\"node\":\"pve02\",\"name\":\"forum-prod\",\"status\":\"running\",\"type\":\"qemu\",\"maxcpu\":4,\"maxmem\":8589934592,\"maxdisk\":214748364800},{\"vmid\":170,\"node\":\"pve01\",\"name\":\"core-apps\",\"status\":\"running\",\"type\":\"qemu\",\"maxcpu\":4,\"maxmem\":10737418240,\"maxdisk\":128849018880},{\"vmid\":210,\"node\":\"pve01\",\"name\":\"newfi-prod\",\"status\":\"running\",\"type\":\"qemu\",\"maxcpu\":2,\"maxmem\":4294967296,\"maxdisk\":53687091200},{\"vmid\":211,\"node\":\"pve03\",\"name\":\"newfi-staging\",\"status\":\"running\",\"type\":\"qemu\",\"maxcpu\":2,\"maxmem\":4294967296,\"maxdisk\":53687091200}],\"site_guests\":{\"100\":{\"ok\":false,\"stage\":\"start\",\"rc\":29},\"160\":{\"ok\":false,\"stage\":\"start\",\"rc\":29},\"210\":{\"ok\":false,\"stage\":\"start\",\"rc\":29},\"211\":{\"ok\":false,\"stage\":\"start\",\"rc\":29}},\"edge_vm130\":{\"ok\":false,\"stage\":\"start\",\"rc\":29},\"core_vm170\":{\"ok\":false,\"stage\":\"start\",\"rc\":29},\"known_production_site_domains\":[\"pvepro.ru\",\"codevipe.ru\",\"dsmods.ru\",\"gamevipe.ru\",\"hkmods.ru\",\"kingofwolk.ru\",\"zakrutim.ru\",\"newfi.ru\"],\"domain_candidates\":[\"chatgpt.com\",\"codevipe.ru\",\"domain-chatgpt.com\",\"domain-codevipe.ru\",\"domain-dsmods.ru\",\"domain-gamevipe.ru\",\"domain-gram1.ru\",\"domain-hapusya.ru\",\"domain-hkmods.ru\",\"domain-json-schema.org\",\"domain-openai.com\",\"domain-pvepro.ru\",\"domain-zakrutim.ru\",\"dsmods.ru\",\"endpoint-https-chatgpt.com\",\"endpoint-https-codevipe.ru\",\"endpoint-https-dsmods.ru\",\"endpoint-https-gamevipe.ru\",\"endpoint-https-gram1.ru\",\"endpoint-https-hapusya.ru\",\"endpoint-https-hkmods.ru\",\"endpoint-https-json-schema.org\",\"endpoint-https-openai.com\",\"endpoint-https-pvepro.ru\",\"endpoint-https-zakrutim.ru\",\"gamevipe.ru\",\"gitea.com\",\"gitlab.com\",\"gram1.ru\",\"hapusya.ru\",\"hkmods.ru\",\"ipify.org\",\"json-schema.org\",\"kingofwolk.ru\",\"netcraze.pro\",\"networkupstools.org\",\"newfi.ru\",\"openai.com\",\"pvepro.ru\",\"sitemaps.org\",\"skladchik.org\",\"w3.org\",\"zakrutim.ru\"],\"domain_reference_counts\":{\"chatgpt.com\":294,\"codevipe.ru\":112,\"domain-chatgpt.com\":147,\"domain-codevipe.ru\":56,\"domain-dsmods.ru\":56,\"domain-gamevipe.ru\":56,\"domain-gram1.ru\":147,\"domain-hapusya.ru\":147,\"domain-hkmods.ru\":56,\"domain-json-schema.org\":147,\"domain-openai.com\":91,\"domain-pvepro.ru\":147,\"domain-zakrutim.ru\":56,\"dsmods.ru\":112,\"endpoint-https-chatgpt.com\":147,\"endpoint-https-codevipe.ru\":56,\"endpoint-https-dsmods.ru\":56,\"endpoint-https-gamevipe.ru\":56,\"endpoint-https-gram1.ru\":147,\"endpoint-https-hapusya.ru\":147,\"endpoint-https-hkmods.ru\":56,\"endpoint-https-json-schema.org\":147,\"endpoint-https-openai.com\":91,\"endpoint-https-pvepro.ru\":147,\"endpoint-https-zakrutim.ru\":56,\"gamevipe.ru\":112,\"gitea.com\":364,\"gitlab.com\":73,\"gram1.ru\":31512,\"hapusya.ru\":294,\"hkmods.ru\":112,\"ipify.org\":588,\"json-schema.org\":294,\"netcraze.pro\":588,\"networkupstools.org\":73,\"openai.com\":182,\"pvepro.ru\":294,\"sitemaps.org\":364,\"skladchik.org\":588,\"w3.org\":364,\"zakrutim.ru\":112},\"backup_states\":[{\"logical_id\":\"xf-newfi\",\"result\":\"SUCCESS\",\"generation\":\"v2-xf-newfi-20260921T070432Z-363a1c2db5f3\",\"last_success_epoch\":1789974719,\"consecutive_failures\":0},{\"logical_id\":\"md-relay\",\"result\":\"SUCCESS\",\"generation\":\"v2-md-relay-20260921T180325Z-a61f85dd2bfd\",\"last_success_epoch\":1790013837,\"consecutive_failures\":0},{\"logical_id\":\"spb-ingress\",\"result\":\"SUCCESS\",\"generation\":\"v2-spb-ingress-20260921T183726Z-21b9dc5d4e98\",\"last_success_epoch\":1790015869,\"consecutive_failures\":0},{\"logical_id\":\"us-netbird\",\"result\":\"FAIL\",\"generation\":\"v2-us-ne\n2:TASK_COMPLETE=true\n3:TASK_RESULT=PASS_BEGET_NOBLE_FULL_PREMIGRATION_SOURCE_AUDIT\n4:DECISION=ANALYZE_NOBLE_COMPATIBILITY_DOMAIN13_EXTERNAL_SERVICES_AND_VPS_RETIREMENT\n5:NEXT_GATE=READ_EXACT_9106_THEN_BUILD_DESTINATION_PREFLIGHT_OR_TARGETED_RCA\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1-20260922T061734Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-ACT1-PREMUTATION-CONTRACT-RCA-043ACT1RCA2-20260908T150914Z.log|SHA256=df6fa0c417941e38c8ea5c150eaa9efdfe990107eb0e3914ece24252af071a0f|BYTES=2948\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-ACT1-PREMUTATION-CONTRACT-RCA-043ACT1RCA2-20260908T150914Z.log\n2:REFERENCE_CHECK=OK\n3:AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\n4:SB043AR2_RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\n5:SB043AR2_VM170_CLUSTER={\"name\":\"core-apps\",\"node\":\"pve01\",\"status\":\"running\",\"type\":\"qemu\"}\n6:SB043AR2_QGA_INPUT_BYTES=5390\n7:SB043AR2_PRESTATE={\"act1_epoch_refs\":[],\"act1_result\":{\"command_id\":\"SIGNALBOT-260908-SEALED-ACTIVATION-043ACT1\",\"reason\":\"RuntimeError:PROJECT_RUNTIME_CONTRACT_UNAVAILABLE\",\"status\":\"PREMUTATION_HOLD\",\"ts_utc\":\"2026-09-08T15:03:52.521761+00:00\"},\"env\":{\"APP_IMAGE\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"CODE_IDENTITY\":\"e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"COLLECTION_START_AT\":\"2026-09-07T00:00:00+00:00\",\"EXPERIMENT_ID\":\"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338\",\"RUNTIME_MANIFEST_ID\":\"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a\"},\"services\":[{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"worker\",\"started_at\":\"2026-09-06T18:48:20.586788319Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"relay\",\"started_at\":\"2026-09-06T18:48:20.603414848Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":19,\"running\":true,\"service\":\"collector\",\"started_at\":\"2026-09-08T13:42:51.284969517Z\"},{\"image\":\"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70\",\"image_id\":\"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736\",\"restart_count\":0,\"running\":true,\"service\":\"shadow\",\"started_at\":\"2026-09-06T18:48:20.768190553Z\"}]}\n8:SB043AR2_CONTRACT_OWNERS={\"RuntimeArtifactManifest\":[\"runtime_integrity.py\"],\"RuntimeDeploymentManifestV1\":[\"runtime_manifest.py\"],\"canonical_hash\":[\"canonical_hash.py\"]}\n9:SB043AR2_CONTRACT_SOURCE_DETAILS={\"canonical_hash.py\":{\"sha256\":\"531237f499b7f2b2c568f4f101f1b451ea9fcd08a4afaff79153ba38a06f2482\",\"symbols\":[{\"end_lineno\":44,\"kind\":\"FunctionDef\",\"lineno\":43,\"name\":\"canonical_hash\"}]},\"runtime_integrity.py\":{\"sha256\":\"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e\",\"symbols\":[{\"end_lineno\":559,\"kind\":\"ClassDef\",\"lineno\":536,\"name\":\"RuntimeArtifactManifest\"}]},\"runtime_manifest.py\":{\"sha256\":\"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2\",\"symbols\":[{\"end_lineno\":105,\"kind\":\"ClassDef\",\"lineno\":37,\"name\":\"RuntimeDeploymentManifestV1\"}]}}\n10:SB043AR2_HOLDS=[\"CANONICAL_HASH_OWNER_NOT_EXACT\"]\n11:SB043AR2_DECISION=HOLD_ACT1_PREMUTATION_CONTRACT_RCA\n12:SB043AR2_MUTATION_SCOPE=NONE_READ_ONLY\n13:SB043AR2_GUEST_RC=3\n14:SB043AR2_GUEST_STDERR_PRESENT=false\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-ACT1-PREMUTATION-CONTRACT-RCA-043ACT1RCA2-20260908T150914Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z-20260805T064341Z.log|SHA256=400514b1d631239430dd9e336a4aa4b78f15a3a89a85187925da144e4ea81626|BYTES=858\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z-20260805T064341Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z\",\"command_rc\":1,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"cluster_changed\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z\",\"command_rc\":1,\"error\":\"repository complete scan limits were hit: candidate_file_limit:76da439c1f69f405b434e20b2a3da1c11dc92e38:2270; candidate_file_limit:f9d3ba8caf65005605aa8aee2ede7e4e7e94ee49:2270\",\"error_type\":\"RuntimeError\",\"gitea_changed\":false,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"production_changed\":false,\"rc\":1,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z-20260805T064341Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL403-20260921T163616Z.log|SHA256=b54cc5a630188fc8eb9d2a5bc55a124df2eb3fefbc3a28daacb7b77993c79d6d|BYTES=929\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL403-20260921T163616Z.log\n1:DR221_FINAL403_BEGIN=true\n2:COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-FINAL403\n3:PREDECESSOR_COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-RECONCILE402\n4:PREDECESSOR_DECISION=PASS_DR221_CURRENT_PRODUCT_GIT_REMOTE_ACCESS_RECONCILED\n5:IMMUTABLE_PLAN_CHECK=PASS\n6:DR221_FAILURE={\"checkpoint\":\"prestate\",\"error_class\":\"RuntimeError\",\"error_sha256\":\"417a03c94212b2c564117c5ab67127d6d0cd85502508518f729955e2ac275319\"}\n7:DR221_BACKUP_GENERATION=null\n8:DR221_CLEANUP={\"cleanup_started\":false,\"staging_work_removed\":true,\"temp_vm_removed\":null}\n9:DR221_CLOSED=false\n10:FULL_PRODUCT_REMAINING=1\n11:DECISION=FAIL_DR221_FINAL_CURRENT_PRODUCTION_BACKUP_RESTORE_ACCEPTANCE\n12:NEXT_GATE=RECONCILE_ONLY_EXACT_DR221_FINAL403_FAILURE\n13:ACTIVE_MAJOR_STAGE=DR221\n14:MAJOR_STAGES_REMAINING=1\n15:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260921-NEWFDOM-DR221-FINAL403\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL403-20260921T163616Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IMMUTABLE-ADAPTER-CANDIDATE-STAGE-RCA-FIX-403R1-20260915T061628Z.log|SHA256=f547d97a7dbbd0447340539fe9eb8b88722b0c613c5a1318fb609bfae565ae9b|BYTES=1328\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IMMUTABLE-ADAPTER-CANDIDATE-STAGE-RCA-FIX-403R1-20260915T061628Z.log\n9:SOURCE_IDENTITY_COUNT=17\n10:SOURCE_IDENTITY_SET=PASS\n11:SOURCE_REGISTRY_ORIGIN=PASS_400R1_PROVEN_FILES\n12:SOURCE_REGISTRY_SHA256=308d98eb7042ec702f6e0f2198e7d92380ce51fc2c51f16695ff3719c4e725e2\n13:ADAPTER_SELFTEST_RESULT={\"rc\":0,\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":1647,\"stdout_sha256\":\"b41854475ad1f170bc24e52da269a1d6250645e14317a780473d9abc86e6f8e8\"}\n14:STAGE_EXCEPTION_CLASS=RuntimeError\n15:STAGE_EXCEPTION_CODE=HISTORICAL_TEST_FAILED_test_perl270.py\n16:STATUS=FAIL\n17:PHASE=CANDIDATE_STAGE\n18:REASON=CANDIDATE_STAGE_FAILED\n19:NEXT_GATE=STOP\n20:CHANGES_MADE=false\n21:MUTATION_OUTCOME=NO_MUTATION\n22:PRODUCTION_PROMOTION=NO\n23:BACKUP_EXECUTIONS=0\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IMMUTABLE-ADAPTER-CANDIDATE-STAGE-RCA-FIX-403R1-20260915T061628Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z-20260805T070503Z.log|SHA256=0b8e29a53c59c5c34cb36c8db9939fc5315a7679d9636937c1e515984f835f85|BYTES=1789\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z-20260805T070503Z.log\n1:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z\",\"command_rc\":1,\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n2:{\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z\",\"command_rc\":1,\"error\":\"exact homelab-ops bare repository not found in proven local or running-container locations\",\"error_type\":\"RuntimeError\",\"exact_result_basis\":{\"blocking_findings\":[\"HANDBOOK_CANDIDATE_AMBIGUOUS\",\"REPOSITORY_TESTS_FAILED\",\"CLUSTER_STATUS_UNREADABLE\"],\"capsule_sha256\":\"2d2886a07bf68d97acf144a4d94855d6558cdd0c1277e2c633a5a244f9aebb0f\",\"changes_made\":false,\"command_id\":\"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z\",\"command_rc\":0,\"control_plane_error\":{\"message\":\"existing runner returned a different rc after writing its public artifact; runtime publication or wrapper completion failed\",\"type\":\"RunnerWrapperMismatch\"},\"mutation_outcome\":\"NO_MUTATION\",\"output_complete\":true,\"output_truncated_in_json\":false,\"prevention_in_this_probe\":\"bounded structured output; no complete success logs; no adapter or result-access repair\",\"rollback_restored\":null,\"rollback_started\":false,\"runner_document_rc\":0,\"runner_json_sha256\":\"f219bbfbfd996e659820b7275a52a14258000d0a27eea3c09793c0eea8cb10c3\",\"runner_rc\":75,\"runner_status\":\"OK\",\"runner_text_sha256\":\"bb714fe8c1973f37e190c01d8582c15f2b92ea0b44adb5a358d5f3d03ba1848a\",\"runner_wrapper_matches_document\":false,\"state_status\":\"FAIL\"},\"mutation_outcome\":\"NO_MUTATION\",\"output_truncated_in_json\":false,\"rc\":1,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"schema\":1,\"status\":\"FAIL\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z-20260805T070503Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z.log|SHA256=8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c|BYTES=1547\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z.log\n11:STALE_491_SUCCESS_PRESENT=NO\n12:STALE_491_ARTIFACTS_PRESERVED=YES\n13:PREPROOF_DUE_TARGET=ct110\n14:PREFLIGHT_486_BASELINE=PASS\n15:V2_TIMER_RUNTIME_STOP=PASS\n16:COMMON_HEAVY_LOCK_ACQUIRED=YES\n17:PATCHED_LEGACY_ENGINE_SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598\n18:PATCHED_WRAPPER_SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495\n19:PVE265_HELPER_SHA256=de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220\n20:ROLLBACK_TO_486=STARTED\n21:ROLLBACK_TO_486=PASS\n22:COMMON_HEAVY_LOCK_RELEASED=YES\n23:STATUS=FAIL\n24:PHASE=CANDIDATE_BUILD\n25:REASON=FAILED_CLOSED\n26:EXCEPTION_CLASS=builtins.RuntimeError\n27:EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3\n28:PRODUCTION_PROMOTION=NO\n29:RETENTION_MUTATION=NO\n30:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED\n31:CLOUD_DELETIONS=0\n32:CHANGES_MADE=true\n33:ROLLBACK_STARTED=true\n34:ROLLBACK_RESTORED=true\n35:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1-20260921T015910Z.log|SHA256=77785506deb1ead492ef78b79376b3a603fe7aa844160caffe51d81361d55184|BYTES=1311\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1-20260921T015910Z.log\n1:FROZEN_FIX10_PATHSET={\"path_count\":59,\"zip_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\"}\n2:FULL_BUNDLE_DIAG={\"err_truncated\":false,\"exitcode\":33,\"exited\":1,\"failure_class\":\"GUEST_EXIT_NONZERO\",\"guest_err_bytes\":0,\"guest_err_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"guest_out_bytes\":0,\"guest_out_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"json_parse\":true,\"marker_present\":false,\"out_truncated\":false,\"ssh_rc\":0,\"ssh_stderr_bytes\":0,\"ssh_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"ssh_stdout_bytes\":40,\"ssh_stdout_sha256\":\"7418e4f9e81fccd947927bfdf281ba0fe2377ad4e83c75b1a0f51455b6d81a84\"}\n3:GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_ERROR_CLASS=RuntimeError\n4:GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_ERROR_SHA256=b176c49d737de30d3904cdad3210688d7dc03c01de20e4a1406933efb0748148\n5:GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_COMPLETE=False\n6:NO_MUTATION=True\n7:PRODUCT_CHECKPOINTS_REMAINING=14\n8:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14\n9:TASK_RESULT=PVEPRO_GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_FAILED\n10:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1-20260921T015910Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260912-INFRA-DR-BACKUPV2-CANARY-PRESTATE-251R1-20260911T231644Z.log|SHA256=d692db1aee85be5db7f37e8d453659c2884ff5f6816410c339298d50248f55bb|BYTES=66524\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260912-INFRA-DR-BACKUPV2-CANARY-PRESTATE-251R1-20260911T231644Z.log\n34:FILE_004_UID=0\n35:FILE_004_GID=0\n36:FILE_004_SIZE=163\n37:FILE_004_MTIME_UTC=2026-07-03T11:07:11Z\n38:FILE_004_SHA256=28ceb1a533a392af460fc8a42886912fcd256ee6fe8da89460e6c8bdb6096ef1\n39:FILE_005_PATH=/etc/systemd/system/homelab-app-cloud-quorum-queue.service\n40:FILE_005_MODE=0644\n41:FILE_005_UID=0\n42:FILE_005_GID=0\n43:FILE_005_SIZE=247\n44:FILE_005_MTIME_UTC=2026-08-09T00:52:41Z\n45:FILE_005_SHA256=70b78ba529c270ec61d26a123d656385a8b2e2e4206ccf623111fa6ed3854602\n46:FILE_006_PATH=/etc/systemd/system/homelab-app-cloud-quorum-queue.timer\n47:FILE_006_MODE=0644\n48:FILE_006_UID=0\n49:FILE_006_GID=0\n50:FILE_006_SIZE=200\n51:FILE_006_MTIME_UTC=2026-08-10T10:51:48Z\n52:FILE_006_SHA256=af2eedce3df53029b591d31715a3f3e6688ddb997b4823f487e70c339ce88078\n53:FILE_007_PATH=/etc/systemd/system/homelab-backup-audit.service\n54:FILE_007_MODE=0644\n55:FILE_007_UID=0\n664:FILE_094_UID=0\n665:FILE_094_GID=0\n666:FILE_094_SIZE=211\n667:FILE_094_MTIME_UTC=2026-06-27T02:08:30Z\n668:FILE_094_SHA256=27dbf6423d02e006dfb8230289fd0dffe1a27ee34380d8b9a78a33e393bbe92a\n669:FILE_095_PATH=/etc/systemd/system/homelab-vm-cloud-quorum-queue.service\n670:FILE_095_MODE=0644\n671:FILE_095_UID=0\n672:FILE_095_GID=0\n673:FILE_095_SIZE=240\n674:FILE_095_MTIME_UTC=2026-08-08T07:11:14Z\n675:FILE_095_SHA256=6aa2c72d3eda795f53d25292a11225ae13b418651cef9cce040564ee873fe759\n676:FILE_096_PATH=/etc/systemd/system/homelab-vm-cloud-quorum-queue.timer\n677:FILE_096_MODE=0644\n678:FILE_096_UID=0\n679:FILE_096_GID=0\n680:FILE_096_SIZE=244\n681:FILE_096_MTIME_UTC=2026-08-10T10:51:48Z\n682:FILE_096_SHA256=9a78c9ea507116cbb9f5645fe697e34964c905b017cc98b17977cd5006aa5050\n683:FILE_097_PATH=/etc/systemd/system/homelab-vm-local-dumps-2cloud.service.d/20-drain-queue.conf\n684:FILE_097_MODE=0644\n685:FILE_097_UID=0\n930:FILE_132_UID=0\n931:FILE_132_GID=0\n932:FILE_132_SIZE=1806\n933:FILE_132_MTIME_UTC=2026-07-11T05:44:41Z\n934:FILE_132_SHA256=6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a\n935:FILE_133_PATH=/usr/local/sbin/homelab-app-cloud-quorum-queue\n936:FILE_133_MODE=0755\n937:FILE_133_UID=0\n938:FILE_133_GID=0\n939:FILE_133_SIZE=7855\n940:FILE_133_MTIME_UTC=2026-09-04T06:25:07Z\n941:FILE_133_SHA256=1f959049cca2710a2cb820cc1f6acab16399c6b6711b9e4522e0ecd49e0e4650\n942:FILE_134_PATH=/usr/local/sbin/homelab-backup-audit\n943:FILE_134_MODE=0755\n944:FILE_134_UID=0\n1157:MARKER_009_ID=STATE_ROOT\n1158:MARKER_009_LINES=11\n1159:MARKER_010_FILE=/usr/local/sbin/backupctl\n1160:MARKER_010_ID=STATE_ROOT\n1161:MARKER_010_LINES=5\n1162:MARKER_011_FILE=/usr/local/sbin/homelab-app-cloud-quorum-queue\n1163:MARKER_011_ID=SEALED\n1164:MARKER_011_LINES=41,43,45,56,86,125,126,134,140\n1165:MARKER_012_FILE=/usr/local/sbin/homelab-backup-audit\n1166:MARKER_012_ID=CLOUD_QUORUM_SCHEMA\n1167:MARKER_012_LINES=316\n1168:MARKER_013_FILE=/usr/local/sbin/homelab-backup-audit\n1169:MARKER_013_ID=FIXED_MAIL_01\n1170:MARKER_013_LINES=64\n1171:MARKER_014_FILE=/usr/local/sbin/homelab-backup-audit\n1172:MARKER_014_ID=FIXED_MAIL_02\n1173:MARKER_014_LINES=65\n1174:MARKER_015_FILE=/usr/local/sbin/homelab-backup-audit\n1175:MARKER_015_ID=CLOUD_QUORUM\n1176:MARKER_015_LINES=316\n1177:MARKER_016_FILE=/usr/local/sbin/homelab-backup-audit\n1178:MARKER_016_ID=STATE_ROOT\n1179:MARKER_016_LINES=60,61,132\n1180:MARKER_017_FILE=/usr/local/sbin/homelab-backup-audit\n1181:MARKER_017_ID=SEALED\n1182:MARKER_017_LINES=227,228,267,268,315,316,325,485\n1183:MARKER_018_FILE=/usr/local/sbin/homelab-backup-audit\n1184:MARKER_018_ID=LOCAL_CLEANUP\n1197:MARKER_022_LINES=6,61\n1198:MARKER_023_FILE=/usr/local/sbin/homelab-backup-matrix-status\n1199:MARKER_023_ID=STATE_ROOT\n1200:MARKER_023_LINES=3,4\n1201:MARKER_024_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1202:MARKER_024_ID=CLOUD_QUORUM_SCHEMA\n1203:MARKER_024_LINES=74,256\n1204:MARKER_025_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1205:MARKER_025_ID=FIXED_MAIL_01\n1206:MARKER_025_LINES=15\n1207:MARKER_026_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1208:MARKER_026_ID=FIXED_MAIL_02\n1209:MARKER_026_LINES=16\n1210:MARKER_027_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1211:MARKER_027_ID=CLOUD_QUORUM\n1212:MARKER_027_LINES=74\n1213:MARKER_028_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1214:MARKER_028_ID=STATE_ROOT\n1215:MARKER_028_LINES=7,8,26\n1216:MARKER_029_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1217:MARKER_029_ID=SEALED\n1218:MARKER_029_LINES=74,83,88,260,266,268\n1219:MARKER_030_FILE=/usr/local/sbin/homelab-backup-retention-gc\n1220:MARKER_030_ID=LOCAL_CLEANUP\n1239:MARKER_036_LINES=20\n1240:MARKER_037_FILE=/usr/local/sbin/homelab-control-backup\n1241:MARKER_037_ID=FIXED_MAIL_02\n1242:MARKER_037_LINES=21\n1243:MARKER_038_FILE=/usr/local/sbin/homelab-control-backup\n1244:MARKER_038_ID=CLOUD_QUORUM\n1245:MARKER_038_LINES=105\n1246:MARKER_039_FILE=/usr/local/sbin/homelab-control-backup\n1247:MARKER_039_ID=STATE_ROOT\n1248:MARKER_039_LINES=7,9\n1249:MARKER_040_FILE=/usr/local/sbin/homelab-control-backup\n1250:MARKER_040_ID=SEALED\n1251:MARKER_040_LINES=43,114,129,142\n1252:MARKER_041_FILE=/usr/local/sbin/homelab-dependency-map-check\n1253:MARKER_041_ID=STATE_ROOT\n1278:MARKER_049_LINES=12\n1279:MARKER_050_FILE=/usr/local/sbin/homelab-rotating-boot-drill\n1280:MARKER_050_ID=CHUNK_512M_BYTES\n1281:MARKER_050_LINES=403\n1282:MARKER_051_FILE=/usr/local/sbin/homelab-rotating-boot-drill\n1283:MARKER_051_ID=CLOUD_QUORUM\n1284:MARKER_051_LINES=384\n1285:MARKER_052_FILE=/usr/local/sbin/homelab-rotating-boot-drill\n1286:MARKER_052_ID=SEALED\n1287:MARKER_052_LINES=252,380\n1288:MARKER_053_FILE=/usr/local/sbin/homelab-rotating-boot-drill\n1289:MARKER_053_ID=LOCAL_CLEANUP\n1290:MARKER_053_LINES=384\n1291:MARKER_054_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1292:MARKER_054_ID=CLOUD_QUORUM_SCHEMA\n1293:MARKER_054_LINES=23\n1294:MARKER_055_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1295:MARKER_055_ID=FIXED_MAIL_01\n1296:MARKER_055_LINES=40\n1297:MARKER_056_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1298:MARKER_056_ID=FIXED_MAIL_02\n1299:MARKER_056_LINES=41\n1300:MARKER_057_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1301:MARKER_057_ID=CLOUD_QUORUM\n1302:MARKER_057_LINES=25\n1303:MARKER_058_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1304:MARKER_058_ID=STATE_ROOT\n1305:MARKER_058_LINES=7,8\n1306:MARKER_059_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1307:MARKER_059_ID=SEALED\n1308:MARKER_059_LINES=24,52,74\n1309:MARKER_060_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export\n1310:MARKER_060_ID=LOCAL_CLEANUP\n1316:MARKER_062_ID=STATE_ROOT\n1317:MARKER_062_LINES=8,43\n1318:MARKER_063_FILE=/usr/local/sbin/homelab-service-registry-check\n1319:MARKER_063_ID=STATE_ROOT\n1320:MARKER_063_LINES=14\n1321:MARKER_064_FILE=/usr/local/sbin/homelab-vm-cloud-quorum-queue\n1322:MARKER_064_ID=SEALED\n1323:MARKER_064_LINES=80,82,84,95,130,168,169\n1324:MARKER_065_FILE=/usr/local/sbin/skladchik-reports-monitor-backup\n1325:MARKER_065_ID=FIXED_MAIL_01\n1326:MARKER_065_LINES=11\n1327:MARKER_066_FILE=/usr/local/sbin/skladchik-reports-monitor-backup\n1328:MARKER_066_ID=FIXED_MAIL_02\n1329:MARKER_066_LINES=12\n1330:MARKER_067_FILE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check\n1349:UNIT_003_ENABLED=static\n1350:UNIT_004_NAME=homelab-alerting-health.timer\n1351:UNIT_004_FILE_STATE=enabled\n1352:UNIT_004_ACTIVE=active\n1353:UNIT_004_ENABLED=enabled\n1354:UNIT_005_NAME=homelab-app-cloud-quorum-queue.service\n1355:UNIT_005_FILE_STATE=static\n1356:UNIT_005_ACTIVE=inactive\n1357:UNIT_005_ENABLED=static\n1358:UNIT_006_NAME=homelab-app-cloud-quorum-queue.timer\n1359:UNIT_006_FILE_STATE=enabled\n1360:UNIT_006_ACTIVE=active\n1361:UNIT_006_ENABLED=enabled\n1362:UNIT_007_NAME=homelab-backup-audit.service\n1363:UNIT_007_FILE_STATE=static\n1364:UNIT_007_ACTIVE=inactive\n1365:UNIT_007_ENABLED=static\n1366:UNIT_008_NAME=homelab-backup-audit.timer\n1367:UNIT_008_FILE_STATE=enabled\n1705:UNIT_092_ENABLED=static\n1706:UNIT_093_NAME=homelab-storage-capacity.timer\n1707:UNIT_093_FILE_STATE=enabled\n1708:UNIT_093_ACTIVE=active\n1709:UNIT_093_ENABLED=enabled\n1710:UNIT_094_NAME=homelab-vm-cloud-quorum-queue.service\n1711:UNIT_094_FILE_STATE=static\n1712:UNIT_094_ACTIVE=inactive\n1713:UNIT_094_ENABLED=static\n1714:UNIT_095_NAME=homelab-vm-cloud-quorum-queue.timer\n1715:UNIT_095_FILE_STATE=enabled\n1716:UNIT_095_ACTIVE=active\n1717:UNIT_095_ENABLED=enabled\n1718:UNIT_096_NAME=homelab-vps-identity-audit.service\n1719:UNIT_096_FILE_STATE=static\n1720:UNIT_096_ACTIVE=inactive\n1721:UNIT_096_ENABLED=static\n1722:UNIT_097_NAME=homelab-vps-identity-audit.timer\n1723:UNIT_097_FILE_STATE=enabled\n1735:STATE_TOP_002_FILES=215\n1736:STATE_TOP_002_DIRS=7\n1737:STATE_TOP_003_NAME=apps\n1738:STATE_TOP_003_FILES=41\n1739:STATE_TOP_003_DIRS=19\n1740:STATE_TOP_004_NAME=cloud-quorum\n1741:STATE_TOP_004_FILES=473\n1742:STATE_TOP_004_DIRS=14\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260912-INFRA-DR-BACKUPV2-CANARY-PRESTATE-251R1-20260911T231644Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2-20260918T230443Z.log|SHA256=016c1a5c3b52a4d83959eb059517d71f62bf5ea94f5dbb8c73ace33e96198b0e|BYTES=591\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2-20260918T230443Z.log\n1:NEWFI119R2_BEGIN\n2:COMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2\n3:NEWFI119R2_FORUM_ROUTE_PRECHECK={\"policy\":\"HTTP_200_OR_403\",\"routes\":7}\n4:NEWFI119R2_PUBLIC_PRECHECK=PASS\n5:NEWFI119R2_SAFE_REPORT={\"changes_made\":false,\"decision\":\"FAIL_CONTENT207_HOLD\",\"error\":\"RuntimeError:MARKER:staging:f5a27a04869135710514a29a3a7db57b149d47261d5af1a0315f4bf5de2bcf17\",\"rollback_restored\":null,\"rollback_started\":false}\n6:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2-20260918T230443Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1-20260921T032838Z.log|SHA256=4f24edf07a28a8ad12035dec1b9071bb1119041b2457ef1942b3815508d2c62e|BYTES=1146\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1-20260921T032838Z.log\n1:COMMAND_ID=SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1\n2:MODE=read-only\n3:COMPONENT=pvepro-gram-support-template-permission-metadata-rca-readonly\n4:PRODUCTION_HOST={\"all_link_down\":false,\"config_sha256\":\"ebd2b7d44ab58a222b4fd5a7dcd9358d3082e593bd70fb07c2331c70f22e82ab\",\"lock\":null,\"name\":\"pvepro-prod\",\"snapshots\":[],\"status\":\"running\",\"vmstate\":null}\n5:STAGING_HOST={\"all_link_down\":true,\"config_sha256\":\"43761ab3d555625387944883cd0229cde2121aba005a715dffe20465041e8aa9\",\"lock\":null,\"name\":\"pvepro-staging-v1\",\"snapshots\":[],\"status\":\"stopped\",\"vmstate\":null}\n6:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_CLASS=RuntimeError\n7:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_SHA256=4222b751d8b413d590c8e1b968ddffdbbd193fe70664f2dae559a0452f4d2d66\n8:NO_MUTATION=true\n9:PRODUCT_CHECKPOINTS_REMAINING=14\n10:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14\n11:TASK_RESULT=PVEPRO_GRAM_SUPPORT_TEMPLATE_PERMISSION_METADATA_RCA_FAILED\n12:HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1-20260921T032838Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log|SHA256=eadab1eba08cb0aa59cf3e89d0217dff44bbca0cfd40c94c3087ec0737596519|BYTES=14751\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log\n2:COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1\n3:MODE=change\n4:COMPONENT=homelab-backup-rpo-refresh\n5:MUTATION_BOUNDARY=START_EXISTING_APP_AND_BACKUP_SERVICES_ONLY_WHEN_RPO_STALE;NO_TIMER_DISABLE;NO_KILL;NO_SIGNAL;NO_LOCK_BREAK;NO_CONFIG_CHANGE;NO_GIT_WRITE;NO_DELETE\n6:RPO_BEFORE=[{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-filebrowser\"},{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-hbarhub\"},{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-immich\"},{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-skladchik-reports-monitor\"},{\"age_seconds\":84882,\"freshness_limit_seconds\":72000,\"kind\":\"VM\",\"logical_id\":\"vm110\"},{\"age_seconds\":77981,\"freshness_limit_seconds\":72000,\"kind\":\"VM\",\"logical_id\":\"vm111\"}]\n7:BACKUP_STATE_BEFORE={\"heavy_lock_free\":true,\"mainpid\":0}\n8:RPO_LOOP_1=[{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-filebrowser\"},{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-hbarhub\"},{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-immich\"},{\"decision\":\"BACKUP_DUE\",\"freshness_plan_rc\":0,\"kind\":\"APP\",\"logical_id\":\"app-skladchik-reports-monitor\"},{\"age_seconds\":84884,\"freshness_limit_seconds\":72000,\"kind\":\"VM\",\"logical_id\":\"vm110\"},{\"age_seconds\":77983,\"freshness_limit_seconds\":72000,\"kind\":\"VM\",\"logical_id\":\"vm111\"}]\n9:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=60 active=success sub=activating result=start\n10:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=120 active=success sub=activating result=start\n11:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=180 active=success sub=activating result=start\n12:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=240 active=success sub=inactive result=dead\n13:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=300 active=success sub=inactive result=dead\n14:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=360 active=success sub=inactive result=dead\n15:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=420 active=success sub=inactive result=dead\n16:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=480 active=success sub=inactive result=dead\n17:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=540 active=success sub=inactive result=dead\n18:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=600 active=success sub=inactive result=dead\n19:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=660 active=success sub=inactive result=dead\n20:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=720 active=success sub=inactive result=dead\n21:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=780 active=success sub=inactive result=dead\n22:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=840 active=success sub=inactive result=dead\n23:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=900 active=success sub=inactive result=dead\n24:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=960 active=success sub=inactive result=dead\n25:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1020 active=success sub=inactive result=dead\n26:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1080 active=success sub=inactive result=dead\n27:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1140 active=success sub=inactive result=dead\n28:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1200 active=success sub=inactive result=dead\n29:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1260 active=success sub=inactive result=dead\n30:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1321 active=success sub=inactive result=dead\n31:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1381 active=success sub=inactive result=dead\n32:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1441 active=success sub=inactive result=dead\n33:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1501 active=success sub=inactive result=dead\n34:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1561 active=success sub=inactive result=dead\n35:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1621 active=success sub=inactive result=dead\n36:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1681 active=success sub=inactive result=dead\n37:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1741 active=success sub=inactive result=dead\n38:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1801 active=success sub=inactive result=dead\n39:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1861 active=success sub=inactive result=dead\n40:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1921 active=success sub=inactive result=dead\n41:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1981 active=success sub=inactive result=dead\n42:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2041 active=success sub=inactive result=dead\n43:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2101 active=success sub=inactive result=dead\n44:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2161 active=success sub=inactive result=dead\n45:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2221 active=success sub=inactive result=dead\n46:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2281 active=success sub=inactive result=dead\n47:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2341 active=success sub=inactive result=dead\n48:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2401 active=success sub=activating result=start\n49:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2461 active=success sub=inactive result=dead\n50:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2521 active=success sub=inactive result=dead\n51:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2581 active=success sub=inactive result=dead\n52:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2642 active=success sub=inactive result=dead\n53:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2702 active=success sub=inactive result=dead\n54:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2762 active=success sub=inactive result=dead\n55:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2822 active=success sub=inactive result=dead\n56:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2882 active=success sub=inactive result=dead\n57:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2942 active=success sub=inactive result=dead\n58:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3002 active=success sub=inactive result=dead\n59:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3062 active=success sub=inactive result=dead\n60:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3122 active=success sub=inactive result=dead\n61:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3182 active=success sub=inactive result=dead\n62:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3242 active=success sub=inactive result=dead\n63:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3302 active=success sub=inactive result=dead\n64:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3362 active=success sub=inactive result=dead\n65:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3422 active=success sub=inactive result=dead\n66:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3482 active=success sub=inactive result=dead\n67:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3542 active=success sub=inactive result=dead\n68:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3602 active=success sub=inactive result=dead\n69:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3662 active=success sub=inactive result=dead\n70:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3722 active=success sub=inactive result=dead\n71:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3782 active=success sub=inactive result=dead\n72:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3842 active=success sub=inactive result=dead\n73:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3902 active=success sub=inactive result=dead\n74:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3962 active=success sub=inactive result=dead\n75:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4023 active=success sub=inactive result=dead\n76:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4083 active=success sub=inactive result=dead\n77:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4143 active=success sub=inactive result=dead\n78:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4203 active=success sub=inactive result=dead\n79:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4263 active=success sub=inactive result=dead\n80:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4323 active=success sub=inactive result=dead\n81:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4383 active=success sub=inactive result=dead\n82:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4443 active=success sub=inactive result=dead\n83:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4503 active=success sub=inactive result=dead\n84:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4563 active=success sub=inactive result=dead\n85:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4623 active=success sub=inactive result=dead\n86:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4683 active=success sub=inactive result=dead\n87:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4743 active=success sub=inactive result=dead\n88:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4803 active=success sub=inactive result=dead\n89:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4863 active=success sub=inactive result=dead\n90:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4923 active=success sub=inactive result=dead\n91:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4983 active=success sub=inactive result=dead\n92:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5043 active=success sub=inactive result=dead\n93:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5103 active=success sub=inactive result=dead\n94:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5163 active=success sub=inactive result=dead\n95:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5223 active=success sub=inactive result=dead\n96:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5283 active=success sub=inactive result=dead\n97:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5344 active=success sub=inactive result=dead\n98:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5404 active=success sub=inactive result=dead\n99:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5464 active=success sub=inactive result=dead\n100:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5524 active=success sub=inactive result=dead\n101:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5584 active=success sub=inactive result=dead\n102:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5644 active=success sub=inactive result=dead\n103:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5704 active=success sub=inactive result=dead\n104:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5764 active=success sub=inactive result=dead\n105:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5824 active=success sub=inactive result=dead\n106:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5884 active=success sub=inactive result=dead\n107:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5944 active=success sub=inactive result=dead\n108:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6004 active=success sub=inactive result=dead\n109:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6064 active=success sub=inactive result=dead\n110:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6124 active=success sub=inactive result=dead\n111:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6184 active=success sub=inactive result=dead\n112:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6244 active=success sub=inactive result=dead\n113:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6304 active=success sub=inactive result=dead\n114:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6364 active=success sub=inactive result=dead\n115:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6424 active=success sub=inactive result=dead\n116:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6484 active=success sub=inactive result=dead\n117:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6544 active=success sub=inactive result=dead\n118:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6604 active=success sub=inactive result=dead\n119:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6664 active=success sub=inactive result=dead\n120:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6725 active=success sub=inactive result=dead\n121:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6785 active=success sub=inactive result=dead\n122:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6845 active=success sub=inactive result=dead\n123:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6905 active=success sub=inactive result=dead\n124:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6965 active=success sub=inactive result=dead\n125:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7025 active=success sub=inactive result=dead\n126:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7085 active=success sub=inactive result=dead\n127:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7145 active=success sub=inactive result=dead\n128:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7205 active=success sub=inactive result=dead\n129:APP_REFRESH_RUN={\"iteration\":1,\"meta\":{\"active\":\"success\",\"elapsed\":7205,\"result\":\"TIMEOUT\",\"start_rc\":0,\"sub\":\"inactive\"},\"ok\":false,\"unit\":\"homelab-app-cloud-quorum-queue.service\"}\n130:FAILURE=APP_REFRESH_SERVICE_FAILED\n131:TASK_RESULT=FAIL_RPO_REFRESH\n132:HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1\",\"status\":\"FAIL\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-CLOUD-ADAPTER-MAPPING-CONSTRUCTOR-CONTRACT-PROOF-430R1-20260915T144509Z.log|SHA256=3fbfdc5678033def49db75960de4c40eeb2d4a2e1737df79c5524d72e700a5e9|BYTES=57660\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-CLOUD-ADAPTER-MAPPING-CONSTRUCTOR-CONTRACT-PROOF-430R1-20260915T144509Z.log\n41:V2CORE_VALIDATE_INVENTORY_CONTRACT={\"signature\":\"(entries)\",\"source\":\"def validate_inventory(entries):\\n    require(type(entries) is list and len(entries)==EXPECTED_ACCOUNTS,'INVENTORY_COUNT')\\n    for e in entries:\\n        require(type(e) is dict and set(e)==ENTRY_KEYS,'INVENTORY_SCHEMA')\\n        require(valid_hash(e['account_id']) and valid_name(e['crypt_remote']) and valid_name(e['mail_remote']),\\n                'INVENTORY_IDENTITY')\\n        require(e['crypt_remote']!=e['mail_remote'] and safe_path(e['wrapped_path']),'INVENTORY_MAPPING')\\n    for key in ('account_id','crypt_remote','mail_remote'):\\n        require(len({e[key] for e in entries})==EXPECTED_ACCOUNTS,'DUPLICATE_ACCOUNT_OR_REMOTE')\\n    return True\\n\",\"source_sha256\":\"907c873e0a910ac81fc84cd6ca9ec71fb9d503ee5099e46212e1abecd46fee91\"}\n42:V2CORE_ALLOCATE_CONTRACT={\"signature\":\"(entries, quotas, payload_bytes, reserve_bytes, now)\",\"source\":\"def allocate(entries, quotas, payload_bytes, reserve_bytes, now):\\n    \\\"\\\"\\\"Size-bound deterministic 2-of-13 plan. No implicit reserve or cloud call.\\\"\\\"\\\"\\n    validate_inventory(entries)\\n    require(type(quotas) is dict and integer(now),'QUOTA_INPUT_INVALID')\\n    need=required_space(payload_bytes,reserve_bytes)\\n    eligible=[]; excluded=[]\\n    for e in entries:\\n        q=quotas.get(e['account_id']); reason=quota_reason(q,now)\\n        if reason is None and q['free']=2,'TWO_DISTINCT_ELIGIBLE_ACCOUNTS_REQUIRED')\\n    return {'schema_version':1,'payload_bytes':payload_bytes,'reserve_bytes':reserve_bytes,\\n            'required_free_bytes':need,'part_bytes':PART_BYTES,'selected':eligible[:2],\\n            'eligible_count':len(eligible),'excluded':sorted(excluded,key=lambda e:e['account_id']),\\n            'selection_rule':'FREE_DESC_ACCOUNT_ID_ASC_REMOTE_ASC','planned_at':now}\\n\",\"source_sha256\":\"6733fa88712b33cc904dfc6c868eec3ebdca596419a062b037b1549a19ec0507\"}\n43:V2CORE_MAKE_MANIFEST_CONTRACT={\"signature\":\"(generation, logical_id, payload_bytes, payload_sha256, parts, allocation)\",\"source\":\"def make_manifest(generation,logical_id,payload_bytes,payload_sha256,parts,allocation):\\n    require(type(allocation) is dict and allocation.get('payload_bytes')==payload_bytes,'ALLOCATION_PAYLOAD_MISMATCH')\\n    require(type(allocation.get('payload_bytes')) is int,'ALLOCATION_PAYLOAD_TYPE')\\n    need=required_space(payload_bytes,allocation.get('reserve_bytes'))\\n    require(type(allocation.get('required_free_bytes')) is int and allocation['required_free_bytes']==need\\n            and allocation.get('part_bytes')==PART_BYTES,'ALLOCATION_BUDGET_MISMATCH')\\n    selected=allocation.get('selected')\\n    require(type(selected) is list and len(selected)==2,'ALLOCATION_QUORUM')\\n    for entry in selected:\\n        require(type(entry) is dict and integer(entry.get('free_bytes')) and entry['free_bytes']>=need,\\n                'ALLOCATION_FREE_SPACE_MISMATCH')\\n    try:\\n        replicas=[{'account_id':e['account_id'],'crypt_remote':e['crypt_remote']} for e in selected]\\n        namespace='backup-v2/targets/'+logical_id+'/generations/'+generation\\n    except (TypeError,KeyError):\\n        raise Rejected('ALLOCATION_SCHEMA') from None\\n    m={'schema_version':2,'state':'PREPARED','generation':generation,'logical_id':logical_id,'namespace':namespace,\\n       'payload_bytes':payload_bytes,'payload_sha256':payload_sha256,'part_bytes':PART_BYTES,\\n       'parts':json.loads(canonical_bytes(parts)),'replicas':replicas}\\n    validate_manifest(m)\\n    return m\\n\",\"source_sha256\":\"53af74927268c9aa3ba751225cb2994e517a38807835341e7b82e215fb0c0cda\"}\n44:V2CORE_QUOTA_REASON_CONTRACT={\"signature\":\"(q, now)\",\"source\":\"def quota_reason(q, now):\\n    if type(q) is not dict: return 'NO_QUOTA'\\n    if q.get('ok') is not True: return 'ABOUT_FAILED'\\n    if not integer(q.get('observed_at')): return 'QUOTA_TIME_INVALID'\\n    if q['observed_at']>now: return 'QUOTA_FROM_FUTURE'\\n    if now-q['observed_at']>MAX_QUOTA_AGE_SECONDS: return 'QUOTA_STALE'\\n    if not integer(q.get('total'),1) or not integer(q.get('used')) or not integer(q.get('free')):\\n        return 'QUOTA_FIELDS_INVALID'\\n    if q['used']+q['free']>q['total']: return 'QUOTA_INCONSISTENT'\\n    return None\\n\",\"source_sha256\":\"9c1df5fc245f3aea3ae88b08a0073f11e33bdfa2a082cbaa394d5952b9c3d298\"}\n45:CLOUDLARGE_REQUIRED_METHODS_PRESENT=NO\n46:PROOF_EXCEPTION_CLASS=builtins.RuntimeError\n47:PROOF_EXCEPTION_MESSAGE_SHA256=5bd3a5256c322cd1546a6b63d6b2d21d4c3c0d1b2f1386678f3036dc70061863\n48:STATUS=FAIL\n49:PHASE=CLOUD_ADAPTER_MAPPING_CONSTRUCTOR_CONTRACT_PROOF\n50:REASON=CLOUDLARGE_REQUIRED_METHODS\n51:NEXT_GATE=STOP\n52:CHANGES_MADE=false\n53:MUTATION_OUTCOME=NO_MUTATION\n54:PRODUCTION_PROMOTION=NO\n55:BACKUP_EXECUTIONS=0\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-CLOUD-ADAPTER-MAPPING-CONSTRUCTOR-CONTRACT-PROOF-430R1-20260915T144509Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log|SHA256=e28442fce699135a678d87f47199ecead0bb39ff250c5f9b54c7acbfe40c08d7|BYTES=42268\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log\n75:OVERLAY_CONTEXT_entry504_py_02_LINE_0051=else:\n76:OVERLAY_CONTEXT_entry504_py_02_LINE_0052=continue\n77:OVERLAY_CONTEXT_entry504_py_03_RANGE=58-70\n78:OVERLAY_CONTEXT_entry504_py_03_LINE_0058=found[id(g)]=g\n79:OVERLAY_CONTEXT_entry504_py_03_LINE_0059=if len(found)!=1:\n80:OVERLAY_CONTEXT_entry504_py_03_LINE_0060=raise RuntimeError('LEGACY_PROVENANCE_CARDINALITY')\n81:OVERLAY_CONTEXT_entry504_py_03_LINE_0061=g=next(iter(found.values()))\n82:OVERLAY_CONTEXT_entry504_py_03_LINE_0062=required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',\n83:OVERLAY_CONTEXT_entry504_py_03_LINE_0063='_default_unprivileged_lxc','mapped_scratch_probe','_stream_argv_to_local','run',\n84:OVERLAY_CONTEXT_entry504_py_03_LINE_0064='choose_due_target','write_state','epoch')\n85:OVERLAY_CONTEXT_entry504_py_03_LINE_0065=if any(not callable(g.get(n)) for n in required):\n86:OVERLAY_CONTEXT_entry504_py_03_LINE_0066=raise RuntimeError('LEGACY_PROVENANCE_API')\n87:OVERLAY_CONTEXT_entry504_py_03_LINE_0067=original=g['capture_pve_guest']\n88:OVERLAY_CONTEXT_entry504_py_03_LINE_0068=proxy=_GlobalsProxy(g)\n89:OVERLAY_CONTEXT_entry504_py_03_LINE_0069=if not isinstance(g.get('SCP'),str) or not g['SCP'].startswith('/'):\n90:OVERLAY_CONTEXT_entry504_py_03_LINE_0070=raise RuntimeError('LEGACY_SCP_API')\n91:OVERLAY_CONTEXT_entry504_py_04_RANGE=74-131\n92:OVERLAY_CONTEXT_entry504_py_04_LINE_0074=patched=lxc_adapter.bind(proxy,qemu_patched)\n93:OVERLAY_CONTEXT_entry504_py_04_LINE_0075=if not callable(patched):\n94:OVERLAY_CONTEXT_entry504_py_04_LINE_0076=raise RuntimeError('LXC_ADAPTER_BIND_RESULT')\n95:OVERLAY_CONTEXT_entry504_py_04_LINE_0077=g['capture_pve_guest']=patched\n96:OVERLAY_CONTEXT_entry504_py_04_LINE_0078=scheduler_wired=scheduler_adapter.bind(proxy,g['choose_due_target'],g['write_state'])\n97:OVERLAY_CONTEXT_entry504_py_04_LINE_0079=if g.get('choose_due_target') is not scheduler_wired['choose_due_target'] or g.get('write_state') is not scheduler_wired['write_state']:\n98:OVERLAY_CONTEXT_entry504_py_04_LINE_0080=raise RuntimeError('SCHEDULER_ADAPTER_BIND_RESULT')\n99:OVERLAY_CONTEXT_entry504_py_04_LINE_0081=return {'legacy_globals':g,'legacy':proxy,'original_capture':original,'qemu_patched_capture':qemu_patched,'patched_capture':patched,'scheduler_wired':scheduler_wired}\n100:OVERLAY_CONTEXT_entry504_py_04_LINE_0082=\n101:OVERLAY_CONTEXT_entry504_py_04_LINE_0083=def _load():\n102:OVERLAY_CONTEXT_entry504_py_04_LINE_0084=_verify_base()\n103:OVERLAY_CONTEXT_entry504_py_04_LINE_0085=sys.dont_write_bytecode=True\n104:OVERLAY_CONTEXT_entry504_py_04_LINE_0086=sys.path.insert(0,str(BASE))\n105:OVERLAY_CONTEXT_entry504_py_04_LINE_0087=wrapper=importlib.import_module('wrapper')\n106:OVERLAY_CONTEXT_entry504_py_04_LINE_0088=# Baseline accepted wrapper selftest stays the compatibility gate; no full old legacy selftest is reintroduced.\n107:OVERLAY_CONTEXT_entry504_py_04_LINE_0089=wrapper.selftest()\n108:OVERLAY_CONTEXT_entry504_py_04_LINE_0090=sys.path.insert(0,str(HERE))\n109:OVERLAY_CONTEXT_entry504_py_04_LINE_0091=lxc_adapter=importlib.import_module('lxc_adapter')\n110:OVERLAY_CONTEXT_entry504_py_04_LINE_0092=qemu_adapter=importlib.import_module('qemu_adapter')\n111:OVERLAY_CONTEXT_entry504_py_04_LINE_0093=scheduler_adapter=importlib.import_module('scheduler_adapter')\n112:OVERLAY_CONTEXT_entry504_py_04_LINE_0094=if _sha(HERE/'lxc_adapter.py')!='3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d':\n113:OVERLAY_CONTEXT_entry504_py_04_LINE_0095=raise RuntimeError('LXC_502_BYTE_IDENTITY')\n114:OVERLAY_CONTEXT_entry504_py_04_LINE_0096=wired=_wire(wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,BASE)\n115:OVERLAY_CONTEXT_entry504_py_04_LINE_0097=return wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired\n116:OVERLAY_CONTEXT_entry504_py_04_LINE_0098=\n117:OVERLAY_CONTEXT_entry504_py_04_LINE_0099=def _target(wrapper,lid):\n118:OVERLAY_CONTEXT_entry504_py_04_LINE_0100=rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]\n119:OVERLAY_CONTEXT_entry504_py_04_LINE_0101=if len(hits)!=1: raise RuntimeError('TARGET_CARDINALITY')\n120:OVERLAY_CONTEXT_entry504_py_04_LINE_0102=return hits[0]\n121:OVERLAY_CONTEXT_entry504_py_04_LINE_0103=\n122:OVERLAY_CONTEXT_entry504_py_04_LINE_0104=def selftest():\n123:OVERLAY_CONTEXT_entry504_py_04_LINE_0105=wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()\n124:OVERLAY_CONTEXT_entry504_py_04_LINE_0106=if wired['legacy_globals'].get('capture_pve_guest') is not wired['patched_capture']:\n125:OVERLAY_CONTEXT_entry504_py_04_LINE_0107=raise RuntimeError('PATCH_BINDING')\n126:OVERLAY_CONTEXT_entry504_py_04_LINE_0108=if wired['legacy_globals'].get('choose_due_target') is not wired['scheduler_wired']['choose_due_target']:\n127:OVERLAY_CONTEXT_entry504_py_04_LINE_0109=raise RuntimeError('SCHEDULER_CHOOSE_BINDING')\n128:OVERLAY_CONTEXT_entry504_py_04_LINE_0110=if wired['legacy_globals'].get('write_state') is not wired['scheduler_wired']['write_state']:\n129:OVERLAY_CONTEXT_entry504_py_04_LINE_0111=raise RuntimeError('SCHEDULER_WRITE_BINDING')\n130:OVERLAY_CONTEXT_entry504_py_04_LINE_0112=if [scheduler_adapter.backoff_seconds(n) for n in range(1,7)]!=[1800,3600,7200,14400,21600,21600]:\n131:OVERLAY_CONTEXT_entry504_py_04_LINE_0113=raise RuntimeError('SCHEDULER_BACKOFF_CONTRACT')\n132:OVERLAY_CONTEXT_entry504_py_04_LINE_0114=if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):\n133:OVERLAY_CONTEXT_entry504_py_04_LINE_0115=raise RuntimeError('WRAPPER_PUBLIC_API')\n134:OVERLAY_CONTEXT_entry504_py_04_LINE_0116=print('SELFTEST_OVERLAY504=PASS',flush=True)\n135:OVERLAY_CONTEXT_entry504_py_04_LINE_0117=return 0\n136:OVERLAY_CONTEXT_entry504_py_04_LINE_0118=\n137:OVERLAY_CONTEXT_entry504_py_04_LINE_0119=def main(argv=None):\n138:OVERLAY_CONTEXT_entry504_py_04_LINE_0120=argv=list(sys.argv[1:] if argv is None else argv)\n139:OVERLAY_CONTEXT_entry504_py_04_LINE_0121=if argv==['selftest']:\n140:OVERLAY_CONTEXT_entry504_py_04_LINE_0122=return selftest()\n141:OVERLAY_CONTEXT_entry504_py_04_LINE_0123=wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()\n142:OVERLAY_CONTEXT_entry504_py_04_LINE_0124=legacy=wired['legacy']\n143:OVERLAY_CONTEXT_entry504_py_04_LINE_0125=if argv==['scheduler-proof']:\n144:OVERLAY_CONTEXT_entry504_py_04_LINE_0126=import tempfile\n145:OVERLAY_CONTEXT_entry504_py_04_LINE_0127=legacy=wired['legacy']; g=wired['legacy_globals']\n146:OVERLAY_CONTEXT_entry504_py_04_LINE_0128=old_root=g.get('STATE_ROOT'); old_epoch=g.get('epoch')\n147:OVERLAY_CONTEXT_entry504_py_04_LINE_0129=if old_root is None or not callable(old_epoch): raise RuntimeError('SCHEDULER_PROOF_BASE')\n148:OVERLAY_CONTEXT_entry504_py_04_LINE_0130=now=[1000]\n149:OVERLAY_CONTEXT_entry504_py_04_LINE_0131=try:\n150:OVERLAY_MATCH_FILE=fresh_lxc_helper.py\n151:OVERLAY_MATCH_SHA256=dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011\n152:OVERLAY_MATCH_LINE_COUNT=1\n153:OVERLAY_MATCH_LINES=4\n154:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_RANGE=1-12\n155:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0001=from __future__ import annotations\n156:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0002=import base64, hashlib, json, pathlib, sys\n161:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0007=\n162:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0008=def sha(p:pathlib.Path)->str:\n163:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0009=return hashlib.sha256(p.read_bytes()).hexdigest()\n164:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0010=\n165:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0011=def fail(code:str):\n166:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0012=raise RuntimeError(code)\n167:OVERLAY_MATCH_FILE=lxc_adapter.py\n168:OVERLAY_MATCH_SHA256=3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d\n169:OVERLAY_MATCH_LINE_COUNT=19\n170:OVERLAY_MATCH_LINES=2,7,36,44,45,52,55,57,59,68,95,112,130,133,158,162,199,200,213\n171:OVERLAY_CONTEXT_lxc_adapter_py_01_RANGE=1-15\n172:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0001=from __future__ import annotations\n173:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0002=import base64, hashlib, json, os, pathlib, re, selectors, shlex, signal, stat, subprocess, sys, time\n174:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0003=\n175:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0004=PVESH_SHA='9ed13d4c2d82e7864ff0192c428da7669af263f81dfcc84d5a981ca98fee8439'\n177:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0006=HELPER=pathlib.Path(__file__).resolve().parent/'fresh_lxc_helper.py'\n178:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0007=EXEC_HELPER=pathlib.Path(__file__).resolve().parent/'producer_exec_helper.py'\n179:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0008=MAX_STDERR=262144\n180:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0009=ENV={'PATH':'/usr/sbin:/usr/bin:/sbin:/bin','LC_ALL':'C','LANG':'C','HOME':'/root','PYTHONDONTWRITEBYTECODE':'1'}\n181:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0010=\n182:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0011=class AdapterError(RuntimeError): pass\n183:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0012=class ExecFailure(AdapterError):\n184:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0013=def __init__(self,code,summary): super().__init__(code); self.code=code; self.summary=summary\n185:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0014=\n186:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0015=def _need(ok:bool,code:str):\n187:OVERLAY_CONTEXT_lxc_adapter_py_02_RANGE=32-76\n188:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0032=if n<=0: raise AdapterError('WRITE_FAILED')\n189:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0033=view=view[n:]\n190:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0034=\n191:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0035=def _remote_sha(legacy,node,path):\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1-20260919T003820Z.log|SHA256=3e4dab24b71ae8f995090b36fbd24d331adf17f6211ea698f8424facf3816277|BYTES=207\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1-20260919T003820Z.log\n1:NEWFI127R1_BEGIN\n2:COMMAND_ID=NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1\n3:NEWFI127R1_SAFE_REPORT={\"changes_made\":false,\"decision\":\"FAIL_AUTOCONTENT210_AUDIT_HOLD\",\"error\":\"RuntimeError:RUNTIME_PARITY:job\"}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1-20260919T003820Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1-20260920T153450Z.log|SHA256=5f258fda45665249cf37bd1297e310c60b5c46f77d05aed62072891b7923d737|BYTES=32409\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1-20260920T153450Z.log\n33:STAGING_STYLE_RENDER_ATTEMPT_03={\"attempt\":3,\"outer_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"outer_stdout_sha256\":\"a03572c1c6174e8c465db1fb2ec8a8d34a221cee2b60ff94250b4e21167861d3\",\"qga_err_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"qga_err_truncated\":null,\"qga_exitcode\":0,\"qga_exited\":1,\"qga_out_truncated\":0,\"qm_guest_exec_rc\":0,\"verifier\":{\"ok\":true,\"rows\":[{\"bytes\":77592,\"code\":200,\"css_bytes\":327161,\"css_codes\":[{\"bytes\":319158,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},{\"bytes\":8002,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}],\"css_ref_count\":2,\"css_refs\":[\"/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4\",\"/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513\"],\"css_sha256\":\"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798\",\"curl_rc\":0,\"html_sha256\":\"c5f4592ad13073ca8525575d02cee4c8eed60283decb4804eb6241a154f37bba\",\"html_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"marker_context\":\"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma\",\"mobile_ua\":false,\"ok\":true,\"predicates\":{\"body_gt_1000\":true,\"css_fetch_all_ok\":true,\"css_marker_name_present\":true,\"css_marker_semantic\":true,\"css_ref_count_gt0\":true,\"has_brand753r4\":true,\"has_pvepro\":true,\"has_ru_category\":true,\"has_ru_forum\":true,\"index_curl_rc0\":true,\"index_http_200\":true,\"strict_utf8\":true,\"style_ref_child\":true}},{\"bytes\":77592,\"code\":200,\"css_bytes\":327161,\"css_codes\":[{\"bytes\":319158,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},{\"bytes\":8002,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}],\"css_ref_count\":2,\"css_refs\":[\"/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4\",\"/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513\"],\"css_sha256\":\"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798\",\"curl_rc\":0,\"html_sha256\":\"7383e1de580b1bdda88f34e85f3f27c95a0ba36cf144539a6dbf81a06724fb85\",\"html_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"marker_context\":\"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma\",\"mobile_ua\":true,\"ok\":true,\"predicates\":{\"body_gt_1000\":true,\"css_fetch_all_ok\":true,\"css_marker_name_present\":true,\"css_marker_semantic\":true,\"css_ref_count_gt0\":true,\"has_brand753r4\":true,\"has_pvepro\":true,\"has_ru_category\":true,\"has_ru_forum\":true,\"index_curl_rc0\":true,\"index_http_200\":true,\"strict_utf8\":true,\"style_ref_child\":true}}],\"style_id\":2}}\n34:STAGING_STYLE_RENDER_ACCEPTED_3={\"ok\":true,\"rows\":[{\"bytes\":77592,\"code\":200,\"css_bytes\":327161,\"css_codes\":[{\"bytes\":319158,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},{\"bytes\":8002,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}],\"css_ref_count\":2,\"css_refs\":[\"/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4\",\"/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513\"],\"css_sha256\":\"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798\",\"curl_rc\":0,\"html_sha256\":\"c5f4592ad13073ca8525575d02cee4c8eed60283decb4804eb6241a154f37bba\",\"html_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"marker_context\":\"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma\",\"mobile_ua\":false,\"ok\":true,\"predicates\":{\"body_gt_1000\":true,\"css_fetch_all_ok\":true,\"css_marker_name_present\":true,\"css_marker_semantic\":true,\"css_ref_count_gt0\":true,\"has_brand753r4\":true,\"has_pvepro\":true,\"has_ru_category\":true,\"has_ru_forum\":true,\"index_curl_rc0\":true,\"index_http_200\":true,\"strict_utf8\":true,\"style_ref_child\":true}},{\"bytes\":77592,\"code\":200,\"css_bytes\":327161,\"css_codes\":[{\"bytes\":319158,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},{\"bytes\":8002,\"code\":200,\"rc\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"}],\"css_ref_count\":2,\"css_refs\":[\"/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4\",\"/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513\"],\"css_sha256\":\"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798\",\"curl_rc\":0,\"html_sha256\":\"7383e1de580b1bdda88f34e85f3f27c95a0ba36cf144539a6dbf81a06724fb85\",\"html_stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"marker_context\":\"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma\",\"mobile_ua\":true,\"ok\":true,\"predicates\":{\"body_gt_1000\":true,\"css_fetch_all_ok\":true,\"css_marker_name_present\":true,\"css_marker_semantic\":true,\"css_ref_count_gt0\":true,\"has_brand753r4\":true,\"has_pvepro\":true,\"has_ru_category\":true,\"has_ru_forum\":true,\"index_curl_rc0\":true,\"index_http_200\":true,\"strict_utf8\":true,\"style_ref_child\":true}}],\"style_id\":2}\n35:STAGING_STYLE_RENDER_GOOD_SAMPLES=3\n36:STAGING_STYLE_POSTSTATE={\"boardActive\":false,\"defaultStyleId\":2,\"defaultStyleIdDb\":\"2\",\"effectiveMatchCount\":42,\"effectiveMismatches\":[],\"effectiveTargetCount\":42,\"errors\":16,\"mapRows\":284,\"physicalChildPropertyRows\":40,\"propertyGroupRows\":0,\"style\":{\"description\":\"PVEPro visual style\",\"enable_variations\":1,\"parent_id\":1,\"style_id\":2,\"title\":\"PVEPro\",\"user_selectable\":1},\"templateRows\":0}\n37:STAGING_CHILD_STYLE_POSTSTATE={\"count\":1,\"default\":2,\"default_db\":\"2\",\"rows\":[{\"parent_id\":1,\"style_id\":2,\"title\":\"PVEPro\"}],\"styleRebuild\":0,\"styles\":2}\n38:VISUAL_STYLE_STAGING_ERROR_CLASS=RuntimeError\n39:VISUAL_STYLE_STAGING_ERROR_SHA256=5ffc7d25d037e5606dc374388369df32158e9404259e1398246ab42ff4c73686\n40:ROLLBACK_STARTED=True\n41:ROLLBACK_RESTORED=False\n42:TASK_RESULT=PVEPRO_VISUAL_STYLE_STAGING_DEPLOY_EFFECTIVE42_RENDERFIX_FAILED\n43:HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1\",\"rollback_restored\":false,\"rollback_started\":true,\"status\":\"FAIL\",\"version\":1}\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1-20260920T153450Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-VM-2CLOUD-NOLOCAL-FIX-433-20260724T100937Z.log|SHA256=41fc6b0e8c0f55e94079117bbc6ea01b65eb0d231b8e30a872d586a88eaa145a|BYTES=380\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-VM-2CLOUD-NOLOCAL-FIX-433-20260724T100937Z.log\n1:Traceback (most recent call last):\n2:  File \"\", line 199, in \n3:    raise RuntimeError(\"JQ_ARGUMENT_INSERTION_POINT_INVALID\")\n4:RuntimeError: JQ_ARGUMENT_INSERTION_POINT_INVALID\n5:DETAIL=RUNTIME_ORIGINAL_SHA256=1de52eb4ddb17b0ecff2cf3f3021e65b92e91fb44416f97943c51e248c512ed6\n6:DETAIL=DESIRED_ORIGINAL_SHA256=1de52eb4ddb17b0ecff2cf3f3021e65b92e91fb44416f97943c51e248c512ed6\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-VM-2CLOUD-NOLOCAL-FIX-433-20260724T100937Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/READONLY-RESULT-INTEGRATION-AUDIT-20260727T062905Z-20260727T062957Z.log|SHA256=ebaf3b2299c523af65061ab730a85e8753b5d47ec3427fa3947662acb7239911|BYTES=1525\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/READONLY-RESULT-INTEGRATION-AUDIT-20260727T062905Z-20260727T062957Z.log\n1:Traceback (most recent call last):\n2:  File \"/var/lib/homelab-command-adapter/capsules/68856b3837c49738a5c0e67429bb71e95c3f2fae80b62011f2ed7922e1db133d/payload/audit.py\", line 676, in \n3:    raise SystemExit(main())\n4:                     ~~~~^^\n5:  File \"/var/lib/homelab-command-adapter/capsules/68856b3837c49738a5c0e67429bb71e95c3f2fae80b62011f2ed7922e1db133d/payload/audit.py\", line 262, in main\n6:    sanitize_match = re.search(\n7:        r\"def sanitize_state\\\\(\"\n8:    ...<3 lines>...\n9:        flags=re.DOTALL,\n10:    )\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/READONLY-RESULT-INTEGRATION-AUDIT-20260727T062905Z-20260727T062957Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GITEA-READER-NGINX-DECISION-DETAIL-256-20260722T201633Z.log|SHA256=7e0a0a24e1fa4036a0bcd8295cda65d584c20b48b95483a0e687f5226ffbf11a|BYTES=2262\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GITEA-READER-NGINX-DECISION-DETAIL-256-20260722T201633Z.log\n1:PREVIOUS_COMMAND_ID=GITEA-READER-NGINX-DECISION-255\n2:=== DECISION_255 ===\n3:=== RAW_ERRORS_255 ===\n4:1:Traceback (most recent call last):\n5:29:FileNotFoundError: [Errno 2] No such file or directory: '/usr/sbin/nginx'\n6:=== RAW_TAIL_255 ===\n7:Traceback (most recent call last):\n8:  File \"\", line 19, in \n9:    test=subprocess.run([\"/usr/sbin/nginx\",\"-t\"],text=True,capture_output=True)\n10:  File \"/usr/lib/python3.13/subprocess.py\", line 554, in run\n11:    with Popen(*popenargs, **kwargs) as process:\n12:         ~~~~~^^^^^^^^^^^^^^^^^^^^^^\n13:  File \"/usr/lib/python3.13/subprocess.py\", line 1039, in __init__\n14:    self._execute_child(args, executable, preexec_fn, close_fds,\n15:    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n16:                        pass_fds, cwd, env,\nEVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GITEA-READER-NGINX-DECISION-DETAIL-256-20260722T201633Z.log\nEVIDENCE_FILE=/var/lib/homelab-chat-run/raw/ERROR-REGISTER-AUDIT-091-20260721T135306Z.log|SHA256=e43bbade59b1bfcd5ab4eafebcabef112401cb53da0426adac776ac3e44e9a85|BYTES=1896603\nEVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/ERROR-REGISTER-AUDIT-091-20260721T135306Z.log\n25:  \"raw_evidence_retained_locally\": true,\n26:  \"raw_evidence_sha256\": \"5b605821399533c76b6f75d9c99a78e303282b76de059e6a4fa1e85b94d655b8\",\n27:  \"sanitized_output_sha256\": \"5b605821399533c76b6f75d9c99a78e303282b76de059e6a4fa1e85b94d655b8\",\n28:  \"output_truncated_in_json\": true,\n29:  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n30:  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n  \\\"schema_version\\\": 1,\\n  \\\"channel\\\": \\\"homelab-runtime\\\",\\n  \\\"command_id\\\": \\\"ERROR-REGISTER-PRECHECK-091\\\",\\n  \\\"status\\\": \\\"OK\\\",\\n  \\\"rc\\\": 0,\\n  \\\"host\\\": \\\"pve01\\\",\\n  \\\"mode\\\": \\\"read-only\\\",\\n  \\\"component\\\": \\\"cluster-audit\\\",\\n  \\\"started_at_utc\\\": \\\"2026-07-21T13:48:38Z\\\",\\n  \\\"finished_at_utc\\\": \\\"2026-07-21T13:48:38Z\\\",\\n  \\\"reference_register_checked\\\": true,\\n  \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n  \\\"error_register_checked\\\": true,\\n  \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n  \\\"command_sha256\\\": \\\"07475c2ba97e41926fdd14b9635c532ad47eab45b3f6308dcd31f37eefba2fa3\\\",\\n  \\\"duplicate_failed_command_blocked\\\": false,\\n  \\\"block_reason\\\": null,\\n  \\\"execution_started\\\": true,\\n  \\\"changes_made\\\": false,\\n  \\\"sanitized\\\": true,\\n  \\\"secrets_included\\\": false,\\n  \\\"private_addresses_included\\\": false,\\n  \\\"raw_evidence_retained_locally\\\": true,\\n  \\\"raw_evidence_sha256\\\": \\\"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\\\",\\n  \\\"sanitized_output_sha256\\\": \\\"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\\\",\\n  \\\"output_truncated_in_json\\\": true,\\n  \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n  \\\"output\\\": \\\"=== CURRENT_RUNTIME ===\\\\n{\\\\n    \\\\\\\"schema_version\\\\\\\": 1,\\\\n    \\\\\\\"channel\\\\\\\": \\\\\\\"homelab-runtime\\\\\\\",\\\\n    \\\\\\\"command_id\\\\\\\": \\\\\\\"CRITICAL-TAILS-TRIAGE-091\\\\\\\",\\\\n    \\\\\\\"status\\\\\\\": \\\\\\\"OK\\\\\\\",\\\\n    \\\\\\\"rc\\\\\\\": 0,\\\\n    \\\\\\\"host\\\\\\\": \\\\\\\"pve01\\\\\\\",\\\\n    \\\\\\\"mode\\\\\\\": \\\\\\\"read-only\\\\\\\",\\\\n    \\\\\\\"component\\\\\\\": \\\\\\\"cluster-audit\\\\\\\",\\\\n    \\\\\\\"started_at_utc\\\\\\\": \\\\\\\"2026-07-21T13:45:21Z\\\\\\\",\\\\n    \\\\\\\"finished_at_utc\\\\\\\": \\\\\\\"2026-07-21T13:45:21Z\\\\\\\",\\\\n    \\\\\\\"reference_register_checked\\\\\\\": true,\\\\n    \\\\\\\"reference_sha256\\\\\\\": \\\\\\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\\\\\",\\\\n    \\\\\\\"error_register_checked\\\\\\\": true,\\\\n    \\\\\\\"error_register_sha256\\\\\\\": \\\\\\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\\\\\",\\\\n    \\\\\\\"command_sha256\\\\\\\": \\\\\\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\\\\\",\\\\n    \\\\\\\"duplicate_failed_command_blocked\\\\\\\": false,\\\\n    \\\\\\\"block_reason\\\\\\\": null,\\\\n    \\\\\\\"execution_started\\\\\\\": true,\\\\n    \\\\\\\"changes_made\\\\\\\": false,\\\\n    \\\\\\\"sanitized\\\\\\\": true,\\\\n    \\\\\\\"secrets_included\\\\\\\": false,\\\\n    \\\\\\\"private_addresses_included\\\\\\\": false,\\\\n    \\\\\\\"raw_evidence_retained_locally\\\\\\\": true,\\\\n    \\\\\\\"raw_evidence_sha256\\\\\\\": \\\\\\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\\\\\",\\\\n    \\\\\\\"sanitized_output_sha256\\\\\\\": \\\\\\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\\\\\",\\\\n    \\\\\\\"output_truncated_in_json\\\\\\\": false,\\\\n    \\\\\\\"full_sanitized_output_url\\\\\\\": \\\\\\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\\\\\",\\\\n    \\\\\\\"output\\\\\\\": \\\\\\\"=== SOURCE ===\\\\\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\\\\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\\\\\\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\\\\\\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\\\\\\\n--\\\\\\\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five in\n31:}\n32:\n33:=== RUNNER_REGISTER_LOGIC ===\n34:13-  change\n35:14-  transport-test\n36:15-\n37:16-Environment:\n38:17:  HOMELAB_ALLOW_REPEAT=1   Allow exact repeat of a previously failed command.\n39:18-  HOMELAB_TIMEOUT=SECONDS  Optional command timeout.\n351:46-  \"raw_evidence_retained_locally\": true,\n352:47-  \"raw_evidence_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n353:48-  \"sanitized_output_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n354:49-  \"output_truncated_in_json\": true,\n355:50-  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n356:51:  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n    \\\"schema_version\\\": 1,\\n    \\\"channel\\\": \\\"homelab-runtime\\\",\\n    \\\"command_id\\\": \\\"CRITICAL-TAILS-TRIAGE-091\\\",\\n    \\\"status\\\": \\\"OK\\\",\\n    \\\"rc\\\": 0,\\n    \\\"host\\\": \\\"pve01\\\",\\n    \\\"mode\\\": \\\"read-only\\\",\\n    \\\"component\\\": \\\"cluster-audit\\\",\\n    \\\"started_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"finished_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"reference_register_checked\\\": true,\\n    \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n    \\\"error_register_checked\\\": true,\\n    \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n    \\\"command_sha256\\\": \\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\",\\n    \\\"duplicate_failed_command_blocked\\\": false,\\n    \\\"block_reason\\\": null,\\n    \\\"execution_started\\\": true,\\n    \\\"changes_made\\\": false,\\n    \\\"sanitized\\\": true,\\n    \\\"secrets_included\\\": false,\\n    \\\"private_addresses_included\\\": false,\\n    \\\"raw_evidence_retained_locally\\\": true,\\n    \\\"raw_evidence_sha256\\\": \\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\",\\n    \\\"sanitized_output_sha256\\\": \\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\",\\n    \\\"output_truncated_in_json\\\": false,\\n    \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n    \\\"output\\\": \\\"=== SOURCE ===\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\\\n--\\\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\\\n135-792:- Failure class: \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u0445\\\\u043e\\\\u0434 \\\\u043a \\\\u0441\\\\u043b\\\\u0435\\\\u0434\\\\u0443\\\\u044e\\\\u0449\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0434\\\\u0430\\\\u0447\\\\u0435 \\\\u043f\\\\u0440\\\\u0438 \\\\u043d\\\\u0430\\\\u043b\\\\u0438\\\\u0447\\\\u0438\\\\u0438 \\\\u043d\\\\u0435\\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u043e\\\\u0433\\\\u043e \\\\u0445\\\\u0432\\\\u043e\\\\u0441\\\\u0442\\\\u0430.\\\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\\\n137-795:- \\\\u0415\\\\u0441\\\\u043b\\\\u0438 \\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u0438\\\\u0435 \\\\u043d\\\\u0435\\\\u0432\\\\u043e\\\\u0437\\\\u043c\\\\u043e\\\\u0436\\\\u043d\\\\u043e \\\\u0438\\\\u0437-\\\\u0437\\\\u0430 \\\\u0432\\\\u043d\\\\u0435\\\\u0448\\\\u043d\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0432\\\\u0438\\\\u0441\\\\u0438\\\\u043c\\\\u043e\\\\u0441\\\\u0442\\\\u0438, \\\\u043e\\\\u043f\\\\u0430\\\\u0441\\\\u043d\\\\u043e\\\\u0439 \\\\u043d\\\\u0435\\\\u043e\\\\u0434\\\\u043d\\\\u043e\\\\u0437\\\\u043d\\\\u0430\\\\u0447\\\\u043d\\\\u043e\\\\u0441\\\\u0442\\\\u0438 \\\\u0438\\\\u043b\\\\u0438 \\\\u043e\\\\u0431\\\\u044f\\\\u0437\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044c\\\\u043d\\\\u043e\\\\u0433\\\\u043e \\\\u0440\\\\u0435\\\\u0448\\\\u0435\\\\u043d\\\\u0438\\\\u044f \\\\u043f\\\\u043e\\\\u043b\\\\u044c\\\\u0437\\\\u043e\\\\u0432\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044\n357:52-}\n358:53-\n359:54-=== RUNNER_ERROR_REGISTER_LOGIC ===\n360:55-13-  change\n361:56-14-  transport-test\n362:57-15-\n363:58-16-Environment:\n364:59-17:  HOMELAB_ALLOW_REPEAT=1   Allow exact repeat of a previously failed command.\n365:60-18-  HOMELAB_TIMEOUT=SECONDS  Optional command timeout.\n564:474-24-  \"raw_evidence_retained_locally\": true,\n565:475-25-  \"raw_evidence_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n566:476-26-  \"sanitized_output_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n567:477-27-  \"output_truncated_in_json\": true,\n568:478-28-  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n569:479:29:  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n    \\\"schema_version\\\": 1,\\n    \\\"channel\\\": \\\"homelab-runtime\\\",\\n    \\\"command_id\\\": \\\"CRITICAL-TAILS-TRIAGE-091\\\",\\n    \\\"status\\\": \\\"OK\\\",\\n    \\\"rc\\\": 0,\\n    \\\"host\\\": \\\"pve01\\\",\\n    \\\"mode\\\": \\\"read-only\\\",\\n    \\\"component\\\": \\\"cluster-audit\\\",\\n    \\\"started_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"finished_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"reference_register_checked\\\": true,\\n    \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n    \\\"error_register_checked\\\": true,\\n    \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n    \\\"command_sha256\\\": \\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\",\\n    \\\"duplicate_failed_command_blocked\\\": false,\\n    \\\"block_reason\\\": null,\\n    \\\"execution_started\\\": true,\\n    \\\"changes_made\\\": false,\\n    \\\"sanitized\\\": true,\\n    \\\"secrets_included\\\": false,\\n    \\\"private_addresses_included\\\": false,\\n    \\\"raw_evidence_retained_locally\\\": true,\\n    \\\"raw_evidence_sha256\\\": \\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\",\\n    \\\"sanitized_output_sha256\\\": \\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\",\\n    \\\"output_truncated_in_json\\\": false,\\n    \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n    \\\"output\\\": \\\"=== SOURCE ===\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\\\n--\\\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\\\n135-792:- Failure class: \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u0445\\\\u043e\\\\u0434 \\\\u043a \\\\u0441\\\\u043b\\\\u0435\\\\u0434\\\\u0443\\\\u044e\\\\u0449\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0434\\\\u0430\\\\u0447\\\\u0435 \\\\u043f\\\\u0440\\\\u0438 \\\\u043d\\\\u0430\\\\u043b\\\\u0438\\\\u0447\\\\u0438\\\\u0438 \\\\u043d\\\\u0435\\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u043e\\\\u0433\\\\u043e \\\\u0445\\\\u0432\\\\u043e\\\\u0441\\\\u0442\\\\u0430.\\\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\\\n137-795:- \\\\u0415\\\\u0441\\\\u043b\\\\u0438 \\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u0438\\\\u0435 \\\\u043d\\\\u0435\\\\u0432\\\\u043e\\\\u0437\\\\u043c\\\\u043e\\\\u0436\\\\u043d\\\\u043e \\\\u0438\\\\u0437-\\\\u0437\\\\u0430 \\\\u0432\\\\u043d\\\\u0435\\\\u0448\\\\u043d\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0432\\\\u0438\\\\u0441\\\\u0438\\\\u043c\\\\u043e\\\\u0441\\\\u0442\\\\u0438, \\\\u043e\\\\u043f\\\\u0430\\\\u0441\\\\u043d\\\\u043e\\\\u0439 \\\\u043d\\\\u0435\\\\u043e\\\\u0434\\\\u043d\\\\u043e\\\\u0437\\\\u043d\\\\u0430\\\\u0447\\\\u043d\\\\u043e\\\\u0441\\\\u0442\\\\u0438 \\\\u0438\\\\u043b\\\\u0438 \\\\u043e\\\\u0431\\\\u044f\\\\u0437\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044c\\\\u043d\\\\u043e\\\\u0433\\\\u043e \\\\u0440\\\\u0435\\\\u0448\\\\u0435\\\\u043d\\\\u0438\\\\u044f \\\\u043f\\\\u043e\\\\u043b\\\\u044c\\\\u0437\\\\u043e\\\\u0432\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\\n570:480-30-}\n571:481:--- FILE=/var/lib/homelab-chat-run/public/CRITICAL-TAILS-TRIAGE-090-20260721T132428Z.json ---\n572:482-SIZE=1307 MTIME=2026-07-21 16:24:28.286105655 +0300\n573:483-1-{\n574:484-2-  \"schema_version\": 1,\n575:485-3-  \"channel\": \"homelab-runtime\",\n576:486:4:  \"command_id\": \"CRITICAL-TAILS-TRIAGE-090\",\n577:487-5-  \"status\": \"FAIL\",\n578:488-6-  \"rc\": 2,\n687:24-  \"raw_evidence_retained_locally\": true,\n688:25-  \"raw_evidence_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n689:26-  \"sanitized_output_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n690:27-  \"output_truncated_in_json\": true,\n691:28-  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n692:29:  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n    \\\"schema_version\\\": 1,\\n    \\\"channel\\\": \\\"homelab-runtime\\\",\\n    \\\"command_id\\\": \\\"CRITICAL-TAILS-TRIAGE-091\\\",\\n    \\\"status\\\": \\\"OK\\\",\\n    \\\"rc\\\": 0,\\n    \\\"host\\\": \\\"pve01\\\",\\n    \\\"mode\\\": \\\"read-only\\\",\\n    \\\"component\\\": \\\"cluster-audit\\\",\\n    \\\"started_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"finished_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"reference_register_checked\\\": true,\\n    \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n    \\\"error_register_checked\\\": true,\\n    \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n    \\\"command_sha256\\\": \\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\",\\n    \\\"duplicate_failed_command_blocked\\\": false,\\n    \\\"block_reason\\\": null,\\n    \\\"execution_started\\\": true,\\n    \\\"changes_made\\\": false,\\n    \\\"sanitized\\\": true,\\n    \\\"secrets_included\\\": false,\\n    \\\"private_addresses_included\\\": false,\\n    \\\"raw_evidence_retained_locally\\\": true,\\n    \\\"raw_evidence_sha256\\\": \\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\",\\n    \\\"sanitized_output_sha256\\\": \\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\",\\n    \\\"output_truncated_in_json\\\": false,\\n    \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n    \\\"output\\\": \\\"=== SOURCE ===\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\\\n--\\\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\\\n135-792:- Failure class: \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u0445\\\\u043e\\\\u0434 \\\\u043a \\\\u0441\\\\u043b\\\\u0435\\\\u0434\\\\u0443\\\\u044e\\\\u0449\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0434\\\\u0430\\\\u0447\\\\u0435 \\\\u043f\\\\u0440\\\\u0438 \\\\u043d\\\\u0430\\\\u043b\\\\u0438\\\\u0447\\\\u0438\\\\u0438 \\\\u043d\\\\u0435\\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u043e\\\\u0433\\\\u043e \\\\u0445\\\\u0432\\\\u043e\\\\u0441\\\\u0442\\\\u0430.\\\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\\\n137-795:- \\\\u0415\\\\u0441\\\\u043b\\\\u0438 \\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u0438\\\\u0435 \\\\u043d\\\\u0435\\\\u0432\\\\u043e\\\\u0437\\\\u043c\\\\u043e\\\\u0436\\\\u043d\\\\u043e \\\\u0438\\\\u0437-\\\\u0437\\\\u0430 \\\\u0432\\\\u043d\\\\u0435\\\\u0448\\\\u043d\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0432\\\\u0438\\\\u0441\\\\u0438\\\\u043c\\\\u043e\\\\u0441\\\\u0442\\\\u0438, \\\\u043e\\\\u043f\\\\u0430\\\\u0441\\\\u043d\\\\u043e\\\\u0439 \\\\u043d\\\\u0435\\\\u043e\\\\u0434\\\\u043d\\\\u043e\\\\u0437\\\\u043d\\\\u0430\\\\u0447\\\\u043d\\\\u043e\\\\u0441\\\\u0442\\\\u0438 \\\\u0438\\\\u043b\\\\u0438 \\\\u043e\\\\u0431\\\\u044f\\\\u0437\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044c\\\\u043d\\\\u043e\\\\u0433\\\\u043e \\\\u0440\\\\u0435\\\\u0448\\\\u0435\\\\u043d\\\\u0438\\\\u044f \\\\u043f\\\\u043e\\\\u043b\\\\u044c\\\\u0437\\\\u043e\\\\u0432\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044\n693:30-}\n694:--- FILE=/var/lib/homelab-chat-run/public/CRITICAL-TAILS-TRIAGE-090-20260721T132428Z.json ---\n695:SIZE=1307 MTIME=2026-07-21 16:24:28.286105655 +0300\n696:1-{\n697:2-  \"schema_version\": 1,\n698:3-  \"channel\": \"homelab-runtime\",\n699:4:  \"command_id\": \"CRITICAL-TAILS-TRIAGE-090\",\n700:5-  \"status\": \"FAIL\",\n701:6-  \"rc\": 2,\n721:25-  \"raw_evidence_retained_locally\": true,\n722:26-  \"raw_evidence_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n723:27-  \"sanitized_output_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n724:28-  \"output_truncated_in_json\": true,\n725:29-  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n726:30:  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n    \\\"schema_version\\\": 1,\\n    \\\"channel\\\": \\\"homelab-runtime\\\",\\n    \\\"command_id\\\": \\\"CRITICAL-TAILS-TRIAGE-091\\\",\\n    \\\"status\\\": \\\"OK\\\",\\n    \\\"rc\\\": 0,\\n    \\\"host\\\": \\\"pve01\\\",\\n    \\\"mode\\\": \\\"read-only\\\",\\n    \\\"component\\\": \\\"cluster-audit\\\",\\n    \\\"started_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"finished_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"reference_register_checked\\\": true,\\n    \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n    \\\"error_register_checked\\\": true,\\n    \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n    \\\"command_sha256\\\": \\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\",\\n    \\\"duplicate_failed_command_blocked\\\": false,\\n    \\\"block_reason\\\": null,\\n    \\\"execution_started\\\": true,\\n    \\\"changes_made\\\": false,\\n    \\\"sanitized\\\": true,\\n    \\\"secrets_included\\\": false,\\n    \\\"private_addresses_included\\\": false,\\n    \\\"raw_evidence_retained_locally\\\": true,\\n    \\\"raw_evidence_sha256\\\": \\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\",\\n    \\\"sanitized_output_sha256\\\": \\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\",\\n    \\\"output_truncated_in_json\\\": false,\\n    \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n    \\\"output\\\": \\\"=== SOURCE ===\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\\\n--\\\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\\\n135-792:- Failure class: \\\\u043f\\\\u0435\\\\u0440\\\\u0435\\\\u0445\\\\u043e\\\\u0434 \\\\u043a \\\\u0441\\\\u043b\\\\u0435\\\\u0434\\\\u0443\\\\u044e\\\\u0449\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0434\\\\u0430\\\\u0447\\\\u0435 \\\\u043f\\\\u0440\\\\u0438 \\\\u043d\\\\u0430\\\\u043b\\\\u0438\\\\u0447\\\\u0438\\\\u0438 \\\\u043d\\\\u0435\\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u043e\\\\u0433\\\\u043e \\\\u0445\\\\u0432\\\\u043e\\\\u0441\\\\u0442\\\\u0430.\\\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\\\n137-795:- \\\\u0415\\\\u0441\\\\u043b\\\\u0438 \\\\u0437\\\\u0430\\\\u043a\\\\u0440\\\\u044b\\\\u0442\\\\u0438\\\\u0435 \\\\u043d\\\\u0435\\\\u0432\\\\u043e\\\\u0437\\\\u043c\\\\u043e\\\\u0436\\\\u043d\\\\u043e \\\\u0438\\\\u0437-\\\\u0437\\\\u0430 \\\\u0432\\\\u043d\\\\u0435\\\\u0448\\\\u043d\\\\u0435\\\\u0439 \\\\u0437\\\\u0430\\\\u0432\\\\u0438\\\\u0441\\\\u0438\\\\u043c\\\\u043e\\\\u0441\\\\u0442\\\\u0438, \\\\u043e\\\\u043f\\\\u0430\\\\u0441\\\\u043d\\\\u043e\\\\u0439 \\\\u043d\\\\u0435\\\\u043e\\\\u0434\\\\u043d\\\\u043e\\\\u0437\\\\u043d\\\\u0430\\\\u0447\\\\u043d\\\\u043e\\\\u0441\\\\u0442\\\\u0438 \\\\u0438\\\\u043b\\\\u0438 \\\\u043e\\\\u0431\\\\u044f\\\\u0437\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044c\\\\u043d\\\\u043e\\\\u0433\\\\u043e \\\\u0440\\\\u0435\\\\u0448\\\\u0435\\\\u043d\\\\u0438\\\\u044f \\\\u043f\\\\u043e\\\\u043b\\\\u044c\\\\u0437\\\\u043e\\\\u0432\\\\u0430\\\\u0442\\\\u0435\\\\u043b\\\\u044\n727:31-}\n728:32-\n729:33-=== RUNNER_ERROR_REGISTER_LOGIC ===\n730:34-13-  change\n731:35-14-  transport-test\n732:36-15-\n733:37-16-Environment:\n734:38-17:  HOMELAB_ALLOW_REPEAT=1   Allow exact repeat of a previously failed command.\n735:39-18-  HOMELAB_TIMEOUT=SECONDS  Optional command timeout.\n934:453-24-  \"raw_evidence_retained_locally\": true,\n935:454-25-  \"raw_evidence_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n936:455-26-  \"sanitized_output_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n937:456-27-  \"output_truncated_in_json\": true,\n938:457-28-  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n939:458:29:  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n    \\\"schema_version\\\": 1,\\n    \\\"channel\\\": \\\"homelab-runtime\\\",\\n    \\\"command_id\\\": \\\"CRITICAL-TAILS-TRIAGE-091\\\",\\n    \\\"status\\\": \\\"OK\\\",\\n    \\\"rc\\\": 0,\\n    \\\"host\\\": \\\"pve01\\\",\\n    \\\"mode\\\": \\\"read-only\\\",\\n    \\\"component\\\": \\\"cluster-audit\\\",\\n    \\\"started_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"finished_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"reference_register_checked\\\": true,\\n    \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n    \\\"error_register_checked\\\": true,\\n    \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n    \\\"command_sha256\\\": \\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\",\\n    \\\"duplicate_failed_command_blocked\\\": false,\\n    \\\"block_reason\\\": null,\\n    \\\"execution_started\\\": true,\\n    \\\"changes_made\\\": false,\\n    \\\"sanitized\\\": true,\\n    \\\"secrets_included\\\": false,\\n    \\\"private_addresses_included\\\": false,\\n    \\\"raw_evidence_retained_locally\\\": true,\\n    \\\"raw_evidence_sha256\\\": \\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\",\\n    \\\"sanitized_output_sha256\\\": \\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\",\\n    \\\"output_truncated_in_json\\\": false,\\n    \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n    \\\"output\\\": \\\"=== SOURCE ===\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\n66-402:## MSMT"
+  "output": "SPB9121_CHANGE={\"preflight\":{\"sha_gate\":\"FAIL:git-read-location.conf\"},\"certs\":{},\"vhosts\":{},\"probes\":{},\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null,\"status\":\"FAIL\"}\nTASK_COMPLETE=true\nTASK_RESULT=FAIL_SPB_HOME_INGRESS_CERT_VHOST_FIX\nDECISION=HOLD_SPB_ON_AND_READ_ROLLBACK_RESULT\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1\",\"status\":\"FAIL\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
 }
diff --git a/runtime/latest.txt b/runtime/latest.txt
index 2194106c..0d44a304 100644
--- a/runtime/latest.txt
+++ b/runtime/latest.txt
@@ -1,22 +1,22 @@
 CHAT_OUTPUT_BEGIN
-COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-FRESHBACKUP-RCA414R1
-STATUS=OK
-RC=0
+COMMAND_ID=SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1
+STATUS=FAIL
+RC=46
 HOST=pve01
-MODE=read-only
-COMPONENT=newfi-dr221-fresh-backup-cloud-quorum-rca
+MODE=change
+COMPONENT=spb-home-ingress-cert-vhost-fix
 REFERENCE_REGISTER_CHECK=OK
 REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
 ERROR_REGISTER_CHECK=OK
 ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
-COMMAND_SHA256=64ca2cfb01827e209d943352287d9986654b0031db0255c51b34987746ae0f22
+COMMAND_SHA256=19656980c92946c1bbb0ba9aaf9418a4db8edfb17dd5d86168a3d66cea57ad8e
 DUPLICATE_FAILED_COMMAND_BLOCKED=false
 EXECUTION_STARTED=true
-CHANGE_DECLARED=false
+CHANGE_DECLARED=true
 RESULT_CONTRACT_VALID=true
-RESULT_CONTRACT_STATUS=NOT_APPLICABLE
+RESULT_CONTRACT_STATUS=FAIL
 RESULT_CONTRACT_ERROR=NONE
-COMMAND_RC=0
+COMMAND_RC=46
 CHANGES_MADE=false
 ROLLBACK_STARTED=false
 ROLLBACK_RESTORED=null
@@ -24,2398 +24,14 @@ MUTATION_OUTCOME=NO_MUTATION
 SANITIZED=yes
 SECRETS_INCLUDED=no
 PRIVATE_ADDRESSES_INCLUDED=no
-RAW_EVIDENCE_SHA256=00fde9f3c6b08ea109d108690cefbe35a3d4c49b8a2d9d865af8e4f95c0a91dd
-SANITIZED_OUTPUT_SHA256=db21da2e8fc700424ba159397dd7676c7b0eb38cb7780dce7b3b01f3f72046c5
+RAW_EVIDENCE_SHA256=07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89
+SANITIZED_OUTPUT_SHA256=07ca26cb662d64cc97cd960d6521dcb8137af252821a9d5bc240fddd9050ea89
 OUTPUT_BEGIN
-NEWFI414_BEGIN=true
-COMMAND_ID=NEWFI-260922-NEWFDOM-DR221-FRESHBACKUP-RCA414R1
-TARGET_COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-FINAL413
-MODE=read-only
-COMPONENT=newfi-dr221-fresh-backup-cloud-quorum-rca
-SCOPE=READ_ONLY_EXACT_DR221_FINAL413_FRESH_BACKUP_CLOUD_QUORUM_ROOT_CAUSE
-MUTATION_BOUNDARY=NONE;NO_BACKUP_START;NO_QUEUE_START;NO_SYSTEMD_ACTION;NO_CLOUD_WRITE;NO_VM_MUTATION;NO_GIT_WRITE
-REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
-ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
-RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
-QUEUE_SHA256=fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612
-PAYLOAD_SHA256=df9e19485e5d87112bf58bf77bdddf3b9b896418dd85ff945a31cd5b6817f352
-FRESHNESS_SHA256=bd6257397c6ea910df2ea0dd57252b33bccd0bbd965175840486dfe5e079bf96
-NODE_WORKER_SHA256=91bdd116be865560a38105dffbd1a66d687232035e2359e4a5be4d225e9c61d1
-VM210_PRESTATE_BEGIN=true
-VM210_CLUSTER_ROW={"vmid":210,"name":"newfi-prod","node":"pve01","status":"running","type":"qemu"}
-VM210_QM_STATUS_RC=0
-status: running
-VM210_QM_CONFIG_RC=0
-VM210_QM_CONFIG_SHA256=cdd00bc79df85350a64683010791bd76d1b74b53b7eec97da0b902291ff9de72
-VM210_LOCK_PRESENT=false
-VM210_QGA_PING_RC=255
-VM210_PRESTATE_END=true
-STORAGE_BEGIN=true
-RESTORE_STORAGE_STATUS_RC=0
-Name             Type     Status     Total (KiB)      Used (KiB) Available (KiB)        %
-local-lvm     lvmthin     active       848797696       133261238       715536457   15.70%
-RESTORE_STORAGE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-STORAGE_END=true
-TARGET_REGISTRY_BEGIN=true
-TARGETS_SHA256=decea6b876c8ede15c91cad69c8e15e46021e5e96d25d415139bf2c524e23f7b
-VM210_TARGET_COUNT=2
-VM210_TARGET_SAFE={"due_seconds":86400,"enabled":true,"green1":false,"logical_id":"vm210","scope":"pve","type":"pve_guest","vmid":210}
-VM210_TARGET_SAFE={"due_seconds":86400,"enabled":true,"green1":false,"logical_id":"xf-newfi","scope":"xenforo","type":"xenforo","vmid":210}
-PRODUCTION_ACCEPTANCE_SHA256=708a481f6719ff1ed8d0afec1902650ed36ac631e980611b015419f504f16df0
-{"schema":1,"accepted_release":"/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1","release":null,"vmids":null,"logical_ids":null}
-TARGET_REGISTRY_END=true
-LOCK_AND_UNIT_STATE_BEGIN=true
-HEAVY_LOCK=BUSY
-UNIT=homelab-vm-cloud-quorum-queue.service
-Result=success
-ExecMainStartTimestamp=
-ExecMainExitTimestamp=
-ExecMainStatus=0
-LoadState=loaded
-ActiveState=inactive
-SubState=dead
-UnitFileState=static
-UNIT=homelab-backup-v2.service
-Result=success
-ExecMainStartTimestamp=Tue 2026-09-22 14:51:24 MSK
-ExecMainExitTimestamp=
-ExecMainStatus=0
-LoadState=loaded
-ActiveState=activating
-SubState=start
-UnitFileState=static
-UNIT=homelab-backup-v2.timer
-Result=success
-LoadState=loaded
-ActiveState=active
-SubState=running
-UnitFileState=enabled
-LOCK_AND_UNIT_STATE_END=true
-VM210_CURRENT_CLOUD_STATE_BEGIN=true
-STATE_FILE_COUNT=0
-RESTORE_FILE_COUNT=0
-VM210_CURRENT_CLOUD_STATE_END=true
-FINAL413_RAW_EVIDENCE_DISCOVERY_BEGIN=true
-EVIDENCE_CANDIDATE_COUNT=120
-EVIDENCE_FILE=/var/lib/homelab-chat-run/state/command-ledger.tsv|SHA256=2e47208b0ce1bb6bfeed65e8e61f56841c933de9ee4761e192e28037140b7c42|BYTES=506406
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/state/command-ledger.tsv
-2278:2026-09-20T02:42:20Z	NEWFI-260920-NEWFDOM-MESSENGERS214-CLOUD214	f6c6b79e158d1c16bc44af32807db585991b62fc9013e510533b9770a1fe4e24	0	OK	newfi-newfdom-messengers214-exact-cloud-generation-ssh-access-readonly-recovery
-2279:2026-09-20T02:45:01Z	SUPPORT-260920-PVEPRO-RUSSIAN-UX-STAGING-QGA-RCA-READONLY-740R2	c8e8e25b299c68113291471d957d998824bbe1139b1a3b2ef6ccb2a9c714f157	0	OK	pvepro-russian-ux-staging-qga-rca-readonly
-2280:2026-09-20T02:48:36Z	NEWFI-260920-NEWFDOM-MESSENGERS214-CLOUD215	57dc8766ecb8b2c444d1028df096e3fc55cacfaf6a002c7ca5ea8ccfda348d64	0	OK	newfi-newfdom-messengers214-cloud-recovery-egress-readiness-readonly
-2281:2026-09-20T02:56:58Z	SUPPORT-260920-PVEPRO-RUSSIAN-UX-STAGING-CLEANUP-741R2	953567114902fcc4d491106f9960393b4dfa3203452db2b4273246ca3d6beeed	3	FAIL	pvepro-russian-ux-staging-cleanup
-2282:2026-09-20T03:02:17Z	NEWFI-260920-NEWFDOM-MESSENGERS214-CLOUD216	4333d0fdf31e2b8d878559faf1d5f4bb9e61b9c39dcd96c38e8f8209ad898b46	0	OK	newfi-newfdom-messengers214-cloud-recovery-semantic-seal-egress-readiness-readonly
-2283:2026-09-20T03:09:28Z	NEWFI-260920-NEWFDOM-MESSENGERS214-ESCROW217	cbf4c0ab8bdc411e02de55c9a92f47930f1f94d3ded4fd2c8b0c6256d810f701	0	OK	newfi-newfdom-messengers214-control-bootstrap-cloud-quorum-ssh-key-recovery-readonly
-2284:2026-09-20T03:13:45Z	NEWFI-260920-NEWFDOM-MESSENGERS214-ESCROW218	3b3d47c70baa636d781e266710b1dc80b372f32d456f4b6d38005c52a0fedf7d	0	OK	newfi-newfdom-messengers214-control-bootstrap-semantic-rclone-ssh-key-recovery-readonly
-2285:2026-09-20T03:15:55Z	SUPPORT-260920-PVEPRO-RUSSIAN-UX-RENDER-TRANSPORT-RCA-READONLY-742R5	0ff5f31b68d2888ed7be244df827bd03cdf8695ea8e80a5d2446d021164d9241	3	FAIL	pvepro-russian-ux-render-transport-rca-readonly
-2286:2026-09-20T03:20:01Z	NEWFI-260920-NEWFDOM-MESSENGERS214-ROUTE219	636c6c45fe707965a0d1816ae048af583a0cc84a6b117417b8456822b47f0714	0	OK	newfi-newfdom-messengers214-p0b-git-anchor-ssh-route-source-recovery-readonly
-2287:2026-09-20T03:20:24Z	SUPPORT-260920-PVEPRO-RUSSIAN-UX-RENDER-TRANSPORT-RCA-READONLY-742R5	0ff5f31b68d2888ed7be244df827bd03cdf8695ea8e80a5d2446d021164d9241	73	BLOCKED	pvepro-russian-ux-render-transport-rca-readonly
-2288:2026-09-20T03:28:55Z	SUPPORT-260920-WORKERS2-NEWPC-PVE01-ACCESS-RECOVERY-744R1	ad51d7839863c4ee66378f96107e70be40edc4c799b4f1b55f4ec663448c0927	0	OK	workers2-newpc-pve01-access-recovery
-2289:2026-09-20T03:30:04Z	NEWFI-260920-NEWFDOM-MESSENGERS214-PAGEANT220	38d4f63a3a7471a3ee62033202c76ad96631014967fda429e7bd55067a0730f7	0	OK	newfi-newfdom-messengers214-direct-windows-pageant-current-access-readonly
-2290:2026-09-20T03:37:57Z	NEWFI-260920-NEWFDOM-MESSENGERS214-CONTOUR221R1	72e9d5eccb47aa24c0993a7716f7e70aa35f6c4e96340b3fa01c9a4989367737	0	OK	newfi-newfdom-messengers214-current-pageant-keyset-putty-contour-r1-readonly
-2291:2026-09-20T03:41:51Z	NEWFI-260920-NEWFDOM-MESSENGERS214-CONTOUR221R2	41c4b7208b9810d683661547cc28ca688e62c5142a2b73ae6ff873303011acf3	0	OK	newfi-newfdom-messengers214-current-pageant-keyset-putty-contour-r2-readonly
-2292:2026-09-20T03:42:27Z	SUPPORT-260920-PVEPRO-RUSSIAN-UX-GUEST-VERIFIER-RCA-READONLY-746R2	58c9a7944d2355ea4cb6b3eab57a2a4b6248b608f112a510038ae3bfa566f3a5	1	FAIL	pvepro-russian-ux-guest-verifier-rca-readonly
-2629:2026-09-21T17:31:43Z	SUPPORT-260921-HOMELAB-BACKUP-WAIT-AND-FINAL-SEAL-1096R1	68f3e32b0b2762454e8708ae8965dc4d43a113c1cec0d90fbec281785992e4fc	1	FAIL	homelab-backup-final-seal-localmail
-2630:2026-09-21T17:38:26Z	NEWFI-260921-NEWFDOM-DR221-FINAL409-RECONCILE410R1	40a8a761049af0ad088807d8e2ce52980e3f3a0e7012bb6f89c96655d559005f	0	OK	newfi-dr221-final409-prestate-reconcile-readonly
-2631:2026-09-21T17:40:02Z	NEWFI-260921-NEWFDOM-DR221-GUEST411	e75542f83e4f89457288e7032e341aa7db2440226b6cb32f60730d9ecd5c1ee2	0	OK	newfi-dr221-vm210-guest-verifier-reconcile
-2632:2026-09-21T17:42:52Z	SUPPORT-260921-HOMELAB-BACKUP-PREAUDIT-RPO-RCA-READONLY-1097R1	146e3ea4eee06783fb993d25637f96c351defd1163f1d06b78ef3c3b012c9f11	0	OK	homelab-backup-preaudit-rpo-rca
-2633:2026-09-21T17:45:02Z	NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1	2d287bfb97be12a17b932f08a33663fc58cd3420a2c6ad83df829f31c758339f	1	FAIL	newfi-dr221-prestate-findings-fix-readonly
-2634:2026-09-21T17:48:35Z	NEWFI-260921-NEWFDOM-DR221-FINAL413	417389f4721a56312f7ea533dfdbb687e65433a492760945908156044599982e	3	FAIL	newfi-dr221-final-current-production-backup-restore-acceptance
-2635:2026-09-21T19:50:09Z	SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1	12198c2fba8c04dcd25b0328d5f33533ac89d5a6412d093c166650665d0e5344	2	FAIL	homelab-backup-rpo-refresh
-2636:2026-09-21T19:52:48Z	SUPPORT-260921-PVEPRO-EDITORIAL-CASES-BATCH-C-888-886-COMBINED-LOCAL-RECOVERY-889R1	5c2746534ac0b58f98d2bd8b413f8515ee7f53e9e400c76e719ae0c0a88a97a6	0	OK	pvepro-888-886-combined-local-recovery
-2637:2026-09-21T19:54:21Z	SUPPORT-260921-HOMELAB-BACKUP-POST1098-RPO-RCA-READONLY-1099R1	72d9a4c8271152e6a33fef99f04b48de465897d6ed2048a32075ebf63c27b3f0	0	OK	homelab-backup-post1098-rpo-rca
-2638:2026-09-21T19:58:40Z	SUPPORT-260921-PVEPRO-EDITORIAL-CASES-BATCH-C-PRESCOPE-READONLY-890R1	b88cbd282c77d22a5612f8095b8b1f5f3ceb4fa744061e7b98df3fa0cbc549a7	0	OK	pvepro-editorial-cases-batch-c-prescope
-2639:2026-09-21T20:03:14Z	SUPPORT-260921-HOMELAB-BACKUP-WAIT-OWNER-THEN-RPO-READONLY-1100R1	ab8940a24d97943f95ccc37f431e8da5cb91089722af20e258156cd226681a29	0	OK	homelab-backup-wait-owner-then-rpo
-2640:2026-09-21T20:04:53Z	SUPPORT-260921-NEWPC-DRIVERBOOSTER-GITEA-RECOVERY-1096R2	aae027b7eee1b54036f9e59d644b676bdc797e3012bdfef14814c3f26ab0397d	0	OK	newpc-driverbooster-gitea-publication-recovery-lockwait
-2641:2026-09-21T20:09:10Z	SUPPORT-260921-PVEPRO-EDITORIAL-BATCH-C-ROOT-RECONCILE-READONLY-891R1	c2cea542e7322f6e1d945154c987b345fa6c32963fb702b1a87c22e0f94ea276	0	OK	pvepro-editorial-batch-c-root-reconcile
-2642:2026-09-21T20:31:24Z	SUPPORT-260921-HOMELAB-BACKUP-VM-RPO-REFRESH-1101R1	b67692a4f48430147fce56f9140fb1ac7e06b0b298409438f04c42cfe5b6f715	10	FAIL	homelab-backup-vm-rpo-refresh
-2643:2026-09-21T20:40:43Z	SUPPORT-260921-PVEPRO-EDITORIAL-892-LOCAL-RESULT-RECOVERY-893R1	915a2ad34ff54649d9387a70309dbc0adead442d20c8705b44bc19665b7376ac	0	OK	pvepro-892-local-result-recovery
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/state/command-ledger.tsv
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z-20260731T105628Z.log|SHA256=533ca4b7aef4c7c7d32e8ce2c7818e87acc6a15d9d2a0c988ddd608792647bbf|BYTES=64838
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z-20260731T105628Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
-2:{"baseline":{"branch":"site-gram1-ru-baseline-20260731","commit":"f9d3ba8caf65005605aa8aee2ede7e4e7e94ee49","host_source_map":[{"baseline_host_dir":"hosts/local","domain_match_count":1000,"hostname":"pve01","roots":["/root/homelab-configs-worktree","/root/homelab-configs-worktree/docs","/root/homelab-configs-worktree/docs/operations","/srv/homelab-desired-state","/srv/homelab-desired-state/health","/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation","/srv/homelab-desired-state/sbin","/srv/homelab-ops-worktrees/cr-2026-0015","/root/homelab-ops-cr-2026-0004","/root/homelab-ops-cr-2026-0012"],"ssh_target":null,"target":"local"},{"baseline_host_dir":"hosts/pve02","domain_match_count":16,"hostname":"pve02","roots":["/root/evidence/forum-prod-diag-20260629T032514Z","/root/evidence/forum-prod-os-baseline-20260629T034119Z","/root/evidence/forum-prod-offline-fix2-20260629T033832Z","/root/evidence/forum-prod-recover-20260629T025511Z","/root/evidence/forum-prod-recreate-20260629T030810Z","/srv/homelab-desired-state/routerguard-tuya"],"ssh_target":"pve02","target":"pve02"},{"baseline_host_dir":"hosts/pve03","domain_match_count":6,"hostname":"pve03","roots":[],"ssh_target":"pve03","target":"pve03"}],"snapshot_path":"sites/gram1.ru/baseline/20260731T071400Z"},"baseline_evidence":{"audit_count":3,"avax_present":false,"link_present":true,"providers":{},"ranked_change_files":[{"absolute_path":"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md","audit_label":"baseline:local/source","bytes":528351,"kinds":["api","coin_registry"],"path":"01_homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md","providers":[],"score":31,"sha256":"977b61a620ea32d2ccfa4b5ebad611713c0b4aa7991f9af0332b2febf4007fd1","snippets":[{"line":9,"text":"Inspected local NPMplus API status and app code references to identify a supported certificate object creation path before remediating public routes with certificate_id=0."},{"line":18,"text":"PURPOSE=FIND_SUPPORTED_CERT_OBJECT_CREATION_PATH"},{"line":227,"text":"/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.textContent=e,t&&i.setAttribu"},{"line":253,"text":"/app/frontend/assets/index-tlrv6MVo.js:908:`,position:{start:{line:l+u,column:1},end:{line:l+u,column:1}}})}return l+=i,t}if(Object.prototype.hasOwnProperty.call(n,`children`)){var f=l;return n.children=e(n.children),t.push(n),n.position={s"}],"symbols":{"ADA":11,"DOT":4,"LINK":24}},{"absolute_path":"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md","audit_label":"baseline:local/source","bytes":504281,"kinds":["coin_registry"],"path":"01_homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md","providers":[],"score":24,"sha256":"1ac8fe15ebd06db8ef3a9c6127fe5efe7ecbb76d395abbe551c249b249492d21","snippets":[{"line":239,"text":"..md:227:/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.text"},{"line":378,"text":"126: labels: '{__address__=\"[PRIVATE_IP]:8000\", __meta_docker_container_id=\"\", __meta_docker_container_label_com_docker_compose_config_hash=\"\", __meta_docker_container_label_com_docker_compose_container_number=\"1\","},{"line":458,"text":"/app/node_modules/knex/lib/knex-builder/internal/config-resolver.js:33: `knex: Unknown configuration option 'client' value ${clientName}. Note that it is case-sensitive, check documentation for supported values.`"},{"line":469,"text":"/a
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z-20260731T105628Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log|SHA256=3a20c409c411e40127c8a957e69c7693d334e14464edeeef423cc19744423d06|BYTES=3290
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log
-19:SOURCE_PUSHURL_CLASS=DISABLED
-20:SOURCE_BRANCH_PREFLIGHT_RC=0
-21:SOURCE_BRANCH_PREFLIGHT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-22:SOURCE_REMOTE_BRANCH_PRE=ABSENT
-23:BACKUP_OWNER_PRE_ACTIVE=inactive
-24:HEAVY_LOCK_PRECHECK=FREE
-25:VPS_IDENTITY_PREFLIGHT_RC=0
-26:US_TARGET_CARDINALITY=1
-27:US_TARGET_TYPE=vps_us
-28:US_EXPECTED_HOSTKEY=SHA256:805Q9eh/fePUci42dfY58I6q0lFiiPHn0/M+mckypmE
-29:US_SCANNED_HOSTKEY_MATCH=true
-30:OPERATOR_KEY_FINGERPRINT=SHA256:wipXiBB3cpAwyWap9LcB185WjEEmDxtRJsI/UuMVAp0
-31:VPS_KNOWN_HOSTS_PATH=/etc/homelab-backup-v2/vps_known_hosts
-32:VPS_KNOWN_HOSTS_EXISTS=true
-33:VPS_KNOWN_HOSTS_PRE_SHA256=eefedbb4af6a640f2a527a85debab17d023a28b4e87d5b268ea7b6ca6af16384
-35:VPS_KNOWN_HOSTS_REPAIR_RC=1
-36:VPS_KNOWN_HOSTS_REFRESHED=true
-37:VPS_KNOWN_HOSTS_POST_SHA256=eefedbb4af6a640f2a527a85debab17d023a28b4e87d5b268ea7b6ca6af16384
-38:US_SSH_TRUE_RC=255
-39:VPS_KNOWN_HOSTS_ROLLBACK=RESTORED
-40:US_REPAIR_EXCEPTION=RuntimeError
-41:US_REPAIR_EXCEPTION_SHA256=c23a3115549c74b0f203229a792306c13449680381cb3eff4f397efe8b1756d6
-42:VPS_KNOWN_HOSTS_REPAIR_STDERR_SHA256=eebf16bbca7c84fc14987500d7c078ebe316edf9e3f2408598cb7eea27ad5f4e
-43:FAILURE=US_NETBIRD_KNOWN_HOSTS_OR_CAPTURE_REPAIR_FAILED
-44:DECISION=HOLD_BACKUP_1118R2_COMBINED_REPAIR_INCOMPLETE
-45:NEXT_GATE=RECONCILE_ONLY_BACKUP_1118R2_FAILURE
-46:TASK_RESULT=HOLD_HOMELAB_BACKUP_COMBINED_REPAIR
-47:KNOWN_HOSTS_CHANGED=false
-48:US_NETBIRD_BACKUP_SUCCESS=false
-49:AUDIT_CHANGED=false
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log|SHA256=9f95d2e9c93313bbfe726e614999f8dd3bb4f1f9e1e3f3e4829acf29e539c00b|BYTES=288398
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log
-6:NO_RESTORE_EXECUTION=true
-7:NO_MAIL_SEND=true
-8:NO_SERVICE_MUTATION=true
-9:NO_FILE_WRITE_BY_AUDIT=true
-10:AUDIT_TS_UTC=2026-09-21T00:49:30.147922Z
-11:CANONICAL_REPO={"backup_refs":["cr-2026-0002-offhost-retention-remediation|320e66a4f0855fa391d8eb862bc997347fb61595|CR-2026-0002 remediate offhost retention capacity","|b0f9935dce45a7dee2949aef342cadec90ff38a2|CR-2026-0003 remediate cluster storage retention","cr-2026-0004-backup-tail-closure|bf80410f592f8eb9eaa80695f609870fe3fb85fd|CR-2026-0004 seal backup tail closure task","cr-2026-0006-cluster-cloud-quorum|16e84298035f5e4ec7e2b7d39967ad5e40ea3d4b|CR-2026-0006: add VM160 cloud quorum canary task","cr-2026-0018-backup-cloud-quorum-foundation|b25e80a67fb97ff6c0aa272b25675b9f7c82fb96|CR-2026-0018: add backup cloud quorum foundation","cr-2026-0020-app-cloud-quorum|f556984e410ed819b4cb1e00635dceb43f0ffc5d|fix(cr-2026-0020): recover proven vm160 cancel state","cr-2026-0021-vm-backup-freshness|3c92036f3000189493fc47557c4cb03e7a412c82|fix(cr-2026-0021): initialize freshness probe arrays","cr-2026-0022-app-cloud-quorum-freshness|a497e0f15f1c8d11c3603a4cf5a6a65654cae6fb|feat(cr-2026-0022): add app backup freshness gate","cr-2026-0024-hbarhub-cloud-quorum|332e8d3f8d2742a05a8d73637cac6a2defc3a825|test(cr-2026-0024): cover sealed restore repair path","cr-2026-0025-scrutiny-cloud-quorum|73890efb9e99bf02a09daa0e547ab36b48c83b30|fix(CR-2026-0025): make recovery phases resume-safe","cr-2026-0026-backup-scheduler-rpo-hardening|ebc08fe5d6beef3cc927bc7d23f6ab37b35d947d|CR-2026-0026: preserve VM queue rollback mode","cr-2026-0027-backup-lock-fd-hardening|d5a14cbaef47db39f17a94e248e183f0916bdab1|fix(CR-2026-0027): use actual timer margin","|6e3707e90181318be3e8616b14ee553968c485dd|fix(CR-2026-0028): correct natural scheduler proof acceptance","cr-2026-0029-control-bootstrap-cloud-quorum|dd81175a24ff64048b36d6ec08dcd3addfc681e9|fix(CR-2026-0029): allow numeric corosync timing token","cr-2026-0031-vm-restore-evidence-hardening|f8941f01f41d03b3368a33df868f7ea11311eb6a|CR-2026-0031: make VM evidence apply resume-safe","cr-2026-0032-backup-unified-monitoring|8ad7fcc4537c48de47daac086087d247886c58d9|CR-2026-0032: add unified backup DR monitoring","cr-2026-0033-backup-retention-safe-gc|42fd895f421ebc177006c5eb4173f7b4f40ad47f|fix(CR-2026-0033): accept git-normalized source executable mode","cr-2026-0035-skladchik-moderator-ct200|c7a72a516b74e73b07df646374fa938eac055f32|fix(CR-2026-0035): make retention hotfix apply resumable","|6fc45798c21bd66c561c14059e14f09b7d0a8d63|fix(CR-2026-0046): remove inline Python from dry-run","cr-2026-0050-backup-matrix-residue-retirement|6c1165dccfb6e84b571f0caac6773fd427bf800d|fix(CR-2026-0050): enforce matrix-only residue retirement","cr-2026-0054-backup-control-coverage-hardening|3f02810a16b711700a9da87189c63e38b1fa324b|fix(CR-2026-0054): finalize sealed CR0056 dependency pins","|902126179efd488e20938a091dcee36109829b86|fix(CR-2026-0055): stabilize retention delete-set comparison","|b69b63f531fb71eb95ab147bbfce57591f90e0a4|fix(CR-2026-0056): resume retention transactions before empty-plan return","cr-2026-0058-legacy-backup-target-retirement|4b427f5f0406cab6757cf8889fd479a62d218261|docs(CR-2026-0058): make CT200 replacement proof owner-aware","|1a0e4ce27b94bbfbf7b60829974a728b5eba3ad2|fix(CR-2026-0060): fail closed on retention remote listing errors","|d3a11bde0e73ddfd7049693782d44100c0c1130e|fix(CR-2026-0064): make expected runtime diff ERR-trap safe","|2c2f378aec7dc4ac23c633a31f738a850fface56|fix(CR-2026-0065): make pre-transaction repin crash-recoverable","cr-2026-0066-legacy-backup-target-retirement|bcf018f263d9fc607eddd1796e5ef306870c6b7b|fix(CR-2026-0066): harden remote proof and fail-closed scans","cr-2026-0070-backup-target-lifecycle-registry|dbf8266d5f2bc4c87024ea8f0eb5f0e8922c7519|fix(CR-2026-0070): make approved diffs Git-whitespace safe","cr-2026-0071-backup-observability|07cb58a803022b5538e30b201380e215a5490c84|fix(CR-2026-0071): make install
-12:CANONICAL_FILE={"bytes":733,"gid":0,"mode":"0o644","mtime_utc":"2026-08-20T21:06:53.673934Z","path":"/srv/homelab-ops/kb/runbooks/06_CLOUD_BACKUP.md","present":true,"regular":true,"sha256":"975e1ffdc73e3998f02849e7577f26d7335ef4e986db39fbef42c44300f78983","uid":0}
-13:CANONICAL_FILE={"bytes":1436,"gid":0,"mode":"0o644","mtime_utc":"2026-07-18T04:48:33.668744Z","path":"/srv/homelab-ops/policies/cluster-cloud-quorum.json","present":true,"regular":true,"sha256":"e06b7e6285eda2885ef913aa954a70abc7c1d892199a8b7cea2ada98b8edba34","uid":0}
-14:LIVE_ASSET={"bytes":7855,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o755","mtime_utc":"2026-09-04T06:25:07.428195Z","path":"/usr/local/sbin/homelab-app-cloud-quorum-queue","present":true,"regular":true,"sha256":"1f959049cca2710a2cb820cc1f6acab16399c6b6711b9e4522e0ecd49e0e4650","uid":0}
-15:LIVE_ASSET={"bytes":8681,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o755","mtime_utc":"2026-09-16T13:07:29.468776Z","path":"/usr/local/sbin/homelab-vm-cloud-quorum-queue","present":true,"regular":true,"sha256":"fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612","uid":0}
-16:LIVE_ASSET={"bytes":39160,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o755","mtime_utc":"2026-09-04T09:32:23.357291Z","path":"/usr/local/sbin/homelab-backup-audit","present":true,"regular":true,"sha256":"1474c9ce58bbc1b3ae7437261d1bdb923232926fb2943c7c830253f8b284724c","uid":0}
-17:LIVE_ASSET={"bytes":32975,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o755","mtime_utc":"2026-09-04T06:25:07.430470Z","path":"/usr/local/sbin/homelab-backup-retention-gc","present":true,"regular":true,"sha256":"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3","uid":0}
-18:LIVE_ASSET={"bytes":11862,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o755","mtime_utc":"2026-08-26T03:04:50.462020Z","path":"/usr/local/sbin/homelab-control-backup","present":true,"regular":true,"sha256":"0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57","uid":0}
-19:LIVE_ASSET={"bytes":3395,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o750","mtime_utc":"2026-07-20T21:33:12.462151Z","path":"/usr/local/sbin/homelab-evidence-seal","present":true,"regular":true,"sha256":"1c64cda4f8e93108e7bef3c110f896112a2e923b64e7e25573ff630744085a7b","uid":0}
-20:LIVE_ASSET={"bytes":3498,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o700","mtime_utc":"2026-08-20T04:35:15.973163Z","path":"/usr/local/sbin/homelab-backup-coverage-matrix","present":true,"regular":true,"sha256":"fe95dd92e02b802e956e7d46aad1acdf2a305b26abb7b84f6a2ef24ef8d0231a","uid":0}
-21:LIVE_ASSET={"bytes":1770,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o700","mtime_utc":"2026-07-03T09:36:21.328051Z","path":"/usr/local/sbin/homelab-backup-health-evidence","present":true,"regular":true,"sha256":"663d474d581bce233eae91aa9604d276bb19aadd8233e59096b8f91a72cc3460","uid":0}
-22:LIVE_ASSET={"bytes":2241,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o750","mtime_utc":"2026-06-27T02:04:37.427744Z","path":"/usr/local/sbin/homelab-backup-freshness.sh","present":true,"regular":true,"sha256":"3d606112ee83d1b75d72d4d9daa96cb6e2c55b52acc2432954f4e50676e319da","uid":0}
-23:LIVE_ASSET={"bytes":4079,"canonical_matches":[],"canonical_sha_match":false,"gid":0,"mode":"0o755","mtime_utc":"2026-07-17T22:54:49.474452Z","path":"/usr/local/sbin/homelab-backup-sla-health","present":true,"regular":true,"sha256":"9357e2a9622d59346b33522840dd0f0a6d4033078ed49242c4c93c8b8a2d754f","uid":0}
-24:BACKUP_UNIT_COUNT=23
-25:BACKUP_UNITS=["dpkg-db-backup.service","dpkg-db-backup.timer","homelab-alerting-health.service","homelab-alerting-health.timer","homelab-app-cloud-quorum-queue.service","homelab-app-cloud-quorum-queue.timer","homelab-backup-audit.service","homelab-backup-audit.timer","homelab-backup-retention-gc.service","homelab-backup-retention-gc.timer","homelab-backup-v2.service","homelab-backup-v2.timer","homelab-control-backup.service","homelab-control-backup.timer","homelab-evidence-seal.service","homelab-evidence-seal.timer","homelab-mailru-trash-gc.service","homelab-mailru-trash-gc.timer","homelab-router-running-config-mail-cloud.service","homelab-router-running-config-mail-cloud.timer","homelab-vm-cloud-quorum-queue.service","homelab-vm-cloud-quorum-queue.timer","rpc-statd-notify.service"]
-26:SYSTEMD_BACKUP_STATE={"dpkg-db-backup.service":{"ActiveEnterTimestamp":"","ActiveState":"inactive","ExecMainCode":"1","ExecMainExitTimestamp":"Mon 2026-09-21 00:00:14 MSK","ExecMainStartTimestamp":"Mon 2026-09-21 00:00:14 MSK","ExecMainStatus":"0","FragmentPath":"/usr/lib/systemd/system/dpkg-db-backup.service","InactiveExitTimestamp":"Mon 2026-09-21 00:00:14 MSK","LoadState":"loaded","Result":"success","SubState":"dead","UnitFileState":"static"},"dpkg-db-backup.timer":{"ActiveEnterTimestamp":"Fri 2026-08-28 16:31:38 MSK","ActiveState":"active","FragmentPath":"/usr/lib/systemd/system/dpkg-db-backup.timer","InactiveExitTimestamp":"Fri 2026-08-28 16:31:38 MSK","LastTriggerUSec":"Mon 2026-09-21 00:00:14 MSK","LoadState":"loaded","NextElapseUSecRealtime":"Tue 2026-09-22 00:00:00 MSK","Result":"success","SubState":"waiting","UnitFileState":"enabled"},"homelab-alerting-health.service":{"ActiveEnterTimestamp":"","ActiveState":"inactive","ExecMainCode":"1","ExecMainExitTimestamp":"Sun 2026-09-20 07:46:58 MSK","ExecMainStartTimestamp":"Sun 2026-09-20 07:46:58 MSK","ExecMainStatus":"0","FragmentPath":"/etc/systemd/system/homelab-alerting-health.service","InactiveExitTimestamp":"Sun 2026-09-20 07:46:58 MSK","LoadState":"loaded","Result":"success","SubState":"dead","UnitFileState":"static"},"homelab-alerting-health.timer":{"ActiveEnterTimestamp":"Fri 2026-08-28 16:31:38 MSK","ActiveState":"active","FragmentPath":"/etc/systemd/system/homelab-alerting-health.timer","InactiveExitTimestamp":"Fri 2026-08-28 16:31:38 MSK","LastTriggerUSec":"Sun 2026-09-20 07:46:58 MSK","LoadState":"loaded","NextElapseUSecRealtime":"Mon 2026-09-21 07:47:16 MSK","Result":"success","SubState":"waiting","UnitFileState":"enabled"},"homelab-app-cloud-quorum-queue.service":{"ActiveEnterTimestamp":"","ActiveState":"failed","ExecMainCode":"1","ExecMainExitTimestamp":"Wed 2026-09-16 21:30:17 MSK","ExecMainStartTimestamp":"Wed 2026-09-16 21:30:11 MSK","ExecMainStatus":"65","FragmentPath":"/etc/systemd/system/homelab-app-cloud-quorum-queue.service","InactiveExitTimestamp":"Wed 2026-09-16 21:30:11 MSK","LoadState":"loaded","Result":"exit-code","SubState":"failed","UnitFileState":"static"},"homelab-app-cloud-quorum-queue.timer":{"ActiveEnterTimestamp":"","ActiveState":"inactive","FragmentPath":"/etc/systemd/system/homelab-app-cloud-quorum-queue.timer","InactiveExitTimestamp":"","LastTriggerUSec":"","LoadState":"loaded","NextElapseUSecRealtime":"","Result":"success","SubState":"dead","UnitFileState":"disabled"},"homelab-backup-audit.service":{"ActiveEnterTimestamp":"","ActiveState":"inactive","ExecMainCode":"1","ExecMainExitTimestamp":"Mon 2026-09-21 03:35:42 MSK","ExecMainStartTimestamp":"Mon 2026-09-21 03:35:33 MSK","ExecMainStatus":"0","FragmentPath":"/etc/systemd/system/homelab-backup-audit.service","InactiveExitTimestamp":"Mon 2026-09-21 03:35:33 MSK","LoadState":"loaded","Result":"success","SubState":"dead","UnitFileState":"static"},"homelab-backup-audit.timer":{"ActiveEnterTimestamp":"Fri 2026-08-28 16:31:38 MSK","ActiveState":"active","FragmentPath":"/etc/systemd/system/homelab-backup-audit.timer","InactiveExitTimestamp":"Fri 2026-08-28 16:31:38 MSK","LastTriggerUSec":"Mon 2026-09-21 03:35:33 MSK","LoadState":"loaded","NextElapseUSecRealtime":"Mon 2026-09-21 04:06:01 MSK","Result":"success","SubState":"waiting","UnitFileState":"enabled"},"homelab-backup-retention-gc.service":{"ActiveEnterTimestamp":"","ActiveState":"failed","ExecMainCode":"1","ExecMainExitTimestamp":"Mon 2026-09-21 03:22:42 MSK","ExecMainStartTimestamp":"Mon 2026-09-21 03:22:42 MSK","ExecMainStatus":"66","FragmentPath":"/etc/systemd/system/homelab-backup-retention-gc.service","InactiveExitTimestamp":"Mon 2026-09-21 03:22:42 MSK","LoadState":"loaded","Result":"exit-code","SubState":"failed","UnitFileState":"static"},"homelab-backup-retention-gc.timer":{"ActiveEnterTimestamp":"Fri 2026-08-28 16:31:38 MSK","ActiveState":"active","FragmentPath":"/etc/systemd/system/homelab-backup-retention-gc.timer","Inact
-27:BACKUP_TIMER_LINES=["Mon 2026-09-21 04:06:01 MSK    16min Mon 2026-09-21 03:35:33 MSK    13min ago homelab-backup-audit.timer                             homelab-backup-audit.service","Mon 2026-09-21 06:14:34 MSK 2h 25min Mon 2026-09-21 00:04:44 MSK 3h 44min ago homelab-evidence-root.timer                            homelab-evidence-root.service","Mon 2026-09-21 07:30:26 MSK 3h 40min Mon 2026-09-21 01:23:58 MSK 2h 25min ago homelab-mailru-trash-gc.timer                          homelab-mailru-trash-gc.service","Mon 2026-09-21 07:47:16 MSK 3h 57min Sun 2026-09-20 07:46:58 MSK      20h ago homelab-alerting-health.timer                          homelab-alerting-health.service","Tue 2026-09-22 00:00:00 MSK      20h Mon 2026-09-21 00:00:14 MSK 3h 49min ago dpkg-db-backup.timer                                   dpkg-db-backup.service","Tue 2026-09-22 00:10:26 MSK      20h Mon 2026-09-21 00:07:44 MSK 3h 41min ago homelab-evidence-catalog.timer                         homelab-evidence-catalog.service","Tue 2026-09-22 03:32:10 MSK      23h Mon 2026-09-21 03:22:42 MSK    26min ago homelab-backup-retention-gc.timer                      homelab-backup-retention-gc.service","-                                  - Mon 2026-09-21 03:47:58 MSK 1min 31s ago homelab-backup-v2.timer                                homelab-backup-v2.service"]
-28:FAILED_UNITS=["*","*","*","*"]
-29:UNIT_WARNING_JOURNAL={"lines":["2026-09-12T19:30:07+03:00 pve01 systemd[1]: homelab-app-cloud-quorum-queue.service: Failed with result 'exit-code'.","2026-09-12T19:30:07+03:00 pve01 systemd[1]: Failed to start homelab-app-cloud-quorum-queue.service - Homelab canonical application cloud quorum backup queue.","2026-09-16T19:30:05+03:00 pve01 systemd[1]: homelab-app-cloud-quorum-queue.service: Failed with result 'exit-code'.","2026-09-16T19:30:05+03:00 pve01 systemd[1]: Failed to start homelab-app-cloud-quorum-queue.service - Homelab canonical application cloud quorum backup queue.","2026-09-16T21:30:17+03:00 pve01 systemd[1]: homelab-app-cloud-quorum-queue.service: Failed with result 'exit-code'.","2026-09-16T21:30:17+03:00 pve01 systemd[1]: Failed to start homelab-app-cloud-quorum-queue.service - Homelab canonical application cloud quorum backup queue."],"unit":"homelab-app-cloud-quorum-queue.service"}
-30:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-app-cloud-quorum-queue.timer"}
-31:UNIT_WARNING_JOURNAL={"lines":["2026-09-11T01:35:16+03:00 pve01 systemd[1]: homelab-vm-cloud-quorum-queue.service: Failed with result 'exit-code'.","2026-09-11T01:35:16+03:00 pve01 systemd[1]: Failed to start homelab-vm-cloud-quorum-queue.service - Homelab canonical VM/CT cloud quorum backup queue.","2026-09-14T12:40:09+03:00 pve01 systemd[1]: homelab-vm-cloud-quorum-queue.service: Failed with result 'exit-code'.","2026-09-14T12:40:09+03:00 pve01 systemd[1]: Failed to start homelab-vm-cloud-quorum-queue.service - Homelab canonical VM/CT cloud quorum backup queue.","2026-09-16T20:33:02+03:00 pve01 systemd[1]: homelab-vm-cloud-quorum-queue.service: Failed with result 'exit-code'.","2026-09-16T20:33:02+03:00 pve01 systemd[1]: Failed to start homelab-vm-cloud-quorum-queue.service - Homelab canonical VM/CT cloud quorum backup queue."],"unit":"homelab-vm-cloud-quorum-queue.service"}
-32:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-vm-cloud-quorum-queue.timer"}
-33:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-backup-audit.service"}
-34:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-backup-audit.timer"}
-35:UNIT_WARNING_JOURNAL={"lines":["2026-09-16T03:25:32+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.","2026-09-16T03:25:32+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.","2026-09-17T03:21:32+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.","2026-09-17T03:21:32+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.","2026-09-18T03:22:16+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.","2026-09-18T03:22:16+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.","2026-09-19T03:23:32+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.","2026-09-19T03:23:32+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.","2026-09-20T03:34:58+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.","2026-09-20T03:34:58+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC.","2026-09-21T03:22:42+03:00 pve01 systemd[1]: homelab-backup-retention-gc.service: Failed with result 'exit-code'.","2026-09-21T03:22:42+03:00 pve01 systemd[1]: Failed to start homelab-backup-retention-gc.service - Homelab owner-aware cloud retention GC."],"unit":"homelab-backup-retention-gc.service"}
-36:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-backup-retention-gc.timer"}
-37:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-control-backup.service"}
-38:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-control-backup.timer"}
-39:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-evidence-seal.service"}
-40:UNIT_WARNING_JOURNAL={"lines":["-- No entries --"],"unit":"homelab-evidence-seal.timer"}
-41:CLUSTER_GUESTS=[{"name":"pvepro-prod","node":"pve01","status":"running","type":"qemu","vmid":100},{"name":"pvepro-staging-v1","node":"pve01","status":"stopped","type":"qemu","vmid":101},{"name":"dns1","node":"pve01","status":"running","type":"lxc","vmid":110},{"name":"dns2","node":"pve02","status":"running","type":"lxc","vmid":111},{"name":"unbound1","node":"pve01","status":"running","type":"lxc","vmid":112},{"name":"unbound2","node":"pve02","status":"running","type":"lxc","vmid":113},{"name":"edge-vm","node":"pve03","status":"running","type":"qemu","vmid":130},{"name":"snikket","node":"pve01","status":"running","type":"qemu","vmid":150},{"name":"forum-prod","node":"pve02","status":"running","type":"qemu","vmid":160},{"name":"core-apps","node":"pve01","status":"running","type":"qemu","vmid":170},{"name":"monitoring","node":"pve01","status":"running","type":"qemu","vmid":171},{"name":"homelab-ops-worker","node":"pve03","status":"running","type":"qemu","vmid":190},{"name":"newfi-prod","node":"pve01","status":"running","type":"qemu","vmid":210},{"name":"newfi-staging","node":"pve03","status":"running","type":"qemu","vmid":211},{"name":"edge-cold-standby","node":"pve02","status":"stopped","type":"qemu","vmid":9130}]
-45:LOCAL_CAPACITY={"free":58518495232,"inode_used_pct":7.07,"path":"/","total":105089261568,"used":46570766336,"used_pct":44.32}
-46:LOCAL_CAPACITY={"free":58518495232,"inode_used_pct":7.07,"path":"/var/lib/vz","total":105089261568,"used":46570766336,"used_pct":44.32}
-47:LOCAL_CAPACITY={"free":285683355648,"inode_used_pct":0.21,"path":"/mnt/staging","total":315926315008,"used":30242959360,"used_pct":9.57}
-48:LOCAL_CAPACITY={"free":58518495232,"inode_used_pct":7.07,"path":"/var/lib/homelab-backup","total":105089261568,"used":46570766336,"used_pct":44.32}
-49:LOCAL_CAPACITY={"free":58518487040,"inode_used_pct":7.07,"path":"/var/lib/homelab-health","total":105089261568,"used":46570774528,"used_pct":44.32}
-50:LATEST_CLOUD_QUORUM_STATE=[{"app":null,"cloud_a_seal_verified":true,"cloud_a_uploaded":null,"cloud_b_seal_verified":true,"cloud_b_uploaded":null,"cloud_quorum":2,"created_at_utc":"2026-09-16T11:35:59Z","file":"/var/lib/homelab-backup/cloud-quorum/app-filebrowser/app-filebrowser-pve01-20260916T113558Z.json","generation":"app-filebrowser-pve01-20260916T113558Z","id":"app-filebrowser","local_cleanup":"OK","local_payload_present":false,"logical_id":"app-filebrowser","mtime_utc":"2026-09-16T11:36:13.986926Z","payload_size_bytes":null,"quorum":null,"restore_status":null,"restore_validation":null,"seal_written":true,"sealed_at_utc":"2026-09-16T11:36:11Z","status":"SEALED","updated_at_utc":"2026-09-16T11:36:13Z","vmid":null},{"app":null,"cloud_a_seal_verified":true,"cloud_a_uploaded":null,"cloud_b_seal_verified":true,"cloud_b_uploaded":null,"cloud_quorum":2,"created_at_utc":"2026-09-16T11:39:05Z","file":"/var/lib/homelab-backup/cloud-quorum/app-hbarhub/app-hbarhub-pve01-20260916T113814Z.json","generation":"app-hbarhub-pve01-20260916T113814Z","id":"app-hbarhub","local_cleanup":"OK","local_payload_present":false,"logical_id":"app-hbarhub","mtime_utc":"2026-09-16T11:39:24.750758Z","payload_size_bytes":null,"quorum":null,"restore_status":null,"restore_validation":null,"seal_written":true,"sealed_at_utc":"2026-09-16T11:39:22Z","status":"SEALED","updated_at_utc":"2026-09-16T11:39:24Z","vmid":null},{"app":null,"cloud_a_seal_verified":true,"cloud_a_uploaded":null,"cloud_b_seal_verified":true,"cloud_b_uploaded":null,"cloud_quorum":2,"created_at_utc":"2026-09-16T11:36:54Z","file":"/var/lib/homelab-backup/cloud-quorum/app-immich/app-immich-pve01-20260916T113650Z.json","generation":"app-immich-pve01-20260916T113650Z","id":"app-immich","local_cleanup":"OK","local_payload_present":false,"logical_id":"app-immich","mtime_utc":"2026-09-16T11:37:38.269177Z","payload_size_bytes":null,"quorum":null,"restore_status":null,"restore_validation":null,"seal_written":true,"sealed_at_utc":"2026-09-16T11:37:35Z","status":"SEALED","updated_at_utc":"2026-09-16T11:37:38Z","vmid":null},{"app":null,"cloud_a_seal_verified":true,"cloud_a_uploaded":null,"cloud_b_seal_verified":true,"cloud_b_uploaded":null,"cloud_quorum":2,"created_at_utc":"2026-08-19T06:32:04Z","file":"/var/lib/homelab-backup/cloud-quorum/app-memos/app-memos-pve01-20260819T063203Z.json","generation":"app-memos-pve01-20260819T063203Z","id":"app-memos","local_cleanup":"OK","local_payload_present":false,"logical_id":"app-memos","mtime_utc":"2026-08-19T06:32:16.608057Z","payload_size_bytes":null,"quorum":null,"restore_status":null,"restore_validation":null,"seal_written":true,"sealed_at_utc":"2026-08-19T06:32:14Z","status":"SEALED","updated_at_utc":"2026-08-19T06:32:16Z","vmid":null},{"app":null,"cloud_a_seal_verified":true,"cloud_a_uploaded":null,"cloud_b_seal_verified":true,"cloud_b_uploaded":null,"cloud_quorum":2,"created_at_utc":"2026-08-19T06:36:34Z","file":"/var/lib/homelab-backup/cloud-quorum/app-scrutiny/app-scrutiny-pve01-20260819T063621Z.json","generation":"app-scrutiny-pve01-20260819T063621Z","id":"app-scrutiny","local_cleanup":"OK","local_payload_present":false,"logical_id":"app-scrutiny","mtime_utc":"2026-08-19T06:37:10.063453Z","payload_size_bytes":null,"quorum":null,"restore_status":null,"restore_validation":null,"seal_written":true,"sealed_at_utc":"2026-08-19T06:37:05Z","status":"SEALED","updated_at_utc":"2026-08-19T06:37:10Z","vmid":null},{"app":null,"cloud_a_seal_verified":true,"cloud_a_uploaded":null,"cloud_b_seal_verified":true,"cloud_b_uploaded":null,"cloud_quorum":2,"created_at_utc":"2026-08-13T22:32:45Z","file":"/var/lib/homelab-backup/cloud-quorum/app-skladchik-moderator-assistant/app-skladchik-moderator-assistant-pve01-20260813T223245Z.json","generation":"","id":"app-skladchik-moderator-assistant","local_cleanup":"OK","local_payload_present":false,"logical_id":"app-skladchik-moderator-assistant","mtime_utc":"2026-08-13T22:33:00.818103Z","payload_size_bytes":null,
-51:RESTORE_EVIDENCE=[{"app":null,"created_at_utc":null,"file":"/var/lib/homelab-backup/control-restore-validation/control-bootstrap/control-bootstrap-v2-pve01-20260916T120057Z.json","generation":"control-bootstrap-v2-pve01-20260916T120057Z","integrity_ok":null,"logical_id":"control-bootstrap-v2","mtime_utc":"2026-09-20T18:51:38.066229Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":null,"validation_status":null,"vmid":null},{"app":"hbarhub","created_at_utc":null,"file":"/var/lib/homelab-backup/app-restore-validation/app-hbarhub/app-hbarhub-pve01-20260916T113814Z.json","generation":"app-hbarhub-pve01-20260916T113814Z","integrity_ok":null,"logical_id":"app-hbarhub","mtime_utc":"2026-09-16T11:39:36.859938Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":"2026-09-16T11:39:36Z","validation_status":null,"vmid":null},{"app":"immich","created_at_utc":null,"file":"/var/lib/homelab-backup/app-restore-validation/app-immich/app-immich-pve01-20260916T113650Z.json","generation":"app-immich-pve01-20260916T113650Z","integrity_ok":null,"logical_id":"app-immich","mtime_utc":"2026-09-16T11:38:08.561627Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":"2026-09-16T11:38:08Z","validation_status":null,"vmid":null},{"app":"skladchik-reports-monitor","created_at_utc":null,"file":"/var/lib/homelab-backup/app-restore-validation/app-skladchik-reports-monitor/app-skladchik-reports-monitor-pve01-20260916T113630Z.json","generation":"","integrity_ok":null,"logical_id":"app-skladchik-reports-monitor","mtime_utc":"2026-09-16T11:36:44.898385Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":"2026-09-16T11:36:44Z","validation_status":null,"vmid":null},{"app":"filebrowser","created_at_utc":null,"file":"/var/lib/homelab-backup/app-restore-validation/app-filebrowser/app-filebrowser-pve01-20260916T113558Z.json","generation":"app-filebrowser-pve01-20260916T113558Z","integrity_ok":null,"logical_id":"app-filebrowser","mtime_utc":"2026-09-16T11:36:24.602083Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":"2026-09-16T11:36:24Z","validation_status":null,"vmid":null},{"app":null,"created_at_utc":null,"file":"/var/lib/homelab-backup/vm-restore-validation/vm170/vm170-pve01-20260916T103019Z.json","generation":"vm170-pve01-20260916T103019Z","integrity_ok":null,"logical_id":"vm170","mtime_utc":"2026-09-16T10:51:58.980403Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":"2026-09-16T10:51:58Z","validation_status":null,"vmid":170},{"app":null,"created_at_utc":null,"file":"/var/lib/homelab-backup/vm-restore-validation/vm171/vm171-pve01-20260916T023018Z.json","generation":"vm171-pve01-20260916T023018Z","integrity_ok":null,"logical_id":"vm171","mtime_utc":"2026-09-16T02:36:12.037502Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"source_generation":null,"status":null,"updated_at_utc":null,"validated_at_utc":"2026-09-16T02:36:12Z","validation_status":null,"vmid":171},{"app":null,"created_at_utc":null,"file":"/var/lib/homelab-backup/control-restore-validation/control-bootstrap/control-bootstrap-v2-pve01-20260915T230932Z.json","generation":"control-bootstrap-v2-pve01-20260915T230932Z","integrity_ok":null,"logical_id":"control-bootstrap-v2","mtime_utc":"2026-09-15T23:09:54.194081Z","restore_ok":null,"restore_status":null,"result":"OK","semantic_validation":null,"
-52:BACKUP_HEALTH_FILES=[{"bytes":202,"gid":0,"kv":{"AVAIL_KB":"194808436","CHECK":"pve03_staging","CRIT_THRESHOLD":"90","HOST":"pve03","MOUNT":"/mnt/staging","SIZE_KB":"205314024","STATUS":"OK","TS_UTC":"2026-09-21T00:41:58Z","USED_KB":"3444","USE_PCT":"1","WARN_THRESHOLD":"80"},"mode":"0o644","mtime_utc":"2026-09-21T00:41:59.219210Z","path":"/var/lib/homelab-health/pve03-staging-capacity.txt","present":true,"regular":true,"sha256":"93fdec2c4516fc1a90ca23100238a3a850c28d146217d382f00d3c52614e36ad","uid":0},{"bytes":0,"gid":0,"kv":{},"mode":"0o644","mtime_utc":"2026-09-21T00:41:58.838451Z","path":"/var/lib/homelab-health/pve03-staging-capacity.txt.err","present":true,"regular":true,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","uid":0},{"bytes":1540,"gid":0,"kv":{},"mode":"0o644","mtime_utc":"2026-09-21T00:35:42.065876Z","path":"/var/lib/homelab-health/backup-unified-audit.json","present":true,"regular":true,"sha256":"a3aad2240c27de60b65903506374b9abf92c0c21383db6b6f78199c8321bc28d","uid":0},{"bytes":170,"gid":0,"kv":{"CHECKED_AT_UTC":"2026-09-21T00:31:31Z","MKDOCS_AUTO_REFRESH_STATUS":"OK","PRODUCTION_CHANGED":"YES","ahead_behind_after":"0\t0","edge_http":"200","edge_size":"38M","site_files":"1170","site_size":"34M"},"mode":"0o644","mtime_utc":"2026-09-21T00:31:31.411622Z","path":"/var/lib/homelab-health/mkdocs-auto-refresh.txt","present":true,"regular":true,"sha256":"4f9e280e40e253460e499b3177acb6aa0ee06fd8506e46c6863db727022044d4","uid":0},{"bytes":567539,"gid":0,"kv":{},"mode":"0o600","mtime_utc":"2026-09-21T00:07:05.872488Z","path":"/var/lib/homelab-health/backup-observability-history.jsonl","present":true,"regular":true,"sha256":"a182280d3fd9384a2807b58e5516744879a2e87d2aa43fcc8c53725684adb9ac","uid":0},{"bytes":618,"gid":0,"kv":{},"mode":"0o644","mtime_utc":"2026-09-20T18:51:38.070230Z","path":"/var/lib/homelab-health/control-backup.json","present":true,"regular":true,"sha256":"003b40157a1174cfd7ca6aa9aead224d9a39fae93dd7d215199b67fc3b3d1a1a","uid":0},{"bytes":178,"gid":0,"kv":{"STATUS":"OK TS=2026-09-20T05:42:14Z TYPE=capacity-risk BAD=0 WARN=0 ROOT_FREE_GB=56 VAR_TMP_FREE_GB=56 LVM_FREE_GB=683 LARGEST_DUMP_GB=0 REPORT=/var/lib/homelab-capacity/latest.md"},"mode":"0o644","mtime_utc":"2026-09-20T05:42:15.987810Z","path":"/var/lib/homelab-health/capacity-risk.txt","present":true,"regular":true,"sha256":"7ffaab10b506bbe3837ce81bdc4a5d159a647f5d062a243c7bbc3fdd05c1be9f","uid":0},{"bytes":181,"gid":0,"kv":{},"mode":"0o600","mtime_utc":"2026-09-20T04:40:22.416980Z","path":"/var/lib/homelab-health/backup-boot-drill.json","present":true,"regular":true,"sha256":"5cf6ed79fdec1f2901a868b05a57f17d1388189dcc2fb32e191b0ee4fd1f5d97","uid":0},{"bytes":839,"gid":0,"kv":{},"mode":"0o644","mtime_utc":"2026-09-04T00:31:01.495001Z","path":"/var/lib/homelab-health/backup-retention-safe-gc.json","present":true,"regular":true,"sha256":"058f6bdc0549e492766f7e1f66234b964519c3542ee60f270c7f2c1fbdcedb66","uid":0},{"bytes":357,"gid":0,"kv":{"AUTHORITY":"canonical","COMPAT_MAP":"/var/lib/homelab-backup-matrix/compat-map.json","COMPAT_OUTPUTS":"28","JOBS_BAD":"32","JOBS_DISABLED":"4","JOBS_OK":"2","JOBS_TOTAL":"38","JOBS_UNMAPPED":"0","MATRIX_JSON":"/etc/homelab-backup-matrix/matrix.json","MATRIX_MODE":"authoritative","STATE_JSON":"/var/lib/homelab-backup-matrix/state.json","STATUS":"FAIL","TS":"2026-08-30T18:08:08Z","TYPE":"unified-backup-matrix"},"mode":"0o640","mtime_utc":"2026-08-30T18:08:09.112917Z","path":"/var/lib/homelab-health/backup-matrix-authoritative.txt","present":true,"regular":true,"sha256":"99da9176d84f97171b7cde7c3fec8041273441a51fa0ab5e810b4803a2ea42f6","uid":0},{"bytes":664,"gid":0,"kv":{"AGE_SECONDS":"2061715","CANONICAL_JOB_ID":"memos_backup","CANONICAL_STATE":"/var/lib/homelab-backup-matrix/state.json","EVIDENCE_LEVEL":"artifact_or_health","FRESHNESS":"STALE","JOB_ID":"memos_backup","JOB_NAME":"memos-backup","LEGACY_SOURCE_PATH":"/var/lib/homelab-health/memos-backup.txt","MATRIX_MODE":"authoritative",
-53:BACKUP_LOCK_FILES=[{"age_seconds":321369,"bytes":78,"path":"/run/homelab-backup-v2-504r1-ca6876fa9c3b.success"},{"age_seconds":324497,"bytes":94,"path":"/run/homelab-backup-v2-503r1-ac51fd96ec13.success"},{"age_seconds":366006,"bytes":229,"path":"/run/homelab-backup-v2-486r1.success"},{"age_seconds":368442,"bytes":60,"path":"/run/homelab-backup-v2-485r1"},{"age_seconds":369001,"bytes":60,"path":"/run/homelab-backup-v2-484r1"},{"age_seconds":370757,"bytes":60,"path":"/run/homelab-backup-v2-483r1"},{"age_seconds":371247,"bytes":60,"path":"/run/homelab-backup-v2-482r1"},{"age_seconds":372037,"bytes":60,"path":"/run/homelab-backup-v2-481r1"},{"age_seconds":384816,"bytes":241,"path":"/run/homelab-backup-v2-468r1.journal.json"},{"age_seconds":387740,"bytes":228,"path":"/run/homelab-backup-v2-466r1.journal.json"},{"age_seconds":368373,"bytes":0,"path":"/run/homelab-backup-heavy.lock"},{"age_seconds":1470108,"bytes":0,"path":"/var/lock/homelab-backup-retention-gc.lock"},{"age_seconds":368373,"bytes":0,"path":"/var/lock/homelab-vm-cloud-quorum-queue.lock"},{"age_seconds":366034,"bytes":0,"path":"/var/lock/homelab-control-backup.lock"},{"age_seconds":856,"bytes":0,"path":"/var/lock/homelab-backup-audit.lock"},{"age_seconds":393096,"bytes":0,"path":"/var/lock/homelab-app-cloud-quorum-queue.lock"},{"age_seconds":368378,"bytes":0,"path":"/var/lock/homelab-backup-dispatcher.lock"}]
-54:BACKUP_PROCESSES=["1479892     111 homelab-backup-","1481627       0 rclone"]
-55:MAIL_ALERT_TOOLS={"curl":"/usr/bin/curl","mail":"/usr/bin/mail","mailx":"/usr/bin/mailx","msmtp":null,"postfix":"/usr/sbin/postfix","postqueue":"/usr/sbin/postqueue","sendmail":"/usr/sbin/sendmail"}
-56:MAIL_CONFIG_METADATA={"bytes":73,"gid":0,"mode":"0o644","mtime_utc":"2026-05-21T11:32:05Z","path":"/etc/aliases","present":true,"regular":true,"sha256":"8e81ec4a775c03d4a6d59c6fddb47bb84705a631fd1b142dffd536b824125bde","uid":0}
-57:MAIL_CONFIG_METADATA={"path":"/etc/msmtprc","present":false}
-58:MAIL_CONFIG_METADATA={"path":"/root/.msmtprc","present":false}
-59:MAIL_CONFIG_METADATA={"bytes":572,"gid":0,"mode":"0o644","mtime_utc":"2026-06-14T07:03:09.228067Z","path":"/etc/postfix/main.cf","present":true,"regular":true,"sha256":"d1050a0c110c2d6c59f595abcf791ee8daa5399dee97fc504fafbcf08adc8f7f","uid":0}
-60:MAIL_ALERT_SCRIPT_SURFACE=[{"bytes":3140,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-vm160-remote-backup","sha256":"ffcb6b946d9c621cb9227642008c5f6bf7fb48041b3604c926c7ed2f2be47cc4"},{"bytes":7995,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-mail-cloud-restore-drill","sha256":"c1e13c1813df88095464cf47a989e456c5d8755a425bbb1306908ded6c75cd6b"},{"bytes":251,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-backup-matrix-status","sha256":"0d8df0f07009a4d1c2a4d167095a23cf3bf1b0a759471faf3530667ca61a84d0"},{"bytes":7521,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-mail-cloud-critical-upload","sha256":"96d07ad483fdce0eb91d64e26b7ac5d653f668579587e7eb602f566d26096932"},{"bytes":1806,"mail_alert_tokens":["alertmanager"],"path":"/usr/local/sbin/homelab-alertmanager-backup-run","sha256":"6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a"},{"bytes":1785,"mail_alert_tokens":[],"path":"/usr/local/sbin/appbackupctl","sha256":"d8956510d5cf46185e88542a284d86e1f2f2cf1e8ddc68967bf760657606765f"},{"bytes":1544,"mail_alert_tokens":[],"path":"/usr/local/sbin/postgres-apps-backup-run","sha256":"98aeaaaa5c13af6e37c0c388e217f1e92bbed4ed2935a5615a2df6a5437a0bbf"},{"bytes":2217,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-backup-gitea","sha256":"dc6b4c00592788884e42cac13477700914b84e7c367d4d53a77db7219b170848"},{"bytes":958,"mail_alert_tokens":[],"path":"/usr/local/sbin/backup-report","sha256":"72eb0365e3af9ffe4b4b317ec747209efc31ad634a34a4ee868e9a8d3d1a7a61"},{"bytes":3510,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-backup-path","sha256":"bbd07365e4762477abfab1422779b90efd1a2121534f7c237a53d6c141b01453"},{"bytes":1656,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-backup-v2","sha256":"5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2"},{"bytes":1567,"mail_alert_tokens":[],"path":"/usr/local/sbin/npmplus-edge-backup-run","sha256":"5d52b1e2853698d561020ba899bf6960ccfcc045f659ab4fdf32da0c7defb199"},{"bytes":1417,"mail_alert_tokens":[],"path":"/usr/local/sbin/mariadb-apps-backup-run","sha256":"a3d3a161a828ce69ad0754ff7602bbbaf3ed5d301614ca61b633ce6df0cf25b9"},{"bytes":1650,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-blackbox-exporter-backup-run","sha256":"9ff1fd3e5bee1ddfcca3dc688dd8a8efe88fe8658c3f37560b2d01d240763813"},{"bytes":11862,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-control-backup","sha256":"0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57"},{"bytes":4356,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-backup-authentik","sha256":"081e27cb34ace80576ef375dfece97d0b9f79cb4a0a6b72b5d354b7eefe9dd81"},{"bytes":13772,"mail_alert_tokens":["alertmanager"],"path":"/usr/local/sbin/homelab-backup-npmplus-kuma-configs","sha256":"8cb2c47de0879ec57df51411513ecc00d84fd2aad1b27939797b36da75c8e875"},{"bytes":4672,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-router-running-config-mail-cloud","sha256":"a0aeb0e1ec7e2714b3d6147c13c2af04d8d8118219541ec60b66df6919858dc7"},{"bytes":2331,"mail_alert_tokens":[],"path":"/usr/local/sbin/appbackup-restore-check","sha256":"c3f052c8ddba5304de7dd9ab0b03dc033a0d711c36d5c8b4128310e5cea86bcb"},{"bytes":1502,"mail_alert_tokens":[],"path":"/usr/local/sbin/backupctl","sha256":"2e2cb207a8642a773606e04a626395afcc102e4c5ada219ba8197ed641648341"},{"bytes":9906,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-mailru-trash-gc","sha256":"a9fc14b00bed57c29b397b998de5fe2589c28d1590dd977ed8c7bc3ef321e77b"},{"bytes":1921,"mail_alert_tokens":[],"path":"/usr/local/sbin/homelab-backupctl","sha256":"ef03927231181c1f0664c5dc9498e067279936f02b9601fbebf144a82db72a4b"},{"bytes":1603,"mail_alert_tokens":[],"path":"/usr/local/sbin/sqlite-apps-backup-run","sha256":"3b19ed58077a5f2b5326d9a21407680b55ee99c634c8b4a1512f3ee344437368"},{"bytes":6851,"mail_alert_tokens":[],"path":"/usr/local/sbin/skladchik-reports-monitor-backup-restore-check","sha256":"abb2d17392b6edde3603f77e88fc82240c311f932b0d197b1b82
-61:CANONICAL_BACKUP_RELEVANT_PATHS=[]
-62:BACKUP_AUDIT_FINDING_COUNTS={"critical":0,"high":33,"info":10,"medium":26}
-63:BACKUP_AUDIT_FINDINGS=[{"code":"BACKUP_TIMER_DISABLED","detail":"homelab-app-cloud-quorum-queue.timer","severity":"high"},{"code":"BACKUP_TIMER_DISABLED","detail":"homelab-control-backup.timer","severity":"high"},{"code":"BACKUP_TIMER_DISABLED","detail":"homelab-evidence-seal.timer","severity":"high"},{"code":"BACKUP_TIMER_DISABLED","detail":"homelab-router-running-config-mail-cloud.timer","severity":"high"},{"code":"BACKUP_TIMER_DISABLED","detail":"homelab-vm-cloud-quorum-queue.timer","severity":"high"},{"code":"BACKUP_UNIT_FAILED","detail":"homelab-app-cloud-quorum-queue.service result=exit-code","severity":"high"},{"code":"BACKUP_UNIT_FAILED","detail":"homelab-backup-retention-gc.service result=exit-code","severity":"high"},{"code":"BACKUP_UNIT_FAILED","detail":"homelab-vm-cloud-quorum-queue.service result=exit-code","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/authentik-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/authentik-restore.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/backup-coverage-matrix.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/backup-framework.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/backup-matrix-authoritative.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/backup-sla.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/edge-vm-vzdump-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/extended-appbackup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/filebrowser-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/filebrowser-restore.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/gitea-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/gitea-restore.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/immich-media-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/mail-cloud-restore-drill.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/memos-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/npmplus-kuma-config-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/npmplus-kuma-config-restore.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/paperless-restore.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vaultwarden-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vaultwarden-restore.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vm-backup-policy.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vm-local-dumps-retention.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vm160-remote-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vm170-vm171-full-backup.txt:FAIL","severity":"high"},{"code":"HEALTH_FILE_FAIL","detail":"/var/lib/homelab-health/vm170-vm171-full-restore-drill.txt:FAIL","severity":"high"},{"code":"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE","detail":"homelab-app-cloud-quorum-queue","severity":"medium"},{"code":"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE","detail":"homelab-backup-audit","severity":"medium"},{"code":"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE","detail":"homelab-backup-coverage-matrix","severity":"medium"},{"code":"LIVE_ASSET_NOT_MATCHING_TRACKED_SOURCE","detail":"homela
-64:BACKUP_AUDIT_COLLECTION_COMPLETE=true
-65:CHANGES_MADE=false
-66:ROLLBACK_STARTED=false
-67:ROLLBACK_RESTORED=null
-68:MUTATION_OUTCOME=NO_MUTATION
-69:TASK_RESULT=PASS_HOMELAB_BACKUP_DEEP_AUDIT_COLLECTED
-70:HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
-71:BACKUP_AUDIT_END
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260914-INFRA-DR-BACKUPV2-CONTROL-BOOTSTRAP-EXISTING-GENERATION-VERIFY-CLOSURE-379R1-20260914T191221Z.log|SHA256=7d118732b36ef2b911b24c729e58e7664a330c87ce4ea605a429432827e79251|BYTES=1698
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260914-INFRA-DR-BACKUPV2-CONTROL-BOOTSTRAP-EXISTING-GENERATION-VERIFY-CLOSURE-379R1-20260914T191221Z.log
-18:VERIFY_SEMANTIC_RECONSTRUCT_A=PASS
-19:VERIFY_SEMANTIC_RECONSTRUCT_B=PASS
-20:VERIFY_SEMANTIC_COMPARE_AB=PASS
-21:VERIFY_SEMANTIC_NO_MARK=PASS
-22:VERIFY_SEMANTIC_NO_BACKUP_DELETE=PASS
-23:HOMELAB_APP_CLOUD_QUORUM_QUEUE_TIMER_PRE_ENABLED=enabled
-24:HOMELAB_APP_CLOUD_QUORUM_QUEUE_TIMER_PRE_ACTIVE=active
-25:HOMELAB_VM_CLOUD_QUORUM_QUEUE_TIMER_PRE_ENABLED=enabled
-26:HOMELAB_VM_CLOUD_QUORUM_QUEUE_TIMER_PRE_ACTIVE=active
-27:HOMELAB_CONTROL_BACKUP_TIMER_PRE_ENABLED=enabled
-28:HOMELAB_CONTROL_BACKUP_TIMER_PRE_ACTIVE=active
-29:V2_TIMER_COUNT_PRE=0
-30:CONTROL_ENGINE_VERIFY_INVOCATIONS=1
-31:CONTROL_VERIFY_RC=0
-32:CLOUD_WRITE_MARKER_PRESENT=NO
-33:RESTORE_EVIDENCE_STATUS=UNKNOWN
-34:RESTORE_EVIDENCE_GENERATION=control-bootstrap-v2-pve01-20260914T080740Z
-35:RESTORE_EVIDENCE_ARCHIVE_SHA256=UNKNOWN
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260914-INFRA-DR-BACKUPV2-CONTROL-BOOTSTRAP-EXISTING-GENERATION-VERIFY-CLOSURE-379R1-20260914T191221Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z-20260805T064800Z.log|SHA256=10eeba794a85e13eb9ddc29f821f0e0cf430c57b93acf878eb539e048389d8f6|BYTES=294964
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z-20260805T064800Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z","command_rc":0,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
-2:{"blocking_findings":["HANDBOOK_CANDIDATE_AMBIGUOUS","REPOSITORY_TESTS_FAILED","CLUSTER_STATUS_UNREADABLE"],"changes_made":false,"cluster_changed":false,"command_id":"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z","command_rc":0,"error_system_assessment":{"deterministic_fingerprint_observed":true,"immutable_error_ledger_observed":false,"mandatory_components":{"linter":{"paths":[],"present":false},"regression_registry":{"paths":["errors/regression-cases.json"],"present":true},"repository_validator":{"paths":["tools/validate_repo.py"],"present":true},"superseded_policy":{"paths":[],"present":false},"tests":{"paths":["tests/fixtures/gitea-legacy-auth-permission.json","tests/test_access_contexts.py","tests/test_cr_2026_0005.py","tests/test_cr_2026_0006.py","tests/test_cr_2026_0006_vm160_task.py","tests/test_cr_2026_0007_skladchik_reauth.py","tests/test_cr_2026_0007_skladchik_semantic_repair.py","tests/test_cr_2026_0008_skladchik_snapshot_integrity.py","tests/test_cr_2026_0009_skladchik_concurrency_guard.py","tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py","tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py","tests/test_cr_2026_0013_vm160_worker_bootstrap_transition.py","tests/test_cr_2026_0015_pve03_r8152_rx_ring_canary.py","tests/test_cr_2026_0018_execution_boundary_preparation.py","tests/test_inventory_foundation.py","tests/test_live_verification.py","tests/test_no_repeat_policy.py","tests/test_reg_014_015.py","tests/test_repository.py"],"present":true}},"missing_mandatory_components":["linter","superseded_policy"],"observed_error_artifact_count":160,"pre_command_gate_observed":false,"proposed_v2":{"command_evidence_basis":"Каждая задача закрепляется на точном Gitea commit и SHA исходных файлов. Команда без evidence_basis или с устаревшим commit блокируется до нового READ_ONLY probe.","deterministic_fingerprint":"SHA256 нормализованного набора component + operation + phase + rc + error_type + stable evidence; секреты и переменные значения исключаются до хеширования.","error_ledger":"Одна неизменяемая JSON-запись на каждый доказанный отказ: error_id, command_id, capsule_sha256, component, operation, target, exact evidence, root cause, fixed_by, prevention_test, supersedes, first_seen, last_seen.","exact_result_ingestion":"После exact-result автоматически формируется candidate incident; запись принимается только после сверки command_id, capsule_sha256, runner_json_sha256, wrapper/document RC и отсутствия truncation.","pre_command_gate":"Перед выпуском любой капсулы обязательный поиск fingerprint/component/operation в реестре. Повтор известной ошибки блокируется, пока капсула не содержит подтверждённое prevention_test или документированное исключение.","quality_metrics":"Счётчики: first-pass success rate, repeated-error rate, rollback rate, unknown-state commands, commands without exact-result verification. Цель — repeated-error rate = 0.","regression_tests":"Каждая исправленная ошибка обязана иметь воспроизводимый тест в tests/errors; лinter запрещает закрывать ошибку без теста и ссылки fixed_by.","supersession":"Старые задачи и обходные пути не удаляются молча: они получают статус superseded с заменой, причиной и запретом повторного запуска."},"requires_v2":true},"gitea":{"default_head_archive":{"archive_sha256":"8f595e76a5baa7b2d8d2148f1a694e9acd22a90accb6e55f962fc47ff1432a5a","branch":"main","bytes":376932,"commit":"fe1221b06643db3b00a621b0230f92a46a4edc2b","files":125},"discovery_evidence":[{"id":"aa350cac62aa","kind":"podman-probe","paths_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","rc":126,"stderr":"Error: crun: capset: Operation not permitted: OCI permission denied\n"},{"kind":"network-ls-remote","rc":0,"stderr":"","stdout_sha256":"b6697044d593fdddb9d66bc35bd58267cc6d07a31b756330aac2f147bc98bc6c"},{"kind":"network-mirror","rc":0,"stderr":"Cloning into bare repository '/tmp/homelab-kb-network-fallback-k4x0gd1r/homelab-ops.git'...\n","stdout_sha256":"e3b0c442
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z-20260805T064800Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-INTAKE-RCA-035-20260908T052321Z.log|SHA256=9bc13c343cdda506b9e7bbb4a38191d9f1ee1e4d31beb0916fa1cda673e1e097|BYTES=26712
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-INTAKE-RCA-035-20260908T052321Z.log
-1:ERROR_REGISTER_CHECK=OK
-2:REFERENCE_CHECK=OK
-3:AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
-4:SIGNALBOT035_VM170={"name":"core-apps","node":"pve01","status":"running","type":"qemu"}
-5:SIGNALBOT035_VM170_SNAPSHOT={"report":{"collector":{"cmd":["python","-m","demonov_forward_map.bitfinex_trade_collector"],"entrypoint":null,"health":null,"id_short":"a546a70c3e8c","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","name":"demonov-shadow-8020-collector-1","pid":210213,"restart_count":13,"running":true,"started_at":"2026-09-08T05:01:08.70385245Z","status":"running"},"collector_status":{"age_sec":8.9,"exists":true,"mtime_epoch":1788845024.0247085,"path":"/opt/stacks/8020-demonov-shadow/data/epochs/ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338/collector_status.json","values":{"fail_closed_reason":"source reconnect detected","gap_detected":false,"post_finality_revision":false,"prospective_fail_closed_reason":"","prospective_gap_detected":false,"prospective_reconnect_detected":false,"reconnect_detected":true,"updated_at":"2026-09-08T05:23:44.028140+00:00"}},"db_a":{"d1_revisions_count":0,"event_kind_counts":[["SEQUENCE",179729],["RECONNECT",10],["SESSION_START",1]],"exists":true,"finalized_d1_count":0,"latest_sequence_events":[{"event_kind":"SEQUENCE","event_seq":179740,"received_at":"2026-09-08T05:23:20.918750+00:00","session_hash":"253ffe9a26a5","source_sequence":2510},{"event_kind":"SEQUENCE","event_seq":179739,"received_at":"2026-09-08T05:23:20.891856+00:00","session_hash":"253ffe9a26a5","source_sequence":2509},{"event_kind":"SEQUENCE","event_seq":179738,"received_at":"2026-09-08T05:23:20.552139+00:00","session_hash":"253ffe9a26a5","source_sequence":2508},{"event_kind":"SEQUENCE","event_seq":179737,"received_at":"2026-09-08T05:23:20.534792+00:00","session_hash":"253ffe9a26a5","source_sequence":2507},{"event_kind":"SEQUENCE","event_seq":179736,"received_at":"2026-09-08T05:23:20.329909+00:00","session_hash":"253ffe9a26a5","source_sequence":2506},{"event_kind":"SEQUENCE","event_seq":179735,"received_at":"2026-09-08T05:23:20.177708+00:00","session_hash":"253ffe9a26a5","source_sequence":2505},{"event_kind":"SEQUENCE","event_seq":179734,"received_at":"2026-09-08T05:23:20.170743+00:00","session_hash":"253ffe9a26a5","source_sequence":2504},{"event_kind":"SEQUENCE","event_seq":179733,"received_at":"2026-09-08T05:23:20.163522+00:00","session_hash":"253ffe9a26a5","source_sequence":2503},{"event_kind":"SEQUENCE","event_seq":179732,"received_at":"2026-09-08T05:23:20.004001+00:00","session_hash":"253ffe9a26a5","source_sequence":2502},{"event_kind":"SEQUENCE","event_seq":179731,"received_at":"2026-09-08T05:23:19.850034+00:00","session_hash":"253ffe9a26a5","source_sequence":2501},{"event_kind":"SEQUENCE","event_seq":179730,"received_at":"2026-09-08T05:23:19.841410+00:00","session_hash":"253ffe9a26a5","source_sequence":2500},{"event_kind":"SEQUENCE","event_seq":179729,"received_at":"2026-09-08T05:23:19.827700+00:00","session_hash":"253ffe9a26a5","source_sequence":2499},{"event_kind":"SEQUENCE","event_seq":179728,"received_at":"2026-09-08T05:23:19.671403+00:00","session_hash":"253ffe9a26a5","source_sequence":2498},{"event_kind":"SEQUENCE","event_seq":179727,"received_at":"2026-09-08T05:23:19.518174+00:00","session_hash":"253ffe9a26a5","source_sequence":2497},{"event_kind":"SEQUENCE","event_seq":179726,"received_at":"2026-09-08T05:23:19.357283+00:00","session_hash":"253ffe9a26a5","source_sequence":2496},{"event_kind":"SEQUENCE","event_seq":179725,"received_at":"2026-09-08T05:23:19.200903+00:00","session_hash":"253ffe9a26a5","source_sequence":2495},{"event_kind":"SEQUENCE","event_seq":179724,"received_at":"2026-09-08T05:23:19.193716+00:00","session_hash":"253ffe9a26a5","source_sequence":2494},{"event_kind":"SEQUENCE","event_seq":179723,"received_at":"2026-09-08T05:23:19.185835+00:00","session_hash":"253ffe9a26a5","source_sequence":2493},{"event_kind":"SEQUENCE","event_seq":179722,"received_at":"2026-09-08T05:23:19.177983+00:00","session_hash":"253ffe9a26a5","source_sequence":2492},{"event_kind":"SEQUENCE","event_seq":179721,"received_at":"2026-09-08T05:23:19.164437+00:00","session_hash":"253ffe
-6:SIGNALBOT035_HOLDS=["COLLECTOR_INTAKE_STILL_STALLED"]
-7:SIGNALBOT035_DECISION=HOLD_COLLECTOR_INTAKE_STALLED_WITH_PROCESS_AND_TCP_ALIVE
-8:SIGNALBOT035_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-INTAKE-RCA-035-20260908T052321Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-PROD220-ACCEPT369-20260921T071508Z.log|SHA256=9ac1615a4b83088a378a354db0809264d3166a4f3bd6ae292fb3bf4cffa0d9a8|BYTES=551
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-PROD220-ACCEPT369-20260921T071508Z.log
-1:PROD220_BEGIN=true
-2:COMMAND_ID=NEWFI-260921-NEWFDOM-PROD220-ACCEPT369
-3:REFERENCE_CHECK=OK
-4:ERROR_REGISTER_CHECK=OK
-5:PROD220_ERROR_CLASS=RuntimeError
-6:PROD220_ERROR_SHA=a766c16d7b050ebf6bd1b3929ef6b4b4ec10fae79be8e526390a503628a2f372
-7:DECISION=FAIL_PROD220_ACCEPTANCE
-8:NEXT_GATE=RECONCILE_PROD220_EXACT_FAILURE
-9:ACTIVE_MAJOR_STAGE=PROD220
-10:MAJOR_STAGES_REMAINING=2
-11:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260921-NEWFDOM-PROD220-ACCEPT369","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-12:PROD220_END=true
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-PROD220-ACCEPT369-20260921T071508Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7-20260917T154950Z.log|SHA256=ee9c223477cb4ed127dd950e6f21c1536fe4a7053678b03a9d64fbb6eb017feb|BYTES=8164
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7-20260917T154950Z.log
-19:SIGNALBOT051R7_QGA_OUTER_STDERR_BYTES=0
-20:SIGNALBOT051R7_QGA_OUTER_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-21:SIGNALBOT051R7_QGA_GUEST_EXITCODE=2
-22:SIGNALBOT051R7_QGA_GUEST_STDERR_BYTES=0
-23:SIGNALBOT051R7_QGA_GUEST_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-24:SIGNALBOT051R7_GUEST_RESULT={"changes_made":true,"exception_class":"RuntimeError","exception_msg_sha256":"376fc90486c0cb3beb8442175db27431c734f4cfb437f8045a97c6b142e64bcb","execution_authority":false,"mutated_active":true,"production_launch_allowed":false,"real_exchange_execution":false,"risk_authority":false,"rollback":{"compose_old_rc":0,"data_restored_pre_service_exact":true,"env_restored":true,"failed_epoch":"/opt/stacks/8020-demonov-shadow/.epochs/failed/4a78c74b381b0424ccd22fa5466526cb324dfbb6855ffb3de8f0c3ac29dac397-SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7","old_epoch_scientific_continuity":"INVALIDATED_BY_CUTOVER","old_services_restored":true,"post_restore_db_checks":{"bitfinex_source.db":{"exists":false,"quick_check":null},"live_prospective.db":{"exists":true,"quick_check":["ok"]},"notification_relay.db":{"exists":false,"quick_check":null}},"quiesced_before_data_restore":true,"reason":"RuntimeError:CANDIDATE_SERVICES_NOT_READY","services":[{"config_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","env_selected":{"CODE_IDENTITY":"76e1f58baa544a0e208bba317f0150e5b6d74dbd","COLLECTION_START_AT":"2026-09-10T00:00:00+00:00","EXPERIMENT_ID":"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f","RUNTIME_MANIFEST_ID":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389"},"id":"29186524106c56f49b162814e32e2f48df20d8b17199810f57deeb5edb0ce102","image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","name":"demonov-shadow-8020-collector-1","restart_count":0,"restarting":false,"running":true,"service":"collector","started_at":"2026-09-17T15:52:57.254533388Z","status":"running"},{"config_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","env_selected":{"CODE_IDENTITY":"76e1f58baa544a0e208bba317f0150e5b6d74dbd","COLLECTION_START_AT":null,"EXPERIMENT_ID":"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f","RUNTIME_MANIFEST_ID":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389"},"id":"67151a82d47d32f6d04ad378ef6193821ccc8941948b5e0946b96eceaa9610ac","image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","name":"demonov-shadow-8020-relay-1","restart_count":0,"restarting":false,"running":true,"service":"relay","started_at":"2026-09-17T15:52:57.226947701Z","status":"running"},{"config_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","env_selected":{"CODE_IDENTITY":"76e1f58baa544a0e208bba317f0150e5b6d74dbd","COLLECTION_START_AT":null,"EXPERIMENT_ID":"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f","RUNTIME_MANIFEST_ID":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389"},"id":"32736e8b497d29e80b71dbe0feef33aee4cd98b3f5944bb9535f7def7204454d","image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","name":"demonov-shadow-8020-shadow-1","restart_count":0,"restarting":false,"running":true,"service":"shadow","started_at":"2026-09-17T15:52:57.10658209Z","status":"running"},{"config_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","env_selected":{"CODE_IDENTITY":"76e1f58baa544a0e208bba317f0150e5b6d74dbd","COLLECTION_START_AT":null,"EXPERIMENT_ID":"55588af053b5a7b47bdc86a9231b7fc3a4cdd00b3b53e05e201e69438f480e0f","RUNTIME_MANIFEST_ID":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389"},"id":"b6835488a822007be99202f93b18f8a02838af7d55059acfa6664ff70d7fc783","image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","name":"demonov-shadow-8020-worker-1","restart_count":0,"restarting":false,"running":true,"service":"worker","started_at":"2026-09-17T15:52:57.155772206Z","status":"running"}],"stop_rc":0,"stopped_services":[{"config_image":"8020-demonov-shadow:signalbot-050r6-749073ae0f89","env_selected":{"CODE_IDENTITY":"749073ae0f894debc06fb0ffbf7a84abf9da531f","COLLECTION_START_AT":"2026-09-18T00:00:00+00:00","EXPERIMENT_ID":"4a78c74b381b0424c
-25:SIGNALBOT051R7_ROLLBACK_STARTED=true
-26:SIGNALBOT051R7_ROLLBACK_RESTORED=true
-27:SIGNALBOT051R7_MUTATION_OUTCOME=ROLLED_BACK
-28:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-NEW-EPOCH-CANARY-ACTIVATE-051R7-20260917T154950Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LXC-PROVENANCE-OVERLAY-REPAIR-LIVE-VERIFY-496R1-20260917T040237Z.log|SHA256=65681c07d18a21ead3763601a866878e48ac86da7fba8b69fdce0f72a61612fc|BYTES=1543
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LXC-PROVENANCE-OVERLAY-REPAIR-LIVE-VERIFY-496R1-20260917T040237Z.log
-5:NO_DAEMON_RELOAD=YES
-6:CLOUD_DELETIONS=0
-7:RETENTION_MUTATION=NO
-8:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-9:PREFLIGHT_486_BASELINE=PASS
-10:COMMON_HEAVY_LOCK_ACQUIRED=YES
-11:CHILD_ENTRY496_SELFTEST={"rc":0,"stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":54,"stdout_sha256":"306b9aa4c77735243fa82bb3a829f7c211f7343e3225a274ba04df3f0d57c220"}
-12:CHILD_PLAN_CT110={"rc":1,"stderr_bytes":2251,"stderr_sha256":"4c7c9b7a5d2724cd073c0b1e608b5585335f218f9650b4a948be538b033c63c8","stdout_bytes":29,"stdout_sha256":"6b29e06cdce22f960677f3ae5e789e7c971cbee2b5f344bb800a1de0f36ce836"}
-13:ROLLBACK_TO_486=STARTED
-14:ROLLBACK_TO_486=PASS
-15:STATUS=FAIL
-16:RC=2
-17:PHASE=CANDIDATE_BUILD
-18:REASON=FAILED_CLOSED
-19:EXCEPTION_CLASS=builtins.RuntimeError
-20:EXCEPTION_MESSAGE_SHA256=5d00c414ec22486ffc1b1cb251e9b8d5f2dbc4600a75aac49dd4f013e5bd55b9
-21:PRODUCTION_PROMOTION=NO
-22:CLOUD_DELETIONS=0
-23:RETENTION_MUTATION=NO
-24:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-25:CHANGES_MADE=true
-26:ROLLBACK_STARTED=true
-27:ROLLBACK_RESTORED=true
-28:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LXC-PROVENANCE-OVERLAY-REPAIR-LIVE-VERIFY-496R1-20260917T040237Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-LEGACY-LXC-OWNER-REPAIR-VERIFY-490R1-20260916T213045Z.log|SHA256=e6ae695d4c45e6a482ab62bbb83116e659a957346ed3e83c4e4bf24c3621e4e8|BYTES=1393
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-LEGACY-LXC-OWNER-REPAIR-VERIFY-490R1-20260916T213045Z.log
-7:RETENTION_MUTATION=NO
-8:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-9:PREPROOF_DUE_TARGET=ct110
-10:PREFLIGHT_486_BASELINE=PASS
-11:V2_TIMER_RUNTIME_STOP=PASS
-12:COMMON_HEAVY_LOCK_ACQUIRED=YES
-13:PATCHED_LEGACY_ENGINE_SHA256=5715651655da32530df84a5a095b772d21dc0d1f92789465e9e6b5b1ff8a16e3
-14:PATCHED_WRAPPER_SHA256=699ce999e52f15f24c63723e35dd5251992c4dfce6266073b892dd684ed3f454
-15:PVE265_HELPER_SHA256=97876718e791e7adf9b0297b64abc9fe071180b2c44390740b3bc9dafba220ce
-16:ROLLBACK_TO_486=STARTED
-17:ROLLBACK_TO_486=PASS
-18:COMMON_HEAVY_LOCK_RELEASED=YES
-19:STATUS=FAIL
-20:PHASE=CANDIDATE_BUILD
-21:REASON=FAILED_CLOSED
-22:EXCEPTION_CLASS=builtins.RuntimeError
-23:EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3
-24:PRODUCTION_PROMOTION=NO
-25:RETENTION_MUTATION=NO
-26:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-27:CLOUD_DELETIONS=0
-28:CHANGES_MADE=true
-29:ROLLBACK_STARTED=true
-30:ROLLBACK_RESTORED=true
-31:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-LEGACY-LXC-OWNER-REPAIR-VERIFY-490R1-20260916T213045Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z-20260805T100141Z.log|SHA256=1eb35f0774e26589f4ca703a49ca0b56a21e6cd3aad2e6f4cc351f117c506a5c|BYTES=603
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z-20260805T100141Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z","command_rc":1,"control_plane_error":null,"mutation_outcome":"NO_MUTATION","rc":1,"rollback_restored":false,"rollback_started":false,"schema":1,"status":"FAIL"}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z","error":"pvesh /nodes did not return an array","error_type":"RuntimeError","mutation_outcome":"NO_MUTATION","read_only":true,"rollback_restored":false,"rollback_started":false,"schema":1,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-DISCOVERY-V1-READ-ONLY-20260805T094500Z-20260805T100141Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1-20260921T012544Z.log|SHA256=270e95c70b63b79defe56896c399fe8be2cb60da18d703a1975929f251d051bd|BYTES=3281
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1-20260921T012544Z.log
-5:SOURCE_AUTHORITY=FROZEN_FIX10_PLUS_7_EXACT_LIVE_REFERENCE_PATCHES
-6:PRODUCTION_HOST_PRE={"all_link_down":false,"lock":null,"name":"pvepro-prod","operational_fp":"2aba9f764ff0efacd2da02f09826374f877e1b073775cb725ebcf9d9177e8c65","snapshots":[],"status":"running","vmstate":null}
-7:STAGING_HOST_PRE={"all_link_down":true,"lock":null,"name":"pvepro-staging-v1","operational_fp":"45ade56dd44c0a6a9df5e18c37cb9c94117f33ea6ad30ce005f8b051258ce931","snapshots":[],"status":"stopped","vmstate":null}
-8:PRODUCTION_APP_PRE={"app":{"boardActive":"1","defaultLanguageId":"2","defaultStyleId":"2","errors":20,"indexRoute":"portal/","posts":44,"sitemapExtraUrls":"https://pvepro.ru/","support_counts":{"addon":0,"options":0,"permissions":0,"routes":0,"tables":0,"template_modification":0,"templates":0},"threads":44,"useFriendlyUrls":true},"collection":"COMPLETE","command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1","install_capability":true,"portal_xml":{"bytes":13999,"exists":true,"safe":true,"sha256":"32301f0de13968030caac1c3137f6883739a09392d272f1efaced50343151c7b"},"robots":{"bytes":246,"exists":true,"safe":true,"sha256":"f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272"},"support_create_http":{"http":404,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"support_http":{"http":404,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"support_source_paths":[]}
-9:PRODUCTION_PUBLIC_SUPPORT_PRE={"/support/":{"http":404,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"/support/create/":{"http":404,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}}
-10:GRAM_SUPPORT_STAGING_ERROR_CLASS=RuntimeError
-11:GRAM_SUPPORT_STAGING_ERROR_SHA256=d4a1b6bae721ec604c7b38b8fe1a7bf47a4763f5745a49016a3d8c4b82ed021c
-12:PRODUCTION_APP_AFTER_FAILURE={"app":{"boardActive":"1","defaultLanguageId":"2","defaultStyleId":"2","errors":20,"indexRoute":"portal/","posts":44,"sitemapExtraUrls":"https://pvepro.ru/","support_counts":{"addon":0,"options":0,"permissions":0,"routes":0,"tables":0,"template_modification":0,"templates":0},"threads":44,"useFriendlyUrls":true},"collection":"COMPLETE","command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1","install_capability":true,"portal_xml":{"bytes":13999,"exists":true,"safe":true,"sha256":"32301f0de13968030caac1c3137f6883739a09392d272f1efaced50343151c7b"},"robots":{"bytes":246,"exists":true,"safe":true,"sha256":"f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272"},"support_create_http":{"http":404,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"support_http":{"http":404,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"support_source_paths":[]}
-13:TASK_RESULT=PVEPRO_GRAM_SUPPORT_STAGING_INSTALL_FAILED
-14:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-838R1-20260921T012544Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL400-20260921T162418Z.log|SHA256=01a60cf203245dd8d4a87e2458ffeb0ca8bcdbea88ae958159fef3b56ae8ecfa|BYTES=935
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL400-20260921T162418Z.log
-1:DR221_FINAL400_BEGIN=true
-2:COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-FINAL400
-3:PREDECESSOR_COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-PREFLIGHT399
-4:PREDECESSOR_DECISION=PASS_DR221_PREFLIGHT_CURRENT_BACKUP_RESTORE_CONTRACT_CAPTURED
-5:IMMUTABLE_PLAN_CHECK=PASS
-6:DR221_FAILURE={"checkpoint":"prestate","error_class":"RuntimeError","error_sha256":"417a03c94212b2c564117c5ab67127d6d0cd85502508518f729955e2ac275319"}
-7:DR221_BACKUP_GENERATION=null
-8:DR221_CLEANUP={"cleanup_started":false,"staging_work_removed":true,"temp_vm_removed":null}
-9:DR221_CLOSED=false
-10:FULL_PRODUCT_REMAINING=1
-11:DECISION=FAIL_DR221_FINAL_CURRENT_PRODUCTION_BACKUP_RESTORE_ACCEPTANCE
-12:NEXT_GATE=RECONCILE_ONLY_EXACT_DR221_FINAL400_FAILURE
-13:ACTIVE_MAJOR_STAGE=DR221
-14:MAJOR_STAGES_REMAINING=1
-15:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260921-NEWFDOM-DR221-FINAL400","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL400-20260921T162418Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1-20260921T045847Z.log|SHA256=69340ccf65a65378205b6be8d9b787bade7ef243d4349fe3ae7dc03722bd2aa7|BYTES=1899
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1-20260921T045847Z.log
-6:STAGING_HOST_PRE={"all_link_down":true,"config_sha256":"43761ab3d555625387944883cd0229cde2121aba005a715dffe20465041e8aa9","lock":null,"name":"pvepro-staging-v1","snapshots":[],"status":"stopped","vmstate":null}
-7:PRODUCTION_APP_PRE={"addon":0,"boardActive":"1","errors":20,"permissions":0,"posts":44,"routes":0,"support_source":0,"tables":0,"threads":44}
-8:REFERENCE_CURRENT_SOURCE={"chunk_count":13,"manifest_sha256_control_chars":"b386b6feeb5dd9b396f4632ffec7f6455492ab663800494ad0c65f5a71fe0d0a","manifest_sha256_legacy_literal_escapes":"911e50bc376db2f967ad79e3b8a794b1dac47c44a9c51d6c8e3bad6356c73c43","path_count":59,"total_bytes":134697,"transfer_mode":"CHUNKED_LIVE_REFERENCE_EXACT_59"}
-9:FRESH_STAGING_SNAPSHOT_CREATED=true
-10:STAGING_APP_PRE={"addon":null,"boardActive":"","defs":[],"entries":[],"errors":16,"jobs":[],"mods":[],"posts":44,"siteId":"","src_addon":0,"src_js":0,"tables":[],"threads":44}
-11:GRAM_SUPPORT_STAGING_ERROR_CLASS=RuntimeError
-12:GRAM_SUPPORT_STAGING_ERROR_SHA256=fe83622d9f27d15ec1282f83045ab90580c45ed99c44d82896cdb356ca1f7fd1
-13:ROLLBACK_STARTED=true
-14:ROLLBACK_RESTORED=true
-15:NO_PRODUCTION_MUTATION_EXPECTED=true
-16:PRODUCT_CHECKPOINTS_REMAINING=14
-17:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14
-18:TASK_RESULT=PVEPRO_GRAM_SUPPORT_STAGING_INSTALL_PERMISSION_LIFECYCLE_FAILED
-19:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-PERMISSION-LIFECYCLE-RETRY-864R1-20260921T045847Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039-20260909T102004Z.log|SHA256=b444bc8e8585d5a0617bec26fe995ad777325b42fddc3b5f1e6723f5a594bb0c|BYTES=838
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039-20260909T102004Z.log
-4:AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
-5:RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
-6:SUPPORT039_TOPOLOGY={"name":"newfi-staging","node":"pve03","status":"running","vmid":211}
-7:SUPPORT039_SOURCE_AUTHORITY={"artifact_sha256":"c20ca0744835ab3e6d7e4d944923a51e86cc53ffa7371a1a58b72b13453a8b3b","branch":"main","head":"31db97f7aa7190fa9bb0017cfab9b4d0ca463812","path":"/root/gram-support","remote":"NONE_LOCAL_GIT"}
-8:SUPPORT039_GUEST_STATE={"exitcode":3,"state":"GUEST_FAIL"}
-9:SUPPORT039_HOLD=RuntimeError
-10:SUPPORT039_DECISION=HOLD_NO_FURTHER_MUTATION
-11:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-STAGING-INSTALL-039-20260909T102004Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-TECHNICAL-SEO-STAGING-IMPLEMENTATION-RETRY-825R1-20260920T232026Z.log|SHA256=9c50d6cb733ae7960d58eaeccc49f7b77539df45121bfd33304154b5d1254b17|BYTES=96939
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-TECHNICAL-SEO-STAGING-IMPLEMENTATION-RETRY-825R1-20260920T232026Z.log
-16:STAGING_ROBOTS_WRITE=f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272|246
-17:STAGING_SEO_MUTATION={"marker":1,"sitemapAutoRebuild":true,"sitemapAutoSubmit":{"enabled":"0","urls":""},"sitemapExtraUrls":"","template_bytes":10077,"template_sha256":"24fed3a1f355ec22b180c4e0d1cb9ff1b6f7c193aa3d710d3f753196d696625d","useFriendlyUrls":false}
-18:STAGING_NATIVE_SITEMAP_REBUILD={"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
-19:STAGING_SEO_STATE_AFTER_MUTATION={"boardActive":"0","dataSitemaps":{"exists":false},"defaultLanguageId":"2","defaultStyleId":"2","errors":16,"faviconBytes":165,"faviconExists":true,"faviconSha256":"cb2080acb1bce40de99ef4963d153d20c9b6666b8442f936f66e3f1c8539af8b","forumCount":12,"indexRoute":"portal/","internalSitemaps":{"exists":true,"files":[{"bytes":1,"name":"index.html","sha256":"36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"},{"bytes":1547,"name":"sitemap-1789946566-1.xml.gz","sha256":"b93ea76fe2140f625fb30616a2b4b65e1a102cb943e9edb32192b87f8f4c0fa3"}]},"members":{"addon_id":"XF","enabled":0,"navigation_id":"members","parent_navigation_id":""},"node1":{"display_in_list":0,"node_id":1,"node_type_id":"Category","parent_node_id":0,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},"node2":{"display_in_list":0,"node_id":2,"node_type_id":"Forum","parent_node_id":1,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"},"nodeCount":18,"portalAddonRows":1,"portalRouteRows":1,"portalTemplateRows":2,"portalTemplates":[{"bytes":10077,"seo_desc":true,"seo_jsonld":true,"seo_marker":1,"sha256":"24fed3a1f355ec22b180c4e0d1cb9ff1b6f7c193aa3d710d3f753196d696625d","template_id":1218,"title":"pvepro_portal","trust_marker":1,"twitter_card":true},{"bytes":3605,"seo_desc":false,"seo_jsonld":false,"seo_marker":0,"sha256":"82052b9578b80b2350afda7cc567736a1e1d5d34bc7a6ec55d7fc9b91bfd1e50","template_id":1219,"title":"pvepro_portal.less","trust_marker":1,"twitter_card":false}],"postCount":44,"robotsBytes":246,"robotsExists":true,"robotsSha256":"f58451051f45f07a21c8894d642a186a133049a9fd205561d1aed325c9f1d272","seoOptions":{"sitemapAutoRebuild":{"data_type":"boolean","edit_format":"onoff","id":"sitemapAutoRebuild","present":true,"runtime":true,"stored_raw_bytes":1,"stored_raw_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},"sitemapAutoSubmit":{"data_type":"array","edit_format":"onofftextbox","id":"sitemapAutoSubmit","present":true,"runtime":{"enabled":false,"urls":""},"stored_raw_bytes":27,"stored_raw_sha256":"3c9a4e2a29053b692c69b9dcf4747612172108f512451c1f4a9b8ea262984224"},"sitemapExclude":{"data_type":"array","edit_format":"callback","id":"sitemapExclude","present":true,"runtime":[],"stored_raw_bytes":2,"stored_raw_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"},"sitemapExtraUrls":{"data_type":"string","edit_format":"textbox","id":"sitemapExtraUrls","present":true,"runtime":"https://pvepro.ru/","stored_raw_bytes":18,"stored_raw_sha256":"89736d0e2ed4b498f3c0ade3a692402515ee7b69ae2e3e18c90ecbe606bb363d"},"useFriendlyUrls":{"data_type":"boolean","edit_format":"onoff","id":"useFriendlyUrls","present":true,"runtime":true,"stored_raw_bytes":1,"stored_raw_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}},"templatesXmlBytes":13999,"templatesXmlExists":true,"templatesXmlSeoMarkers":1,"templatesXmlSha256":"32301f0de13968030caac1c3137f6883739a09392d272f1efaced50343151c7b","templatesXmlTrustMarkers":2,"threadCount":44}
-20:STAGING_TECHNICAL_SEO_RENDER={"good_samples":0,"required":3,"samples":[{"ok":false,"sample":1,"ua":[{"contact":{"bytes":28540,"canonical":[],"content_type":"text/html; charset=utf-8","description":[],"effective":"http://pvepro.ru/misc/contact","http":200,"icons":["/styles/pvepro/brand/brand753r4/pvepro-pwa-192.48c7da4b73b9.png","http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-favicon-32.e9a01ca2fe88.png"],"jsonld_web_site":false,"og":{"og:image":"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-og-1200x630.08513c189ee6.png","og:site_name":"PVEPro","og:title":"\u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0432\u044f\u0437\u044c","og:type":"website","og:url":"http://pvepro.ru/misc/contact"},"ok":true,"robots":[],"title":"\u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0432\u044f\u0437\u044c | PVEProStyle variation","twitter":{},"utf8":true},"forums":{"bytes":73505,"canonical":["https://pvepro.ru/forums/"],"content_type":"text/html; charset=utf-8","description":["\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0438\u0437\u043d\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u043b\u0430\u0434\u0435\u0435\u0442\u0435 \u0432\u044b."],"effective":"http://pvepro.ru/forums/","http":200,"icons":["/styles/pvepro/brand/brand753r4/pvepro-pwa-192.48c7da4b73b9.png","http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-favicon-32.e9a01ca2fe88.png"],"jsonld_web_site":false,"og":{"og:description":"\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0431\u0438\u0437\u043d\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u043b\u0430\u0434\u0435\u0435\u0442\u0435 \u0432\u044b.","og:image":"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-og-1200x630.08513c189ee6.png","og:site_name":"PVEPro","og:title":"\u0421\u043f\u0438\u0441\u043e\u043a \u0444\u043e\u0440\u0443\u043c\u043e\u0432","og:type":"website","og:url":"http://pvepro.ru/forums/"},"ok":true,"robots":[],"title":"\u0421\u043f\u0438\u0441\u043e\u043a \u0444\u043e\u0440\u0443\u043c\u043e\u0432 | PVEProStyle variation","twitter":{},"utf8":true},"privacy":{"bytes":35941,"canonical":["https://pvepro.ru/help/privacy-policy/"],"content_type":"text/html; charset=utf-8","description":["\u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430."],"effective":"http://pvepro.ru/help/privacy-policy/","http":200,"icons":["/styles/pvepro/brand/brand753r4/pvepro-pwa-192.48c7da4b73b9.png","http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-favicon-32.e9a01ca2fe88.png"],"jsonld_web_site":false,"og":{"og:description":"\u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0430\u0439\u0442\u0430.","og:image":"http://pvepro.ru/styles/pvepro/brand/brand753r4/pvepro-og-1200x630.08513c189ee6.png","og:site_name":"PVEPro","og:title":"\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438","og:type":"website","og:url":"http://pvepro.ru/help/privacy-policy/"},"ok":true,"robots":[],"title":"\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 | PVEProStyle variation","twitter":{},"utf8":true},"robots":{"bytes":246,"content_type":"text/plain","effective":"http://pvepro.ru/robots.txt","http":200,"ok":true,"sha256":
-21:TECHNICAL_SEO_STAGING_ERROR_CLASS=RuntimeError
-22:TECHNICAL_SEO_STAGING_ERROR_SHA256=4f980810cfb900f8ca18c40eb15ddff079f733c10ff91226ecb4c9576735ada2
-23:ROLLBACK_PRE_SHUTDOWN_GUEST_SYNC={"ok":true}
-24:ROLLBACK_PRE_SHUTDOWN_QM_SHUTDOWN={"rc":0}
-25:ROLLBACK_QM_ROLLBACK_RC=0
-26:ROLLBACK_APP_STATE={"boardActive":"0","dataSitemaps":{"exists":false},"defaultLanguageId":"2","defaultStyleId":"2","errors":16,"faviconBytes":165,"faviconExists":true,"faviconSha256":"cb2080acb1bce40de99ef4963d153d20c9b6666b8442f936f66e3f1c8539af8b","forumCount":12,"indexRoute":"portal/","internalSitemaps":{"exists":false},"members":{"addon_id":"XF","enabled":0,"navigation_id":"members","parent_navigation_id":""},"node1":{"display_in_list":0,"node_id":1,"node_type_id":"Category","parent_node_id":0,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},"node2":{"display_in_list":0,"node_id":2,"node_type_id":"Forum","parent_node_id":1,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"},"nodeCount":18,"portalAddonRows":1,"portalRouteRows":1,"portalTemplateRows":2,"portalTemplates":[{"bytes":8037,"seo_desc":false,"seo_jsonld":false,"seo_marker":0,"sha256":"86db12351c8b3d4fe9338abe00dd8ceb9a32e9af80e5833d04933401b9f7a566","template_id":1218,"title":"pvepro_portal","trust_marker":1,"twitter_card":false},{"bytes":3605,"seo_desc":false,"seo_jsonld":false,"seo_marker":0,"sha256":"82052b9578b80b2350afda7cc567736a1e1d5d34bc7a6ec55d7fc9b91bfd1e50","template_id":1219,"title":"pvepro_portal.less","trust_marker":1,"twitter_card":false}],"postCount":44,"robotsBytes":0,"robotsExists":false,"robotsSha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","seoOptions":{"sitemapAutoRebuild":{"data_type":"boolean","edit_format":"onoff","id":"sitemapAutoRebuild","present":true,"runtime":true,"stored_raw_bytes":1,"stored_raw_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},"sitemapAutoSubmit":{"data_type":"array","edit_format":"onofftextbox","id":"sitemapAutoSubmit","present":true,"runtime":{"enabled":"0","urls":""},"stored_raw_bytes":25,"stored_raw_sha256":"89e6bef9d34cb52c4b09c59c1981c95975c5c15cf4c72e1df8906f65029b3e47"},"sitemapExclude":{"data_type":"array","edit_format":"callback","id":"sitemapExclude","present":true,"runtime":[],"stored_raw_bytes":2,"stored_raw_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"},"sitemapExtraUrls":{"data_type":"string","edit_format":"textbox","id":"sitemapExtraUrls","present":true,"runtime":"","stored_raw_bytes":0,"stored_raw_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"useFriendlyUrls":{"data_type":"boolean","edit_format":"onoff","id":"useFriendlyUrls","present":true,"runtime":false,"stored_raw_bytes":1,"stored_raw_sha256":"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9"}},"templatesXmlBytes":11959,"templatesXmlExists":true,"templatesXmlSeoMarkers":0,"templatesXmlSha256":"2363cb9d758e65f63a9452fdbdeb925343411919864eb7bf06f51765325ba7b3","templatesXmlTrustMarkers":2,"threadCount":44}
-27:ROLLBACK_FINAL_SHUTDOWN_GUEST_SYNC={"ok":true}
-28:ROLLBACK_FINAL_SHUTDOWN_QM_SHUTDOWN={"rc":0}
-29:PRODUCTION_APP_AFTER_FAILURE={"boardActive":"1","dataSitemaps":{"exists":false},"defaultLanguageId":"2","defaultStyleId":"2","errors":20,"faviconBytes":165,"faviconExists":true,"faviconSha256":"cb2080acb1bce40de99ef4963d153d20c9b6666b8442f936f66e3f1c8539af8b","forumCount":12,"indexRoute":"portal/","internalSitemaps":{"exists":false},"members":{"addon_id":"XF","enabled":0,"navigation_id":"members","parent_navigation_id":""},"node1":{"display_in_list":0,"node_id":1,"node_type_id":"Category","parent_node_id":0,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},"node2":{"display_in_list":0,"node_id":2,"node_type_id":"Forum","parent_node_id":1,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"},"nodeCount":18,"portalAddonRows":1,"portalRouteRows":1,"portalTemplateRows":2,"portalTemplates":[{"bytes":8037,"seo_desc":false,"seo_jsonld":false,"seo_marker":0,"sha256":"86db12351c8b3d4fe9338abe00dd8ceb9a32e9af80e5833d04933401b9f7a566","template_id":1218,"title":"pvepro_portal","trust_marker":1,"twitter_card":false},{"bytes":3605,"seo_desc":false,"seo_jsonld":false,"seo_marker":0,"sha256":"82052b9578b80b2350afda7cc567736a1e1d5d34bc7a6ec55d7fc9b91bfd1e50","template_id":1219,"title":"pvepro_portal.less","trust_marker":1,"twitter_card":false}],"postCount":44,"robotsBytes":0,"robotsExists":false,"robotsSha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","seoOptions":{"sitemapAutoRebuild":{"data_type":"boolean","edit_format":"onoff","id":"sitemapAutoRebuild","present":true,"runtime":true,"stored_raw_bytes":1,"stored_raw_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"},"sitemapAutoSubmit":{"data_type":"array","edit_format":"onofftextbox","id":"sitemapAutoSubmit","present":true,"runtime":{"enabled":"0","urls":""},"stored_raw_bytes":25,"stored_raw_sha256":"89e6bef9d34cb52c4b09c59c1981c95975c5c15cf4c72e1df8906f65029b3e47"},"sitemapExclude":{"data_type":"array","edit_format":"callback","id":"sitemapExclude","present":true,"runtime":[],"stored_raw_bytes":2,"stored_raw_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"},"sitemapExtraUrls":{"data_type":"string","edit_format":"textbox","id":"sitemapExtraUrls","present":true,"runtime":"","stored_raw_bytes":0,"stored_raw_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"useFriendlyUrls":{"data_type":"boolean","edit_format":"onoff","id":"useFriendlyUrls","present":true,"runtime":false,"stored_raw_bytes":1,"stored_raw_sha256":"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9"}},"templatesXmlBytes":11959,"templatesXmlExists":true,"templatesXmlSeoMarkers":0,"templatesXmlSha256":"2363cb9d758e65f63a9452fdbdeb925343411919864eb7bf06f51765325ba7b3","templatesXmlTrustMarkers":2,"threadCount":44}
-30:TASK_RESULT=PVEPRO_TECHNICAL_SEO_STAGING_IMPLEMENTATION_FAILED
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-TECHNICAL-SEO-STAGING-IMPLEMENTATION-RETRY-825R1-20260920T232026Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260919-BACKUP-HEALTH-PRESENTATION-AUDIT-READONLY-624R2-20260919T135217Z.log|SHA256=9bf6728874a654dd6db7bdca54120aa78bcbc968f05062e7aa423b77366dc278|BYTES=6643
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260919-BACKUP-HEALTH-PRESENTATION-AUDIT-READONLY-624R2-20260919T135217Z.log
-21:PVE01_BACKUP_TXT_REF_11=/usr/local/sbin/homelab-overall-health
-22:PVE01_BACKUP_TXT_REF_12=/usr/local/sbin/homelab-vm-full-backup
-23:PVE01_BACKUP_TXT_REF_13=/usr/local/sbin/homelab-backup-edge-vm-vzdump
-24:PVE01_BACKUP_TXT_REF_14=/usr/local/sbin/homelab-cluster-passport
-25:PVE01_BACKUP_TXT_REF_15=/srv/homelab-ops/observed/source-snapshots/overall.txt
-26:PVE01_BACKUP_TXT_REF_16=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/task.json
-27:PVE01_BACKUP_TXT_REF_17=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/assets/homelab-vm160-remote-backup
-28:PVE01_BACKUP_TXT_REF_18=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/verify.sh
-29:PVE01_BACKUP_TXT_REF_19=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/apply.sh
-30:PVE01_BACKUP_TXT_REF_20=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/seal.sh
-31:PVE01_BACKUP_TXT_REF_21=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/prepare.sh
-32:PVE01_BACKUP_TXT_REF_22=/srv/homelab-ops/tasks/cluster-cloud-quorum-vm160-canary-v1/phases/rollback.sh
-33:PVE03_EDGE_QGA_TRANSPORT_RC=0
-34:EDGE_QGA_EXITED=1
-35:EDGE_QGA_EXITCODE=0
-36:EDGE_IDENTITY=OK
-37:EDGE_HEALTH_SOURCE_PRESENT=true
-38:EDGE_HEALTH_SOURCE_SHA256=69bd5816d27d14529aef5cafc3f9caf69bb4e6ac6cd04a444272680c8fadb560
-39:EDGE_BACKUP_HEALTH_SOURCE_HIT_COUNT=1
-40:EDGE_SOURCE_HIT_00=146: "/backup-health": _hp_backup,
-41:EDGE_HEALTH_SERVICE_ACTIVE=active
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260919-BACKUP-HEALTH-PRESENTATION-AUDIT-READONLY-624R2-20260919T135217Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z-20260805T142020Z.log|SHA256=81f3a7b84d9eec86671f34f89bc59d99a95dd08ec9d6911e6ea399964e0e9718|BYTES=34294
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z-20260805T142020Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z","command_rc":0,"control_plane_error":null,"index_changed_diff_lines":110,"index_current_sha256":"686e55e3934e22180a3889a0ee9ba8cdcbb92b5d9d1bc5418080f701a5796172","index_drift":true,"index_expected_sha256":"c4fc9eec9c1e9884c5b054b2193db518f5a5d15c026c5e01fe11c6be8d52fc89","index_path":"/var/www/homelab-cluster-admin/index.html","managed_marker_present":false,"mutation_outcome":"NO_MUTATION","rc":0,"ready_for_corrected_transaction":true,"reference_current_sha256":"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f","reference_drift":false,"reference_expected_sha256":"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f","remote_probe_root":true,"report_bytes":33176,"report_sha256":"04df393f3f5a7703399153a129a8458a3c9980f45c4cb00b1f9bd8b62182c15c","rollback_restored":false,"rollback_started":false,"status":"OK","v19_exact_result_identity_confirmed":true,"v21_exact_result_identity_confirmed":true,"v21_exact_sha_drift_confirmed":true,"version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z","current_files":{"index":{"backend_marker_begin":false,"backend_marker_end":false,"bytes":10353,"ctime_ns":1785939615262660290,"expected_sha256":"c4fc9eec9c1e9884c5b054b2193db518f5a5d15c026c5e01fe11c6be8d52fc89","gid":0,"index_marker_begin":false,"index_marker_end":false,"inode":135903,"matches_v19":false,"mode":420,"mtime_ns":1785939615262660290,"path":"/var/www/homelab-cluster-admin/index.html","sha256":"686e55e3934e22180a3889a0ee9ba8cdcbb92b5d9d1bc5418080f701a5796172","uid":0},"reference":{"backend_marker_begin":false,"backend_marker_end":false,"bytes":3708,"ctime_ns":1783706500680296060,"expected_sha256":"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f","gid":0,"index_marker_begin":false,"index_marker_end":false,"inode":135901,"matches_v19":true,"mode":493,"mtime_ns":1783706500680296060,"path":"/opt/homelab-cluster-admin/render-webpanel.sh","sha256":"fbec0df3b65d3e9e00348441b018382a603db18469d07cde13a492c09cb0790f","uid":0}},"drift_analysis":{"index_changed_diff_lines":110,"index_drift":true,"managed_marker_present":false,"next_required_action":"build corrected atomic transaction using current index SHA","ready_for_corrected_transaction":true,"reference_changed_diff_lines":24,"reference_drift":false},"index_diff":{"lines":["--- V19/index.html","+++ CURRENT/index.html","@@ -16,65 +16,65 @@"," "," "," "," 

Homelab Cluster Admin

","-
generated UTC: 2026-08-05T13:20:48Z · VM180 · [PRIVATE_IP] · refresh 60s
","+
generated UTC: 2026-08-05T14:20:15Z · VM180 · · refresh 60s
","

REVIEW

"," ","
","-

Self

STATUS=WARN TS=2026-08-05T13:19:08Z TYPE=cluster-admin-self-check BAD=1 HOST=cluster-admin IP_OK=1 DNS_OK=1 FAILED_UNITS=1 QGA=active","+

Self

STATUS=WARN TS=2026-08-05T14:15:25Z TYPE=cluster-admin-self-check BAD=1 HOST=cluster-admin IP_OK=1 DNS_OK=1 FAILED_UNITS=1 QGA=active"," FAILED_UNITS=1"," QGA=active
","-

Observer

STATUS=WARN TS=2026-08-05T13:19:08Z TYPE=cluster-admin-observer BAD=2 WARN=0 HOST=cluster-admin SELF_FAILED_UNITS=1 QGA=active PVE01=checked PVE02=checked PVE03=checked EDGE=checked DNS_PAIR=checked OVERALL_ENDPOINT=checked REPORT=/var/lib/homelab-cluster-admin/latest.md
","-

Full observer

STATUS=WARN TS=2026-08-05T13:19:08Z TYPE=cluster-admin-full-observer BAD=3 WARN=0 INFO_OFF=7 PROBE_OK=2 PROBE_BAD=2 MAP_TOTAL=30 CRITICAL_FAILS=0 OPTIONAL_INFO_OFF=7 SELF_FAILED_UNITS=1 QGA=active REPORT=/var/lib/homelab-cluster-admin/full-observer-latest.md
","+

Observer

STATUS=WARN TS=2026-08-05T14:15:25Z TYPE=cluster-admin-observer BAD=2 WARN=0 HOST=cluster-admin SELF_FAILED_UNITS=1 QGA=active PVE01=checked PVE02=checked PVE03=checked EDGE=checked DNS_PAIR=checked OVERALL_ENDPOINT=checked REPORT=/var/lib/homelab-cluster-admin/latest.md
","+

Full observer

STATUS=WARN TS=2026-08-05T14:15:25Z TYPE=cluster-admin-full-observer BAD=3 WARN=0 INFO_OFF=7 PROBE_OK=2 PROBE_BAD=2 MAP_TOTAL=30 CRITICAL_FAILS=0 OPTIONAL_INFO_OFF=7 SELF_FAILED_UNITS=1 QGA=active REPORT=/var/lib/homelab-cluster-admin/full-observer-latest.md
","

Mail Cloud backup

STATUS=OK TS=2026-07-09T05:07:47Z TYPE=cluster-admin-vm-mail-cloud-backup BAD=0 VMID=180 NODE=pve02 MODE=MAIL_CLOUD_2COPY_VERIFY_OK LOCAL_STATUS=OK REPORT=/var/lib/homelab-cluster-admin-vm-mail-cloud-backup/latest.md
","
"," ","-
","+
","

Final readiness

STATUS=WARN TS=2026-08-05T05:21:50Z TYPE=final-readiness BAD=6 PASS=47 FAIL=6 REPORT=/var/lib/homelab-final-readiness
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V22-INDEX-DRIFT-READ-ONLY-20260805T142000Z-20260805T142020Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z-20260806T004832Z.log|SHA256=82d4c214d757c8bd440e147d78fd526866cf538ecad144f47917463d2f20401d|BYTES=2787
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z-20260806T004832Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z","command_rc":1,"control_plane_error":null,"mutation_outcome":"ROLLED_BACK","rc":1,"report_bytes":2378,"report_sha256":"0a6c5d44e399a67835ada32d323748a444f10ceaf9e4b4d1ebed2ab9f035a983","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z","error":"RuntimeError: HTML route auth guard {'path': '/cluster-admin-updates.html', 'rc': 0, 'http_status': 500, 'location': None, 'body_sha256': 'e41656eb2ba6c6293bf6dd928e5a88cdbc50535cab661c1969e0f598e497ed62', 'body_bytes': 21, 'stderr': ''}","error_type":"RuntimeError","mutation_outcome":"ROLLED_BACK","remote":{"backup":"/var/backups/homelab-cluster-admin/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z/incident-engine-app.py","candidate_sha256":"26787f335382f6d6beff9a31a185e4998f50f91eed9b8b94831619c5a87a9647","changed":false,"error":"RuntimeError: HTML route auth guard {'path': '/cluster-admin-updates.html', 'rc': 0, 'http_status': 500, 'location': None, 'body_sha256': 'e41656eb2ba6c6293bf6dd928e5a88cdbc50535cab661c1969e0f598e497ed62', 'body_bytes': 21, 'stderr': ''}","original_sha256":"17d95ebfc28cef34846a8999664019d5d032ee8176b7fedd9ceeebfc5c97e3b6","rollback_errors":[],"service_after_rollback":{"ActiveState":"active","ExecMainStatus":"0","ExecStart":"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[Thu 2026-08-06 00:48:34 UTC] ; stop_time=[n/a] ; pid=2130676 ; code=(null) ; status=0/0 }","FragmentPath":"/etc/systemd/system/cluster-admin-incident-engine.service","LoadState":"loaded","MainPID":"2130676","Result":"success","SubState":"running","UnitFileState":"enabled","WorkingDirectory":"/opt/cluster-admin-incident-engine"},"service_before":{"ActiveState":"active","ExecMainStatus":"0","ExecStart":"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[Thu 2026-08-06 00:19:50 UTC] ; stop_time=[n/a] ; pid=2125508 ; code=(null) ; status=0/0 }","FragmentPath":"/etc/systemd/system/cluster-admin-incident-engine.service","LoadState":"loaded","MainPID":"2125508","Result":"success","SubState":"running","UnitFileState":"enabled","WorkingDirectory":"/opt/cluster-admin-incident-engine"},"status":"FAILED_ROLLED_BACK"},"rollback_errors":[],"rollback_restored":true,"rollback_started":true,"schema":45,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V45-MISSING-V42-CONSTANT-FIXED-PATCH-20260806T004600Z-20260806T004832Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z-20260805T160843Z.log|SHA256=caca3b75c72ca2b4dc356c6382d177f9253fa339c37ee249015ed80d9cdd8d04|BYTES=524
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z-20260805T160843Z.log
-1:{"backup_created": false, "changes_made": false, "command_id": "HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z", "command_rc": 1, "complaints_guardrail": {"immutable": true, "mutation_allowed": false, "service_content_read": false, "source_content_read": false, "storage_read": false}, "error": "unsafe file type: .", "error_type": "RuntimeError", "mutation_outcome": "NO_MUTATION", "output_truncated_in_json": false, "rc": 1, "rollback_restored": null, "rollback_started": false, "status": "FAIL", "version": 1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-MODERATOR-CORE-INSTALL-20260805T160500Z-20260805T160843Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3-20260909T190000Z.log|SHA256=ed2f4e1c478f36f0e0cbc08d8e48a7c1f029b070b8977111a0635c161fde0205|BYTES=10078
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3-20260909T190000Z.log
-6:GRAM_FOOTER_FINAL_TOPOLOGY={"160":{"name":"forum-prod","node":"pve02","status":"running"},"210":{"name":"newfi-prod","node":"pve01","status":"running"},"211":{"name":"newfi-staging","node":"pve03","status":"running"}}
-7:GRAM_FOOTER_FINAL_VM211={"host":"newfi-staging","results":[{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"newfi-staging","root":"/var/www/forums/newfi/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"0","board_url":"http://newfi-staging.gram1.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":46,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_find_sha256":"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2","mod_replace_sha256":"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a","mod_template":"PAGE_CONTAINER","mod_type":"public","services":{"mariadb":true,"nginx":true,"php8.3-fpm":true},"status":"OK"},"status":"OK"}],"status":"OK"}
-8:GRAM_FOOTER_FINAL_VM160={"host":"forum-prod","results":[{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"codevipe","root":"/var/www/forums/codevipe/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"1","board_url":"https://codevipe.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":0,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_find_sha256":"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2","mod_replace_sha256":"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a","mod_template":"PAGE_CONTAINER","mod_type":"public","services":{"mariadb":true,"nginx":true,"php8.3-fpm":true},"status":"OK"},"status":"OK"},{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"dsmods","root":"/var/www/forums/dsmods/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"1","board_url":"https://dsmods.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":0,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_find_sha256":"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2","mod_replace_sha256":"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a","mod_template":"PAGE_CONTAINER","mod_type":"public","services":{"mariadb":true,"nginx":true,"php8.3-fpm":true},"status":"OK"},"status":"OK"},{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"gamevipe","root":"/var/www/forums/gamevipe/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"1","board_url":"https://gamevipe.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":0,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_find_sha256":"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2","mod_replace_sha256":"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a","mod_template":"PAGE_CONTAINER","mod_type":"public","services":{"mariadb":true,"nginx":true,"php8.3-fpm":true},"status":"OK"},"status":"OK"},{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"hkmods","root":"/var/www/forums/hkmods/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"1","board_url":"https://hkmods.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":12,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_find_sha256":"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2","mod_replace_sha256":"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a","mod_template":"PAGE_CONTAINER","mod_type":"public","services":{"mariadb":true,"nginx":true,"php8.3-fpm":true},"status":"OK"},"status":"OK"},{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"kingofwolk","root":"/var/www/forums/kingofwolk/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"1","board_url":"https://kingofwolk.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":0,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_fin
-9:GRAM_FOOTER_FINAL_VM210={"host":"newfi-prod","results":[{"manifest":{"bad":[],"checked":59,"extra":[],"missing":[]},"name":"newfi-prod","root":"/var/www/forums/newfi/public","state":{"addon":{"active":1,"is_processing":0,"last_pending_action":null,"version_id":1000080,"version_string":"1.0.0 Alpha 3 Unified Fix 6"},"board_active":"0","board_url":"https://newfi.ru","css_sha256":"b3c4b389b4242a3c9bccbbf11247ac06ea2bba20bc9a0cbc7da1cf764ad45279","error_max":0,"launcher_sha256":"19dd8429e2ad0dfce31d69b33b310d349a408558c1ce05dda6ee64b4b834ef20","mod_action":"str_replace","mod_enabled":1,"mod_find_sha256":"a2e9bd7016c37eb74e26209f06ce3dfceebb2ebbdb9fd5946b3b32cdd7cf1ff2","mod_replace_sha256":"7e47f43986cd42b389b31d7bb53b7b15aa1b61835433a39af0d0f1dca594e33a","mod_template":"PAGE_CONTAINER","mod_type":"public","services":{"mariadb":true,"nginx":true,"php8.3-fpm":true},"status":"OK"},"status":"OK"}],"status":"OK"}
-10:GRAM_FOOTER_FINAL_KOW_CSP_SHA256=f42d4ebe01d1c0a288c968f0c90f9dc0375e64ebd81d2380de50e0260c3c4463
-11:GRAM_FOOTER_FINAL_HOLD=RuntimeError:PUBLIC_RENDER:https://newfi.ru/forums/
-12:HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260909-GRAM-XF-FLEET-FOOTER-UI-ALIGN-FINAL-093R3-20260909T190000Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1-20260916T183901Z.log|SHA256=9693984a6cf5b31d4e33223e2b0380b9e3e6e68251ec1a90e398372107524127|BYTES=2145
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1-20260916T183901Z.log
-5:SYSTEMD_UNIT_FILE_MUTATIONS=0
-6:NO_DAEMON_RELOAD=YES
-7:CLOUD_DELETIONS=0
-8:PREFLIGHT_EXACT_BASELINE=PASS
-9:CANDIDATE_BUILD=PASS
-10:COMMON_HEAVY_LOCK_ACQUIRED=YES
-11:LEGACY_SERVICES_QUIESCENT_AFTER_COMMON_LOCK=PASS
-12:LEGACY_SERVICE_FAILED_HISTORY_COUNT=2
-13:CT112_RESULT_CONTRACT=PASS
-14:LEGACY_LANE_RESULT=node-pve01:PASS
-15:LEGACY_LANE_RESULT=md-relay:PASS
-16:LEGACY_LANE_RESULT=spb-ingress:PASS
-17:LEGACY_LANE_RESULT=us-netbird:PASS
-18:LEGACY_LANE_RESULT=router-netcraze:PASS
-19:LEGACY_LANE_RESULT=xf-codevipe:PASS
-30:PRODUCTION_LAUNCHER_SELFTEST=PASS
-31:CUTOVER_V2_ENABLE_START=YES
-32:CUTOVER_V2_ENABLED_ACTIVE=YES
-33:CUTOVER_LEGACY_DISABLE=YES
-34:CUTOVER_LEGACY_DISABLED_INACTIVE=YES
-35:COMMON_HEAVY_LOCK_RELEASED=YES
-36:POST_CUTOVER_HEALTH_1=PASS
-37:PRODUCTION_ACCEPTANCE_SEAL_SHA256=f508adc9b09bad9692c580e642018f5d3dbf223fc572ee62478466fd517234fa
-38:POST_CUTOVER_HEALTH_2=PASS
-39:FINAL_SCHEDULER_STATE=V2_ENABLED_ACTIVE_LEGACY_DISABLED_INACTIVE
-40:FINAL_EFFECTIVE_TARGET_COUNT=29
-41:FINAL_BASE_REGISTRY_FILE_COUNT=28
-42:LEGACY_BACKUP_DISABLES=3
-43:PRODUCTION_ACCEPTANCE=YES
-44:SCHEDULER_CUTOVER=YES
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1-20260916T183901Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-491R1-20260916T220245Z.log|SHA256=015fb35cf81786abd7fa4140f828d5ed25f10d1311571070eecb55a4157c821c|BYTES=1158
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-491R1-20260916T220245Z.log
-7:RETENTION_MUTATION=NO
-8:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-9:PREPROOF_DUE_TARGET=ct110
-10:PREFLIGHT_486_BASELINE=PASS
-11:V2_TIMER_RUNTIME_STOP=PASS
-12:COMMON_HEAVY_LOCK_ACQUIRED=YES
-13:ROLLBACK_TO_486=STARTED
-14:ROLLBACK_TO_486=PASS
-15:COMMON_HEAVY_LOCK_RELEASED=YES
-16:STATUS=FAIL
-17:PHASE=CANDIDATE_BUILD
-18:REASON=FAILED_CLOSED
-19:EXCEPTION_CLASS=builtins.RuntimeError
-20:EXCEPTION_MESSAGE_SHA256=3619f4768300b605c96a76aeaff04f9c2fcbaf8597417eb74c5234d9e654c4d9
-21:PRODUCTION_PROMOTION=NO
-22:RETENTION_MUTATION=NO
-23:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-24:CLOUD_DELETIONS=0
-25:CHANGES_MADE=true
-26:ROLLBACK_STARTED=true
-27:ROLLBACK_RESTORED=true
-28:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-491R1-20260916T220245Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-QGA-RCA-050R5-20260917T140951Z.log|SHA256=0fcb55a1ea30487b5116bfe28efe391e1d0e0af71a105cd8456b15ae39d9fc74|BYTES=11518
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-QGA-RCA-050R5-20260917T140951Z.log
-31:SIGNALBOT050R5_AUDIT_QGA_ERR_BYTES=0
-32:SIGNALBOT050R5_AUDIT_QGA_ERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-33:SIGNALBOT050R5_AUDIT_QGA_OUT_B64=U0lHTkFMQk9UMDUwUjVfQVVESVQ9eyJhY3RpdmVfaW1hZ2UiOiI4MDIwLWRlbW9ub3Ytc2hhZG93Ojc2ZTFmNThiYWE1NDRhMGUyMDhiYmEzMTdmMDE1MGU1YjZkNzRkYmQiLCJjYW5kaWRhdGVfYWJzZW50Ijp0cnVlLCJjb21wb3NlX3NoYTI1NiI6IjY0NjE1MzJiMGEwNGRlY2M2MGZlMWQxODg1OTkwMDIwZTg4NmQ0MGRlNDBjMDUyM2UzNGUyODQ5NjAwYWYwNjEiLCJjb250YWluZXJfZmluZ2VycHJpbnRfc2hhMjU2IjoiNzNkZDg5ZmY0NDFhYjUzMGU0NGQzZWE5NjRlYzVjMWY5NDY4Y2Y1MTJkYzMxYTM0YzE5MTFiMWZiYzhlM2ViOSIsImVudl9zaGEyNTYiOiJmM2NiNmI3ZWFhODI5ZTUwM2NkNTA4NmY4YWZiNmEyZmRiNWRhMjZmOTkyNjdmNjQwN2U5M2Y5MDU2OTk3MjAyIiwic3RhZ2VfYWJzZW50Ijp0cnVlLCJzdGF0dXMiOiJQQVNTIn0K
-34:SIGNALBOT050R5_AUDIT_QGA_ERR_B64=
-35:SIGNALBOT050R5_GUEST_AUDIT={"active_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","candidate_absent":true,"compose_sha256":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061","container_fingerprint_sha256":"73dd89ff441ab530e44d3ea964ec5c1f9468cf512dc31a34c1911b1fbc8e3eb9","env_sha256":"f3cb6b7eaa829e503cd5086f8afb6a2fdb5da26f99267f6407e93f9056997202","stage_absent":true,"status":"PASS"}
-36:Traceback (most recent call last):
-37:  File "", line 1, in 
-38:    import base64,zlib;exec(compile(zlib.decompress(base64.b64decode("eNq1GVtzosj63V/B7nlo2UVFFNRs8WAMyXDGqAfJZObMpqgGmoSNAQYwl5rKfz9fdyNClJmc20yVEfq73782fEjiNBdcnBFtKN3h7G4TutJfWRxJcSYlOGfP2dZN0tgjWSZlL1lrZp7paG1eLKbz06XdUTR50h91LGO2XCyMmc2/zcy5ObXN5aLzwZjO7Q+dtT29MDr/uJh2rNm0I6uypaLWta0XTLor+NtGvTSO8153E3t408vucEp6WXgb4Y0b5x2fPFaeCr4p8eIoIl7Ov3nhJsR5GEdIbBmfVyCPceaACCDyQJXdvusPtPEE91VvrLjjoTukH/2RMhoo/gSPsex5aI94ak0Xsw86ej/XPe5sOZ/Dt6WlI00eyWowVkaYDLw+UfHAVeSAYOL6vjbSvEDW+mQyDkYamWBX7WN1NHTdQMHKRCaD4QDVVAFr6sgLBkR1J954IA98RVWVIZYHbjCQ1cEw6CujEdYGsjYmY1fu44GiDka+62oukfFgqMhEQS1r6IBLdDSWFRlM+xBH8WMHTO7HTyd7fcFR6bDj4qGi+i4Z4VGfYTJv6qgXJ3kvy7F3n/WO0Ol1fZJs4pfefxgtNEqGFeWNxSdn/WGqo2DggTIjgvFYmRBVHni+Ko+1YIwDV8NK4LuqjxUtmEwUbRRoQ3lEJoNgIqvaZDJSZKXmpsvVcm1wutpQ66sDxZWxPPSJ52ngpb7fH4/VyUQG/ch4rPlD2SdD2ZNVZQDOIcp4ONFkGVMnVuierzjJiSqTkTfSXNVT1UkwhChUwBmK3/fBmqqG/YGiqKN+4Hq+5oH8fW2kuN54NJQHI9wnFZLTmW1+Mhzzktn+mN8ggPqBOnYxVocQEESRx66LB/1RIPdBDtXV/NHQd33UavkkEADLcV9ykrVd8URISb5NI6GoAl04VFQNTrp35NkPb0mWt8USLQg3pJ3ssfakagmdiN2UYL84Ejk+eQjz9r30KJ60BPgXBkKYhRGEUeSR9qPU9kMvlzZhlktuHG9EUYhT4RFghEUckRMh02mB6vrbhyQD8AwqmHNPXjLdTrdEykiCU5zHaaa3kQT/TxCwpXzIJmPYWZ62H/mrJA2jvB2g7/ev+vfsFUnBZpvdMUJc1HQbtbH022/3TxVVy3LY5cdZ7sfbXK+8X5krg74maXrw2rsj3r1+jkEaTpgxugWT/IbT22zPhxL/inrbLO25YdQDCNCm04niDmQd1Bq86UCdvM/oWw8+vDgl3SCDgAhBfT2gHGpn2yhPIVWJP8MgxB5ghiRqk2tblJgIN1ykb7fYSfFTO4u3qUcKZyV6RayMyvXtAWjcbiE84C95JpRdfyQzWbOXyLtLIUK3VMo+e5eHDwTMRZ/HHCrBWdYBa4VRCQQfpeLJS34XRwP63qQfp/QD3UhhlFCrM+mkgqquDOXC2zTI9m2KNRwH2o+zvLINy7FA6aTLLe3FPnkX0to+MyzLOf1iG2skbUjUTrrcy+K/gw91ATILjL7PmToZyIiqbL/oMgQFDjMiWOBD0NRI0zhto5o6HDVPX04EP/Z4jmxi7BfUwThQjSm5NtrmQWcMVgSvQ6qV+fHskSQXDPYH4kvAmUCaGf99vVw45uLTdG6eIVEI0vhBIDvxozivJjUIJNGsFpvJnS1njv1lZRR6FDkAiGXJcOChnaQkCJ8l+FoEJHU6PHVvCVgeHjo+zjHoBiLVC8txIBr5IisNAkLcDJCzJSw8/JxgDegIQRoUXO7fkWN8NqGWI2mP/RzmxAcn/HEEcrY8M97AUheiaryVCBAKjm1dLWZTxoEWz7rWOeSuhzm3Q3YQmY3YVMUaNre9q9OwIlE9rFJo+tgDIYGFqwNqM0SDFpUMi91DUSnIYRIdg3yTrqQB5JAYhWwSThuCedjI3HW1YaEbcC/zC2deGKIGaY5ikyPY1TwAM0tgSN6TyLdtmBKH1uf4nuUWPX7A6T1J9z31IMB4UkZCuy+xBteci4ulvYtT8YDcm0CizbkpTJo57ANNPCovD3LhF134QemjIoKsi38a1nJPh9thpyyNzyzZhPkmjOgE0kztcmp9hEp6aa7X5uIC6LWOVvNT48JcIG7B4xCrK4tOlBDmFuwdznIx/8J6QFH9Yf1xposzB6ZoC1aE0+nsozO9OjNtYAnixxm1AtmGfltsLPzlSGgtlwUe1ffa7oaZ44dpk57XS+ujbRlGRcs7GM90On1AUj5CK07ZTEA3JiS+6Rv0OQ2TNsS1m0IJvON4/Dvv93fxU8fbpimJ8h+hQwXNtxlH59/5IBBDK9/gMNIf+RhQTiwdOm9mOt5smske90apMlNJouru8rIRlK99kKZMs5+Cz+bGdEFnKKaUjrhDKKdf9NoOSnOF06wccGb0iBM47rlqtJSMV5YBi5JNe6YXbzawjsLcd233ULEWOEGcPuHUdx5wAqNUHkAOPDtgUp84JUI3eUF/UGk3+V0j8iZ8JA6H4fBQI3MGTb9kPfrplBzqO3EFryFhLGO/LddqMdsySknFJk9QAnxxPMTmzBtRCzToELYzPV0bCxtJNJWoQl2oRKAcXVvCytazl6fixVJ+5sg3zOthAPwoUI3Dz51+bs5rDoedwiW6+2vIr3Cyl+zPiK8zb1W8uKLKrazlqaGvput1bcv5MwJMKkbeluHh1xadHXeTP+MBliu6j15OYYcOAOJsTgHohv70U7Gg4uKtH+Z6ihAq1KpdSTXcR4FFZh/f3iP9+GKCjibG4pPOUHsI5pNHiGl+qVEjtLvqcObQDa3pHPDopQm/O9m93C3F1X34zRb9w6X4YMFma+X/Y+Hk5FmRd0BnKnBL8PXvry0Bsl2gPZI2zYTLl5PnvM0GlDC61YvhTay301Y57jPkgkh3U9RkqM04zbOnkDrlb3xaQDradWcKeyJAscjDaEuXh3vpUWcEGJM2gEp9sLn/9X5X5W/0x7Lgl1sCU4uSgd5BUi5X6Gf6mxUaQhFGA+gsCes3+BtrMpCpOXsb4Qei1wOlw4IH3RxpOkxAGu7xU6Z/veEW9EKf6kXvJIjfBhGYhfzqNtYkE+wVCZQVJAGNQ37iVxlYMGZdnCQk8tvfUeijE58PTSaMW0DjAd+S/Tv2JNJxm7kBaj6Ul/LY4m9n7KVIt0FMpXYwgLQLmDW0JMLd9v1VLN9RuOkOiXbvnyFQGJFbuOS/oA/i696NVDloZJD5GdG/JsygCTXn1yJPua06BUj35WGDpIYjXDk7Bl8DvOEbN8xOrGqLAo58FqLsXQZ4YXQPoUfbAF0jCmSo631w7/Gqy0Y6Hf1euav6XloLnU/NOduDMBzD8+4Wcja1zkwgY9pf0Ou7rraqxfwPoSzmitgCr+sVlrz00+db4mA3oyPaCVWSFbiyE0nIA+1D2Gf3UI0hywKsErpA6Uas31xICAqNw8sgOqFVEgov5cJtWDsp3kGoAwD2cjp0FCG9r1kUnQfQdLXil6F88UZlAQA3RrckZY4pGbypyBW/VAvHu2y+22frpfu19e5IANf8N86VxRa0yKJbss9usVGzmaHWsZAER2nZyESxBlrpYntAeLnXcVf26WCglJMBY8onA4WOBkrzbMDUpwsQmw8gLml91yPaW9rPLMefi0VNqbUWmpPPtf5x3K5gJXovzGY03sB2F8XHRiouzcGudzizKBLTjVLkqVQp4Qcd6mv/pmnA5GMOX/DAwhmTE/7yEC6yEyoJz09aN2lOVgH26SoeHB/kavMkyQVhu8rViq34dJhcWmwHr8pUydfq5Fr8+EJF2LOvJ3F9IC5/V3mD8oMkrRLgP6DUcGsloQpb/WWkwe8cwrpa2Oal4ZxZ5jl45ZzdnQ5347RDx6f2/+ryr7LvsnQpqSvvIq+8m36r8dq5uHKgawPbbNilXqkqtW0pGV9yjp+dHA/tM2Nmrs0lrL7ldYwMLK2rmX0FYeXQiH
-39:                       ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-40:  File "", line 90, in 
-41:RuntimeError: ACTIVE_RUNTIME_DRIFT_AFTER_R4
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260917-RECONNECT-RECONCILIATION-HEALTH-STAGE-QGA-RCA-050R5-20260917T140951Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1-20260921T174459Z.log|SHA256=1f4e84ffbde2f3aaf5b98baef93a1caa1b40693caf4bb5d669094c5d68cfbcf7|BYTES=1655
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1-20260921T174459Z.log
-7:GIT_CREDENTIAL_CAPABILITY={"host_present":true,"password_present":true,"protocol_present":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","username_present":true}
-8:GIT_LIVE_REMOTE_FIXED={"head":"9c4814db67759dc09a5469d254c41a7b73f4d89a","matches_local":true,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
-9:PVESM_STATUS_FALSE_POSITIVE=true
-10:PVESM_STATUS_BASELINE={"identical":true,"preflight399_rc":255,"reconcile410_rc":255,"stderr_sha256":"392a23116a78a702472c91f3d369a097fc3e924b89800aa3a8b26910c9f685ec"}
-11:RESTORE_STORAGE_FIXED_PROOF={"avail":774342520184,"pvesh_active":true,"pvesm_path_rc":0,"pvesm_path_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","pvesm_path_stdout_sha256":"928a78ed5937a1f1f59efc2985b4a2152483fb99c1a68d9c2d9ad9cd971ba73f","storage":"local-lvm","total":869168840704,"type":"lvmthin"}
-12:Traceback (most recent call last):
-13:  File "", line 1, in 
-14:    import base64,hashlib,sys,zlib;d=zlib.decompress(base64.b64decode(sys.argv[1]));assert hashlib.sha256(d).hexdigest()==sys.argv[2];exec(compile(d,"","exec"))
-15:                                                                                                                                      ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-16:  File "", line 155, in 
-17:  File "", line 24, in require
-18:RuntimeError: BACKUP_LOCK_PRESENT
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-PRESTATE-FIX411R1-20260921T174459Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1-20260920T201822Z.log|SHA256=d1656c50546c728452fb061c7b2afa811337f9e875e7285052aa16f93b58ee74|BYTES=2984
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1-20260920T201822Z.log
-4:MUTATION_BOUNDARY=STAGING_ONLY
-5:PRODUCTION_HOST_PRE={"all_link_down":false,"lock":null,"name":"pvepro-prod","operational_fp":"2aba9f764ff0efacd2da02f09826374f877e1b073775cb725ebcf9d9177e8c65","snapshots":[],"status":"running","vmstate":null}
-6:STAGING_HOST_PRE={"all_link_down":true,"lock":null,"name":"pvepro-staging-v1","operational_fp":"3ced80db133c962002b31854817a229aa7bca064fe63990884c12c1618db4bf6","snapshots":[],"status":"stopped","vmstate":null}
-7:PRODUCTION_APP_PRE={"boardActive":"1","defaultLanguageId":"2","defaultStyleId":"2","errors":20,"forumCount":12,"indexRoute":"portal/","members":{"addon_id":"XF","display_order":600,"enabled":1,"navigation_id":"members","navigation_type_id":"basic","parent_navigation_id":""},"node1":{"display_in_list":1,"display_order":1,"lft":1,"node_id":1,"node_type_id":"Category","parent_node_id":0,"rgt":4,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},"node1Children":1,"node2":{"display_in_list":1,"display_order":1,"lft":2,"node_id":2,"node_type_id":"Forum","parent_node_id":1,"rgt":3,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"},"node2Children":0,"node2Posts":0,"node2Threads":0,"nodeCount":18,"portalAddonRows":1,"portalRouteRows":1,"portalTemplateRows":2,"postCount":44,"threadCount":44}
-8:FRESH_STAGING_SNAPSHOT_CREATED=true
-9:NAVIGATION_STRUCTURE_STAGING_ERROR_CLASS=RuntimeError
-10:NAVIGATION_STRUCTURE_STAGING_ERROR_SHA256=495dfb97f24893e5e61b6a539b1dce525b76001c7485f07fabc5f65bc33193b3
-11:ROLLBACK_ERROR_CLASS=RuntimeError
-12:ROLLBACK_ERROR_SHA256=da52bf5e16c10dcd9a1eb5e197096d278bf01293bf286b843e243c9b3e93eaf5
-13:PRODUCTION_APP_AFTER_FAILURE={"boardActive":"1","defaultLanguageId":"2","defaultStyleId":"2","errors":20,"forumCount":12,"indexRoute":"portal/","members":{"addon_id":"XF","display_order":600,"enabled":1,"navigation_id":"members","navigation_type_id":"basic","parent_navigation_id":""},"node1":{"display_in_list":1,"display_order":1,"lft":1,"node_id":1,"node_type_id":"Category","parent_node_id":0,"rgt":4,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f"},"node1Children":1,"node2":{"display_in_list":1,"display_order":1,"lft":2,"node_id":2,"node_type_id":"Forum","parent_node_id":1,"rgt":3,"title":"\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u043e\u0440\u0443\u043c"},"node2Children":0,"node2Posts":0,"node2Threads":0,"nodeCount":18,"portalAddonRows":1,"portalRouteRows":1,"portalTemplateRows":2,"postCount":44,"threadCount":44}
-14:TASK_RESULT=PVEPRO_NAVIGATION_STRUCTURE_STAGING_CLEANUP_FAILED
-15:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1","rollback_restored":false,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-NAVIGATION-STRUCTURE-STAGING-CLEANUP-806R1-20260920T201822Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z-20260806T001948Z.log|SHA256=4e48bed08b9745291f28aa16054f3c5da12062ecd7e60175462ac5a26cae8292|BYTES=2367
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z-20260806T001948Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z","command_rc":1,"control_plane_error":null,"mutation_outcome":"ROLLED_BACK","rc":1,"report_bytes":1958,"report_sha256":"8a807a9aac198ab0d18f80ebe9f5e7684f1d5f908c198477340d9f2459e0b85f","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z","error":"RuntimeError: new routes absent from OpenAPI","error_type":"RuntimeError","mutation_outcome":"ROLLED_BACK","remote":{"backup":"/var/backups/homelab-cluster-admin/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z/incident-engine-app.py","candidate_sha256":"26787f335382f6d6beff9a31a185e4998f50f91eed9b8b94831619c5a87a9647","changed":false,"error":"RuntimeError: new routes absent from OpenAPI","original_sha256":"17d95ebfc28cef34846a8999664019d5d032ee8176b7fedd9ceeebfc5c97e3b6","rollback_errors":[],"service_after_rollback":{"ActiveState":"active","ExecMainStatus":"0","ExecStart":"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[Thu 2026-08-06 00:19:50 UTC] ; stop_time=[n/a] ; pid=2125508 ; code=(null) ; status=0/0 }","FragmentPath":"/etc/systemd/system/cluster-admin-incident-engine.service","LoadState":"loaded","MainPID":"2125508","Result":"success","SubState":"running","UnitFileState":"enabled","WorkingDirectory":"/opt/cluster-admin-incident-engine"},"service_before":{"ActiveState":"active","ExecMainStatus":"0","ExecStart":"{ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 -m uvicorn app:app --host [PRIVATE_IP] --port 8081 --proxy-headers --forwarded-allow-ips=[PRIVATE_IP],[PRIVATE_IP] ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }","FragmentPath":"/etc/systemd/system/cluster-admin-incident-engine.service","LoadState":"loaded","MainPID":"487","Result":"success","SubState":"running","UnitFileState":"enabled","WorkingDirectory":"/opt/cluster-admin-incident-engine"},"status":"FAILED_ROLLED_BACK"},"rollback_errors":[],"rollback_restored":true,"rollback_started":true,"schema":42,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V42-INCIDENT-ENGINE-CARD-FIXED-PATCH-20260806T001400Z-20260806T001948Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log|SHA256=c47bdfa91624238252fdc751e1a53a4637111bfc4d66794ca15b65d122a3b87d|BYTES=10695
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log
-3:MODE=change
-4:COMPONENT=homelab-backup-due-policy-fix-refresh
-5:MUTATION_BOUNDARY=CANONICAL_ACTIVE_VM_DUE_POLICY_86400_TO_72000_PLUS_TARGETED_BACKUPV2_REFRESH;NO_APP_BACKUP;NO_VPS_BACKUP;NO_XENFORO_BACKUP;NO_GC;NO_MAIL;NO_GIT_WRITE;NO_LOCK_BREAK
-6:IDENTITY_GATES=PASS
-7:TIMER_PRESTATE={"active":true,"enabled":true}
-8:OWNER_WAIT={"clear_stable":1,"elapsed_seconds":0,"heavy_lock_free":true,"state":{"active":"inactive","exec_main_status":0,"mainpid":0,"result":"success","sub":"dead"}}
-9:OWNER_WAIT={"clear_stable":2,"elapsed_seconds":10,"heavy_lock_free":true,"state":{"active":"inactive","exec_main_status":0,"mainpid":0,"result":"success","sub":"dead"}}
-10:HEAVY_LOCK_OWNED_BY_1108=true
-11:SELFTEST_REPLACEMENT486=PASS
-12:TARGETS_SHA256_BEFORE=a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38
-13:ACTIVE_VM_CANONICAL={"110":"ct110","111":"ct111","112":"ct112","113":"ct113","130":"vm130","150":"vm150","160":"vm160","170":"vm170","171":"vm171","190":"vm190","9130":"vm9130"}
-14:POLICY_PATCH=[{"after":72000,"before":86400,"logical_id":"ct110"},{"after":72000,"before":86400,"logical_id":"ct111"},{"after":72000,"before":86400,"logical_id":"ct112"},{"after":72000,"before":86400,"logical_id":"ct113"},{"after":72000,"before":86400,"logical_id":"vm130"},{"after":72000,"before":86400,"logical_id":"vm150"},{"after":72000,"before":86400,"logical_id":"vm160"},{"after":72000,"before":86400,"logical_id":"vm170"},{"after":72000,"before":86400,"logical_id":"vm171"},{"after":72000,"before":86400,"logical_id":"vm190"},{"after":72000,"before":86400,"logical_id":"vm9130"}]
-15:TARGETS_SHA256_AFTER=aa4a75455bbfe92afaf666e8d404b35c5b41e70bc014e770c9301865ee84e221
-16:EFFECTIVE_ACTIVE_VM_POLICY=[{"due_seconds":72000,"logical_id":"ct110","vmid":110},{"due_seconds":72000,"logical_id":"ct111","vmid":111},{"due_seconds":72000,"logical_id":"ct112","vmid":112},{"due_seconds":72000,"logical_id":"ct113","vmid":113},{"due_seconds":72000,"logical_id":"vm130","vmid":130},{"due_seconds":72000,"logical_id":"vm150","vmid":150},{"due_seconds":72000,"logical_id":"vm160","vmid":160},{"due_seconds":72000,"logical_id":"vm170","vmid":170},{"due_seconds":72000,"logical_id":"vm171","vmid":171},{"due_seconds":72000,"logical_id":"vm190","vmid":190},{"due_seconds":72000,"logical_id":"vm9130","vmid":9130}]
-17:OVERLAY_SELFTEST={"output_sha256":"52a58722c943e42fe5d8c633ff6c1301058a1b494d94162a8062ff32e3e86aa2","status":"PASS"}
-18:RPO_BEFORE_REFRESH=[{"age_seconds":86256,"generation":"v2-ct112-20260920T214958Z-30e3291e1543","logical_id":"ct112","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":112},{"age_seconds":84091,"generation":"v2-ct113-20260920T222532Z-4f4a608def82","logical_id":"ct113","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":113},{"age_seconds":78699,"generation":"v2-vm130-20260920T233759Z-c9518c8be2c3","logical_id":"vm130","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":130},{"age_seconds":81985,"generation":"v2-vm150-20260920T230035Z-e0880e47ea55","logical_id":"vm150","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":150},{"age_seconds":77232,"generation":"v2-vm160-20260921T001432Z-31df1acfee7a","logical_id":"vm160","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":160},{"age_seconds":75455,"generation":"v2-vm171-20260921T004759Z-537db1552014","logical_id":"vm171","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":171},{"age_seconds":73193,"generation":"v2-vm190-20260921T012544Z-298b64987988","logical_id":"vm190","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":190}]
-19:RPO_STALE_COUNT_BEFORE_REFRESH=7
-41:TARGET_REFRESH_END={"elapsed_seconds":235,"iteration":7,"result":{"allocator_healthy":13,"generation":"v2-vm190-20260921T223421Z-1f4f2306e4e0","logical_id":"vm190","payload_bytes":1632550425,"replicas":2,"result":"SUCCESS"}}
-42:RPO_AFTER_REFRESH=[]
-43:RPO_STALE_COUNT_AFTER=0
-44:ACTIVE_VM_STATE_AFTER=[{"age_seconds":7788,"generation":"v2-ct110-20260921T202514Z-1c872adccfab","logical_id":"ct110","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":110},{"age_seconds":7641,"generation":"v2-ct111-20260921T202833Z-208ada4fafce","logical_id":"ct111","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":111},{"age_seconds":2883,"generation":"v2-ct112-20260921T214852Z-cd43a8d672fe","logical_id":"ct112","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":112},{"age_seconds":2800,"generation":"v2-ct113-20260921T215013Z-af1017371806","logical_id":"ct113","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":113},{"age_seconds":1088,"generation":"v2-vm130-20260921T215355Z-2425c616d2e0","logical_id":"vm130","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":130},{"age_seconds":2661,"generation":"v2-vm150-20260921T215136Z-b85020c7d3e4","logical_id":"vm150","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":150},{"age_seconds":519,"generation":"v2-vm160-20260921T222008Z-7c82c237c154","logical_id":"vm160","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":160},{"age_seconds":71416,"generation":"v2-vm170-20260921T023516Z-53ad6a6b10f9","logical_id":"vm170","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":170},{"age_seconds":235,"generation":"v2-vm171-20260921T222937Z-3e5e94c908e8","logical_id":"vm171","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":171},{"age_seconds":0,"generation":"v2-vm190-20260921T223421Z-1f4f2306e4e0","logical_id":"vm190","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":190},{"age_seconds":64819,"generation":"v2-vm9130-20260921T041152Z-ab9908f2946f","logical_id":"vm9130","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":9130}]
-45:REFRESH_HISTORY=[{"elapsed_seconds":81,"iteration":1,"logical_id":"ct112","vmid":112},{"elapsed_seconds":83,"iteration":2,"logical_id":"ct113","vmid":113},{"elapsed_seconds":139,"iteration":3,"logical_id":"vm150","vmid":150},{"elapsed_seconds":1572,"iteration":4,"logical_id":"vm130","vmid":130},{"elapsed_seconds":568,"iteration":5,"logical_id":"vm160","vmid":160},{"elapsed_seconds":284,"iteration":6,"logical_id":"vm171","vmid":171},{"elapsed_seconds":235,"iteration":7,"logical_id":"vm190","vmid":190}]
-46:HEAVY_LOCK_RELEASED=true
-47:TIMER_POSTSTATE={"active":true,"enabled":true}
-48:POLICY_ALIGNMENT=CANONICAL_ACTIVE_VM_DUE_72000_EQUALS_RPO_72000
-49:DECISION=RPO_CLEAR_FINAL_CLOSURE_ALLOWED
-50:TASK_RESULT=PASS_HOMELAB_BACKUP_DUE_POLICY_FIX_REFRESH
-51:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
-52:WORKERS2_DUE_POLICY_FIX_REFRESH_END=1
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2-20260920T001845Z.log|SHA256=c710cc01e97c437dde1f87f2788d724889e53d913c6883dfb59b773717c0b6a6|BYTES=1532
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2-20260920T001845Z.log
-34:PHP_OUTPUT_END
-35:STAGE_PREFLIGHT_OUTPUT_END
-36:STAGE_IMPORT_PREFLIGHT_OK=true
-37:STAGE_SNAPSHOT_RC=0
-38:STAGE_XML_TRANSFER_RC=255
-39:RUSSIAN_CORE_ERROR=RuntimeError:STAGE_XML_TRANSFER
-40:ROLLBACK_PRODUCTION_RESTORED=true
-41:ROLLBACK_STAGING_RESTORED=true
-42:TASK_RESULT=PVEPRO_V1_RUSSIAN_CORE_FAILED_ROLLED_BACK
-43:HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2","status":"FAIL","changes_made":true,"rollback_started":true,"rollback_restored":true}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-V1-RUSSIAN-CORE-723R2-20260920T001845Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6-20260908T161249Z.log|SHA256=4248a85987d577736cb9af552da129250abd2334714d2d3c6c457b3cba3df38b|BYTES=6406
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6-20260908T161249Z.log
-5:SB043A6_RUNNER_ROLLBACK_RULES=OK
-6:SB043A6_QGA_BYTES={"activation":23412,"limit":921600,"probe":1507}
-7:SB043A6_VM170_CLUSTER={"name":"core-apps","node":"pve01","status":"running","type":"qemu"}
-8:SB043A6_PREMUTATION_GOLDEN={"expected_new_experiment_id":"7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960","expected_new_runtime_manifest_id":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389","experiment_changed_keys":["code_identity","collection_start_at","experiment_id","runtime_manifest_id"],"experiment_class":{"end_lineno":175,"lineno":43,"module":"demonov_forward_map.live_prospective","source_sha256":"f83f48dfeb4dc1382ebf3c77b7ec27deaeac6eec4a5dc097f90600963f0e4e98"},"experiment_old_reproduced":true,"new_collection_start_at":"2026-09-09T00:00:00+00:00","new_experiment_id":"7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960","new_package_identity":"177ddb229c5bc4376b5f75948ed9467edac55db60b6880ad0cb662758702d34b","new_runtime_manifest_id":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389","runtime_manifest_old_reproduced":true}
-9:SB043A6_DEPLOY_INTENT_SHA256=420891e89ee2807d830db7488eea13b5e1cb3de6216248a782acd333cc7b2741
-10:SB043A6_ERROR=RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY
-11:SB043A6_ROLLBACK={"compose_old_rc":0,"env_restored":true,"failed_epoch":"/opt/stacks/8020-demonov-shadow/data/failed/7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960-SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6","old_epoch_scientific_continuity":"INVALIDATED_BY_CUTOVER","old_services_restored":true,"reason":"RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY","services":[{"id":"fb2ea07fbdc5","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"worker"},{"id":"11e755ced086","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"shadow"},{"id":"94cd3b1db919","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"relay"},{"id":"c05448fb766e","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"collector"}]}
-12:SB043A6_GUEST_DECISION=ROLLED_BACK
-13:SB043A6_ACTIVATION_QGA={"rc":3,"stderr_present":false}
-14:SB043A6_INDEPENDENT_POSTSTATE={"activation_dir_exists":true,"env":{"APP_IMAGE":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","CODE_IDENTITY":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","COLLECTION_START_AT":"2026-09-07T00:00:00+00:00","EXPERIMENT_ID":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","RUNTIME_MANIFEST_ID":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"result":{"changes_made":true,"collection_start_at":"2026-09-09T00:00:00+00:00","command_id":"SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6","new_experiment_id":"7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960","new_runtime_manifest_id":"a6a4f903e7e6aa309d8c7d181fbe613fae95f11077dff0fc2ceb7c331fb75389","poststate":null,"reason":"RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY","rollback":{"compose_old_rc":0,"env_restored":true,"failed_epoch":"/opt/stacks/8020-demonov-shadow/data/failed/7e0f31f4e35667f8121d3465772af2ec6c75d2243602228584c132cff2f53960-SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6","old_epoch_scientific_continuity":"INVALIDATED_BY_CUTOVER","old_services_restored":true,"reason":"RuntimeError:RESTART_COUNT_CHANGED_DURING_STABILITY","services":[{"id":"fb2ea07fbdc5","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"worker"},{"id":"11e755ced086","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"shadow"},{"id":"94cd3b1db919","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"relay"},{"id":"c05448fb766e","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"collector"}]},"rollback_restored":true,"rollback_started":true,"status":"ROLLED_BACK","ts_utc":"2026-09-08T16:13:30.709680+00:00"},"services":[{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"worker","started_at":"2026-09-08T16:13:24.651452057Z"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"shadow","started_at":"2026-09-08T16:13:24.622406089Z"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"relay","started_at":"2026-09-08T16:13:24.580556381Z"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"collector","started_at":"2026-09-08T16:13:24.5384991Z"}]}
-15:SB043A6_HOLDS=["ROLLBACK_RESTORED"]
-16:SB043A6_DECISION=ACTIVATION_FAILED_ROLLBACK_RESTORED
-17:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-SEALED-ACTIVATION-043ACT6-20260908T161249Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158-20260919T203531Z.log|SHA256=97810d1b2a4ebdd78245e6973bfc06db36a80854e201590f59f38797863af433|BYTES=350
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158-20260919T203531Z.log
-1:NEWFI158_BEGIN=true
-2:COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158
-3:NEWFI158_ERROR=RuntimeError_4d60c67a25232b60cfe91b5800f12bdfb95b707a3e576d2ab566498a60b10b8a
-4:HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-CENSUS158-20260919T203531Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z-20260805T130801Z.log|SHA256=2a7ec04b2e7036e6cc5751216e516b7d78ef56dc135326379580ef58dbc66a29|BYTES=12076
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z-20260805T130801Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z","command_rc":0,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
-2:{"bounded_adapter_scan":null,"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z","command_rc":0,"evidence_bundle":{"bundle_bytes_ok":true,"bundle_sha256_ok":true,"exists":true,"member_count":6,"output_member_matches":0,"path_is_exact_from_previous_result":true,"runner_json_member_matches":1,"runner_text_member_matches":1,"unsafe_member_rejected":false},"files_written":false,"mutation_outcome":"NO_MUTATION","network_requests_made":false,"next_action":"RUN_ONE_READ_ONLY_GITEA_DEFINED_CLUSTER_FACT_AND_DOCUMENT_GAP_ANALYSIS","output_truncated_in_json":false,"pre_command_known_error_gate":{"checked":true,"count":28,"ids":["candidate-file-limit-600-20260805","runner-wrapper-mismatch-after-success-20260805","canonical-cluster-handbook-ambiguous-20260805","pvesh-adapter-context-unreadable-20260805","homelab-ops-bare-repository-not-found-local-20260805","gitea-network-fallback-stage-not-emitted-20260805","gitea-owner-hardcoded-homelab-admin-20260805","gitea-git-auth-required-or-credential-unavailable-20260805","gitea-process-self-match-payload-name-20260805","sanitize-bool-attributeerror-20260805","reader-v3-path-misclassified-as-route-20260805","reader-v3-loopback-assumption-20260805","reader-v3-capability-not-treated-as-secret-20260805","reader-v3-systemd-unit-fed-to-python-ast-20260805","reader-v3-helper-control-flow-not-traced-20260805","reader-v3-post-capability-operation-not-derived-20260805","reader-v3-detected-operations-not-tested-20260805","reader-v3-manifest-global-not-bound-in-sandbox-20260805","reader-v3-result-file-second-source-not-read-20260805","reader-v3-negative-control-mixed-with-production-20260805","reader-v3-manifest-schema-guessed-20260805","reader-result-output-bound-after-compaction-20260805","reader-v3-generation-record-shape-guessed-20260805","reader-v3-result-file-assumed-standalone-json-20260805","reader-v3-gitea-detail-marker-false-inventory-20260805","reverse-proxy-runtime-not-visible-on-host-20260805","gitea-public-owner-not-anonymously-discoverable-20260805","exact-output-long-line-not-projectable-by-portal-view-20260805"]},"projection":{"analysis_outcome":{"error_fingerprint":"26d65952ac8f64197a6fd76ec56e3b5ffda8c4838efe2af2947a603d01270b92","next_action":"RUN_ONE_READ_ONLY_GITEA_DEFINED_CLUSTER_FACT_AND_DOCUMENT_GAP_ANALYSIS","ready_for_gitea_defined_cluster_fact_analysis":true,"root_cause_classification":"GITEA_CLUSTER_HANDBOOK_AND_ERROR_SYSTEM_DEEPLY_ANALYZED","status":"OK"},"canonical_handbook":{"candidates":[{"canonical_phrase_hits":3,"canonical_score":227,"content_sha256":"8051e3e761493a1b7088a0f3ed7e0aa9218673f453ca88171178364d26701f64","headings":[],"inbound_reference_count":8,"path":"errors/regression-cases.json"},{"canonical_phrase_hits":0,"canonical_score":74,"content_sha256":"a49bcb32ac7212d7fb9768db8a277cb5525c873c84dd6fb633edae35dc6de532","headings":[],"inbound_reference_count":0,"path":"tasks/cluster-cloud-quorum-vm160-canary-v1/phases/preflight.sh"},{"canonical_phrase_hits":1,"canonical_score":56,"content_sha256":"ac5dc881dcd9fcb72644bc893e866f463c9c2b9b4544e32434e21b5d34168fb5","headings":[],"inbound_reference_count":1,"path":"inventory/access-paths.json"},{"canonical_phrase_hits":0,"canonical_score":55,"content_sha256":"666072447ba11d346772f62f274dadc974c4463e20f67e67f82f228f1fcf2ce8","headings":[],"inbound_reference_count":0,"path":"tasks/cluster-cloud-quorum-vm160-canary-v1/phases/rollback.sh"},{"canonical_phrase_hits":0,"canonical_score":54,"content_sha256":"636254d2526f0f62184d47cdb4c30c2831b11869c2000c557666f60b55d7691b","headings":[],"inbound_reference_count":0,"path":"tasks/cluster-cloud-quorum-vm160-canary-v1/task.json"}],"path":"errors/regression-cases.json","status":"UNIQUE_CONFIRMED"},"documentation_coverage":{"access":{"file_count":22,"paths":["changes/CR-2026-0018/regression-cases-draft.json","docs/planned/skladchik-moderator-assistant.md","errors/regression-cases.json","inventory/access-paths.json","tasks/cluster-
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-EXACT-OUTPUT-PROJECTION-READ-ONLY-20260805T130500Z-20260805T130801Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-PUBLISHER-RESTORE-CLOSEOUT-202-20260722T134716Z.log|SHA256=dde48f85d2055be98a15b781774b58654934a8dbad202028b8dad807e8b47aa7|BYTES=585
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-PUBLISHER-RESTORE-CLOSEOUT-202-20260722T134716Z.log
-1:validation=PASS
-2:Traceback (most recent call last):
-3:  File "", line 1, in 
-4:    import re,pathlib,sys;p=pathlib.Path(sys.argv[1]).read_text();m=re.search(r"(?m)^.*\bcat\b[^\n]*<<-?[ \t]*([\"\x27]?)([A-Za-z_][A-Za-z0-9_]*)\1[^\n]*\n",p);assert m;d=m.group(2);s=m.end();e=re.search(r"(?m)^\t*"+re.escape(d)+r"[ \t]*$",p[s:]);assert e;pathlib.Path(sys.argv[2]).write_text(p[s:s+e.start()])
-5:                                                                                                                                                                       ^
-6:AssertionError
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-PUBLISHER-RESTORE-CLOSEOUT-202-20260722T134716Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z-20260731T080429Z.log|SHA256=4d5a019c5e832c7c70156cb62a47325f19e96fc59da65f6c795f3a4494d1d283|BYTES=658
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z-20260731T080429Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z","error":"RuntimeError: Gitea clone failed rc=128 Cloning into '/tmp/gram1-site-dossier-v3-mwkj3yow/repo'...\nfatal: could not read Username for 'https://git.gram1.ru': terminal prompts disabled\n","gitea_changed":false,"mutation_outcome":"NO_MUTATION","production_site_changed":false,"rc":1,"rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GRAM1-SITE-BASELINE-EDITING-DOSSIER-V3-20260731T080000Z-20260731T080429Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z-20260730T160710Z.log|SHA256=0d5dcb323f85974a9010cdd3edf9428f1d4536c6c8aedc55efadc15802160d0a|BYTES=469
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z-20260730T160710Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z","error":"RuntimeError: V3 package hash mismatch: phases/rollback.sh","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GITEA-V4-AND-SUPERSEDED-LOCK-IMPLEMENT-20260730T160621Z-20260730T160710Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8-20260918T185739Z.log|SHA256=e8ec9c45af63e271bab943a405e2123124e6bf50515891e1d3fc59625defe344|BYTES=373
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8-20260918T185739Z.log
-1:NEWFI93R8_BEGIN
-2:COMMAND_ID=NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8
-3:NEWFI93R8_GIT={"branch":"implementation/newfi-closed-mvp-20260906","clean":true,"head":"b87bf90703e3471c05d6d2b0cb228e9b691ffe4f","remote":"origin"}
-4:NEWFI93R8_SAFE_REPORT={"changes_made":false,"decision":"FAIL_ACCESS203_AUDIT_HOLD","error":"RuntimeError:GUEST_FAIL:pve03:RuntimeError:STAGING_ERROR_BASE"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260918-NEWFDOM-ACCESS203-AUDIT93R8-20260918T185739Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1-20260921T053822Z.log|SHA256=3a41fc0f695ad6b28d64fb5afacb5fb71169c697b9cad335d5a7afbef2584217|BYTES=7626
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1-20260921T053822Z.log
-9:FRESH_STAGING_SNAPSHOT_CREATED=true
-10:STAGING_APP_PRE={"addon":null,"boardActive":"0","defs":[],"entries":[],"errors":16,"jobs":[],"mods":[],"posts":44,"siteId":"","src_addon":0,"src_js":0,"tables":[],"threads":44}
-11:PERMISSION_REBUILD={"iterations":1,"remaining":0}
-12:STAGING_STATE_AFTER_INSTALL={"addon":{"active":1,"version_id":1000120},"boardActive":"0","defs":[{"permission_group_id":"gramSupport","permission_id":"assign"},{"permission_group_id":"gramSupport","permission_id":"create"},{"permission_group_id":"gramSupport","permission_id":"internalNotes"},{"permission_group_id":"gramSupport","permission_id":"manage"},{"permission_group_id":"gramSupport","permission_id":"replyOwn"},{"permission_group_id":"gramSupport","permission_id":"view"},{"permission_group_id":"gramSupport","permission_id":"viewAll"},{"permission_group_id":"gramSupport","permission_id":"viewOwn"},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext"}],"entries":[{"permission_group_id":"gramSupport","permission_id":"create","permission_value":"allow","permission_value_int":0,"user_group_id":2,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","permission_value":"allow","permission_value_int":0,"user_group_id":2,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"view","permission_value":"allow","permission_value_int":0,"user_group_id":2,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","permission_value":"allow","permission_value_int":0,"user_group_id":2,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"assign","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"create","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"internalNotes","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"manage","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"view","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewAll","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext","permission_value":"allow","permission_value_int":0,"user_group_id":3,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"assign","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"create","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"internalNotes","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"manage","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"view","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewAll","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext","permission_value":"allow","permission_value_int":0,"user_group_id":4,"user_id":0}],"errors":16,"jobs":[],"mods":[{"action":"str_replace","enabled"
-13:RENDER_DIAGNOSTIC={"candidates":["[PRIVATE_IP]"],"listeners":[],"samples":[{"/":{"attempts":[{"ip":"[PRIVATE_IP]","marker":true,"rc":7,"stderr_sha256":"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155","stdout_bytes":31}],"ok":false},"/support/":{"attempts":[{"ip":"[PRIVATE_IP]","marker":true,"rc":7,"stderr_sha256":"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155","stdout_bytes":39}],"ok":false},"/support/create/":{"attempts":[{"ip":"[PRIVATE_IP]","marker":true,"rc":7,"stderr_sha256":"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155","stdout_bytes":46}],"ok":false}},{"/":{"attempts":[{"ip":"[PRIVATE_IP]","marker":true,"rc":7,"stderr_sha256":"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155","stdout_bytes":31}],"ok":false},"/support/":{"attempts":[{"ip":"[PRIVATE_IP]","marker":true,"rc":7,"stderr_sha256":"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155","stdout_bytes":39}],"ok":false},"/support/create/":{"attempts":[{"ip":"[PRIVATE_IP]","marker":true,"rc":7,"stderr_sha256":"27f61005904f3d497996dbf2d4edc77b9705fef674b0a861a07f574f3bc4b155","stdout_bytes":46}],"ok":false}}]}
-14:GRAM_SUPPORT_STAGING_ERROR_CLASS=RuntimeError
-15:GRAM_SUPPORT_STAGING_ERROR_SHA256=9ccfb75701764360e540920a4bb1a16ddf8d04868795ce4f26b4a760bbe7e1ec
-16:ROLLBACK_STARTED=true
-17:ROLLBACK_RESTORED=true
-18:NO_PRODUCTION_MUTATION_EXPECTED=true
-19:PRODUCT_CHECKPOINTS_REMAINING=14
-20:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14
-21:TASK_RESULT=PVEPRO_GRAM_SUPPORT_STAGING_INSTALL_PERMISSION_LIFECYCLE_FAILED
-22:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1","rollback_restored":true,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-STAGING-INSTALL-RENDER-GUEST-SYNTAX-RETRY-868R1-20260921T053822Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5-20260918T231533Z.log|SHA256=4546f98b6505459b8e52f7831efcc82e11daa870e1d49176af844006eec58ab1|BYTES=693
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5-20260918T231533Z.log
-3:NEWFI119R5_FORUM_ROUTE_PRECHECK={"policy":"HTTP_200_OR_403","routes":7}
-4:NEWFI119R5_PUBLIC_PRECHECK=PASS
-5:NEWFI119R5_PREMUTATION=PASS
-6:NEWFI119R5_PRESAVE_2OF2=PASS
-7:NEWFI119R5_BACKUPS_2OF2=PASS
-8:NEWFI119R5_SAFE_REPORT={"changes_made":true,"decision":"FAIL_CONTENT207_HOLD","error":"RuntimeError:GUEST:staging:RuntimeError:CMD:1:354691e8b9555b4fdb672c0c285308a700ac56ca9c8b459a11aa01375fbf152e","rollback_restored":false,"rollback_started":true}
-9:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5","rollback_restored":false,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R5-20260918T231533Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/KOW-260907-CSPPWA2-20260907T135818Z.log|SHA256=2b3d938bf9bd6ae7956bdcfb1c46c94467f0aeb06917ef9ee57e8d0ae423582c|BYTES=1081
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/KOW-260907-CSPPWA2-20260907T135818Z.log
-18:KOWPWA2_SW_CREATE_OBJECT_URL_COUNT=0
-19:KOWPWA2_SW_WORKER_CONSTRUCTOR_COUNT=0
-20:KOWPWA2_WEBMANIFEST_HTTP=200
-21:KOWPWA2_MANIFEST_REF_COUNT=6
-22:KOWPWA2_MANIFEST_REF_ORIGINS=SELF
-23:KOWPWA2_ERROR_CLASS=RuntimeError
-24:KOWPWA2_ERROR=SUBPROCESS_FAILED
-25:KOWPWA2_STATUS=FAIL
-26:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"KOW-260907-CSPPWA2","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/KOW-260907-CSPPWA2-20260907T135818Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/RESULT-API-PLAN-20260727T080229Z-20260727T080324Z.log|SHA256=68ad58daa2047e58029205572c05dce673c3091831bbe301b95a779fad124081|BYTES=714
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/RESULT-API-PLAN-20260727T080229Z-20260727T080324Z.log
-1:Traceback (most recent call last):
-2:  File "/var/lib/homelab-command-adapter/capsules/97a6dc8d4353d4f414a2c6eab15ceb2f6f8344c1f15265673cbbc62fe735155b/payload/result_api_plan.py", line 1298, in 
-3:    raise SystemExit(main())
-4:                     ~~~~^^
-5:  File "/var/lib/homelab-command-adapter/capsules/97a6dc8d4353d4f414a2c6eab15ceb2f6f8344c1f15265673cbbc62fe735155b/payload/result_api_plan.py", line 999, in main
-6:    module.verify_result_signing_material()
-7:    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
-8:  File "/tmp/tmppaqxv0uy/adapter.py", line 1343, in verify_result_signing_material
-9:result_api_adapter_candidate.AdapterError: result signing material permissions invalid: /tmp/tmppaqxv0uy/keys/private.pem
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/RESULT-API-PLAN-20260727T080229Z-20260727T080324Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2-20260919T174047Z.log|SHA256=ab4b59d06532fc573ca1a27ebf633b57670106e737a9de650d785bffa63b4d41|BYTES=1155
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2-20260919T174047Z.log
-1:NEWFI146R2_BEGIN=true
-2:COMMAND_ID=NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2
-3:NEWFI146R2_GIT={"branch":"implementation/newfi-closed-mvp-20260906","head":"2593a54c0da4c7f5738381f28b2855fdaf1c6804","remote_head":"2593a54c0da4c7f5738381f28b2855fdaf1c6804","clean":true}
-4:NEWFI146R2_CLUSTER={"vmid":211,"node":"pve03","status":"running"}
-5:NEWFI146R2_STAGING={"command_id":"NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2","role":"staging","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null,"mutation_outcome":"NO_MUTATION","error_type":"RuntimeError","error_sha256":"784322e11e06748ef5395120dd02dfa57d1f4e32ab93a2fb81d413482f689c73","observed_after_failure":{"residue_present":true,"quarantine_present":false,"item_tables":["xf_newfi_autocontent_item","xf_newfi_autocontent_item__conflict"],"errors_count":24,"errors_max":56},"qga_exitcode":3}
-6:NEWFI146R2_ERROR=ValueError_8593865992175f58b1195e854a0ddc466ff40bfbe72b3b24892ebb9fc40ee766
-7:HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-EVENTBOT212-RECOVERY146R2-20260919T174047Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-IMMUTABLE-PER-FILE-RECONCILE-128-20260721T192652Z.log|SHA256=7a12ebc45debe76d36dc95f174c6f0ce9159a686d93862cfea3877cdd294e1ec|BYTES=26440
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-IMMUTABLE-PER-FILE-RECONCILE-128-20260721T192652Z.log
-1:Traceback (most recent call last):
-2:  File "", line 1, in 
-3:    import base64; exec(compile(base64.b64decode("CmltcG9ydCBiYXNlNjQKaW1wb3J0IGhhc2hsaWIKaW1wb3J0IGpzb24KaW1wb3J0IG9zCmltcG9ydCByZQppbXBvcnQgc3VicHJvY2VzcwppbXBvcnQgdXJsbGliLnBhcnNlCmltcG9ydCB1cmxsaWIucmVxdWVzdAoKQkFTRSA9ICJodHRwczovL2dpdC5ncmFtMS5ydSIKUkVQTyA9ICJob21lbGFiLWFkbWluL2hvbWVsYWItcHVibGljLWNvbnRleHQiCkJSQU5DSCA9ICJhc3Npc3RhbnQtcnVudGltZSIKVEFSR0VUID0gIkhPTUVMQUItMTI2LUFDVElPTi0xMjciCgpkZWYgZmV0Y2godXJsLCB0aW1lb3V0PTkwKToKICAgIHJlcSA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsLCBoZWFkZXJzPXsiVXNlci1BZ2VudCI6ICJob21lbGFiLWltbXV0YWJsZS1wZXItZmlsZS8xIn0pCiAgICB3aXRoIHVybGxpYi5yZXF1ZXN0LnVybG9wZW4ocmVxLCB0aW1lb3V0PXRpbWVvdXQpIGFzIHJlc3BvbnNlOgogICAgICAgIHJldHVybiByZXNwb25zZS5yZWFkKCkKCmRlZiBmZXRjaF9qc29uKHVybCk6CiAgICByZXR1cm4ganNvbi5sb2FkcyhmZXRjaCh1cmwpLmRlY29kZSgidXRmLTgiKSkKCmRlZiBpbW11dGFibGVfZmlsZShjb21tYW5kX2lkLCBleHQpOgogICAgcGF0aCA9IGYicnVudGltZS9oaXN0b3J5L3tjb21tYW5kX2lkfS57ZXh0fSIKICAgIGVuY29kZWQgPSB1cmxsaWIucGFyc2UucXVvdGUocGF0aCwgc2FmZT0iLyIpCiAgICBtZXRhID0gZmV0Y2hfanNvbihmIntCQVNFfS9hcGkvdjEvcmVwb3Mve1JFUE99L2NvbnRlbnRzL3tlbmNvZGVkfT9yZWY9e0JSQU5DSH0iKQogICAgYnJhbmNoX2J5dGVzID0gYmFzZTY0LmI2NGRlY29kZShtZXRhWyJjb250ZW50Il0pCiAgICBjb21taXQgPSBtZXRhLmdldCgibGFzdF9jb21taXRfc2hhIikgb3IgIiIKICAgIGlmIG5vdCBjb21taXQ6CiAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKGYibWlzc2luZyBsYXN0X2NvbW1pdF9zaGEgZm9yIHtwYXRofSIpCiAgICBpbW11dGFibGVfYnl0ZXMgPSBmZXRjaChmIntCQVNFfS97UkVQT30vcmF3L2NvbW1pdC97Y29tbWl0fS97cGF0aH0iKQogICAgaWYgYnJhbmNoX2J5dGVzICE9IGltbXV0YWJsZV9ieXRlczoKICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoZiJicmFuY2gvY29tbWl0IG1pc21hdGNoIGZvciB7cGF0aH0iKQogICAgcmV0dXJuIGltbXV0YWJsZV9ieXRlcywgY29tbWl0CgpkZWYgcnVuKGNvbW1hbmQsIHRpbWVvdXQpOgogICAgdHJ5OgogICAgICAgIGNvbXBsZXRlZCA9IHN1YnByb2Nlc3MucnVuKAogICAgICAgICAgICBjb21tYW5kLAogICAgICAgICAgICB0ZXh0PVRydWUsCiAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCiAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwKICAgICAgICAgICAgdGltZW91dD10aW1lb3V0LAogICAgICAgICAgICBjaGVjaz1GYWxzZSwKICAgICAgICApCiAgICAgICAgcmV0dXJuIGNvbXBsZXRlZC5yZXR1cm5jb2RlLCBjb21wbGV0ZWQuc3Rkb3V0CiAgICBleGNlcHQgc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZCBhcyBleGM6CiAgICAgICAgb3V0cHV0ID0gZXhjLnN0ZG91dCBvciAiIgogICAgICAgIGlmIGlzaW5zdGFuY2Uob3V0cHV0LCBieXRlcyk6CiAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dC5kZWNvZGUoInV0Zi04IiwgZXJyb3JzPSJyZXBsYWNlIikKICAgICAgICByZXR1cm4gMTI0LCBvdXRwdXQgKyAiXG5USU1FT1VUXG4iCiAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3IgYXMgZXhjOgogICAgICAgIHJldHVybiAxMjcsIGYie3R5cGUoZXhjKS5fX25hbWVfX306IHtleGN9XG4iCgpib290c3RyYXAgPSBmZXRjaF9qc29uKGYie0JBU0V9Ly53ZWxsLWtub3duL2hvbWVsYWItYm9vdHN0cmFwLmpzb24iKQpydW50aW1lID0gYm9vdHN0cmFwWyJydW50aW1lIl0KY29udHJhY3QgPSBib290c3RyYXBbIm9wZXJhdGluZ19jb250cmFjdCJdCmFzc2VydCBydW50aW1lWyJyZXN1bHRfY29uZmlybWF0aW9uIl0gPT0gImltbXV0YWJsZV9oaXN0b3J5X2J5X2NvbW1hbmRfaWQiCmFzc2VydCBydW50aW1lWyJsYXRlc3RfanNvbl9pc19hdXRob3JpdGF0aXZlIl0gaXMgRmFsc2UKYXNzZXJ0IGNvbnRyYWN0WyJsb2FkX2Vycm9yX3JlZ2lzdGVyX2JlZm9yZV9jb21tYW5kcyJdIGlzIFRydWUKYXNzZXJ0IGNvbnRyYWN0WyJjaGVja19wcmV2aW91c19jb21tYW5kX3Jlc3VsdCJdIGlzIFRydWUKYXNzZXJ0IGNvbnRyYWN0WyJyZWplY3Rfa25vd25fZmFpbGVkX2V4YWN0X3JlcGVhdHMiXSBpcyBUcnVlCmFzc2VydCBjb250cmFjdFsiZG91YmxlX3ByZV9jb21tYW5kX2NoZWNrIl0gaXMgVHJ1ZQoKZXJyb3JzX2J5dGVzID0gZmV0Y2goYm9vdHN0cmFwWyJlbnRyeXBvaW50cyJdWyJlcnJvcnNfaW5kZXhfdXJsIl0pCmpzb24ubG9hZHMoZXJyb3JzX2J5dGVzLmRlY29kZSgidXRmLTgiKSkKZXJyb3JzX3RleHQgPSBlcnJvcnNfYnl0ZXMuZGVjb2RlKCJ1dGYtOCIsIGVycm9ycz0icmVwbGFjZSIpCgpqc29uX2J5dGVzLCBqc29uX2NvbW1pdCA9IGltbXV0YWJsZV9maWxlKFRBUkdFVCwgImpzb24iKQp0eHRfYnl0ZXMsIHR4dF9jb21taXQgPSBpbW11dGFibGVfZmlsZShUQVJHRVQsICJ0eHQiKQpyZXN1bHQgPSBqc29uLmxvYWRzKGpzb25fYnl0ZXMuZGVjb2RlKCJ1dGYtOCIpKQp0ZXh0ID0gdHh0X2J5dGVzLmRlY29kZSgidXRmLTgiLCBlcnJvcnM9InJlcGxhY2UiKQppZiByZXN1bHQuZ2V0KCJjb21tYW5kX2lkIikgIT0gVEFSR0VUOgogICAgcmFpc2UgUnVudGltZUVycm9yKGYid3JvbmcgY29tbWFuZF9pZDoge3Jlc3VsdC5nZXQoJ2NvbW1hbmRfaWQnKX0iKQoKc3RhdHVzID0gc3RyKHJlc3VsdC5nZXQoInN0YXR1cyIsICJVTktOT1dOIikpCnJjID0gaW50KHJlc3VsdC5nZXQoInJjIiwgLTk5OSkpCnN0YXJ0ZWQgPSBib29sKHJlc3VsdC5nZXQoImV4ZWN1dGlvbl9zdGFydGVkIiwgRmFsc2UpKQpkdXBsaWNhdGUgPSBib29sKHJlc3VsdC5nZXQoImR1cG
-4:                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-5:  File "", line 195, in 
-6:NameError: name 'capcity_lines' is not defined. Did you mean: 'capacity_lines'?
-7:=== IMMUTABLE_127_PER_FILE ===
-8:COMMAND_ID=HOMELAB-126-ACTION-127
-9:JSON_IMMUTABLE_COMMIT=3b4a5565e4d07127e6561009623a862837fd8c20
-10:TXT_IMMUTABLE_COMMIT=3b4a5565e4d07127e6561009623a862837fd8c20
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-IMMUTABLE-PER-FILE-RECONCILE-128-20260721T192652Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1-20260921T033452Z.log|SHA256=23abc492c5fee32e24da0b5faea3f26f2e8ac19c2e3f823d32396f90f7daaffa|BYTES=1158
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1-20260921T033452Z.log
-1:COMMAND_ID=SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1
-2:MODE=read-only
-3:COMPONENT=pvepro-gram-support-template-permission-metadata-rca-readonly
-4:PRODUCTION_HOST={"all_link_down":false,"config_sha256":"ebd2b7d44ab58a222b4fd5a7dcd9358d3082e593bd70fb07c2331c70f22e82ab","lock":null,"name":"pvepro-prod","snapshots":[],"status":"running","vmstate":null}
-5:STAGING_HOST={"all_link_down":true,"config_sha256":"43761ab3d555625387944883cd0229cde2121aba005a715dffe20465041e8aa9","lock":null,"name":"pvepro-staging-v1","snapshots":[],"status":"stopped","vmstate":null}
-6:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_CLASS=RuntimeError
-7:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_SHA256=686de6948df5572d80834472ec74f90cd677148901e3d077a84672137a44a1d6
-8:NO_MUTATION=true
-9:PRODUCT_CHECKPOINTS_REMAINING=14
-10:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14
-11:TASK_RESULT=PVEPRO_GRAM_SUPPORT_TEMPLATE_PERMISSION_METADATA_RCA_FAILED
-12:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-RETRY-848R1-20260921T033452Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z-20260805T105831Z.log|SHA256=8c3f6ed1219cc3da1930e50b0e144855232f89bcd84c4126397488d91036bbde|BYTES=5236
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z-20260805T105831Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z","command_rc":1,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z","command_rc":1,"error":"result exceeds output bound after deterministic compaction","error_fingerprint":"0141f0f7009c41a327fbbeeaae86d192975993f5aa135b01e747778c1a5219ac","error_type":"RuntimeError","latest_exact_result_basis":{"capsule_sha256":"9580200bb633ed9c4b7eebab6e160d723a728d8b9dbcf34803f6d43627d0c838","changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-READER-V3-FAKE-DEPENDENCY-CONTRACT-FIX-READ-ONLY-20260805T104000Z","command_rc":0,"control_plane_error":null,"error_fingerprint":"f625204be2a45aca4b0e31f18a66146eee3d05ca9cb2d6705b9a821bfc0e993e","mutation_outcome":"NO_MUTATION","next_action":"RUN_ONE_READ_ONLY_READER_V3_EXACT_MANIFEST_SCHEMA_TRACE","output_complete":true,"output_sha256":"8b175d403825bf21d0222a3ecb18a502790378b739bf85e140c62740af58fb89","output_truncated_in_json":false,"rc":0,"rollback_restored":null,"rollback_started":false,"root_cause_classification":"READER_V3_FEED_CAUGHT_EXCEPTION_ORIGIN_PROVEN","runner_document_rc":0,"runner_json_sha256":"d68de9445fcdff0647bfac60d5b424d99a59e0ad332834fe78f0fef5ab3e8eba","runner_rc":0,"runner_text_sha256":"4ba1efeb392165326b413d950f48fbb24144f2c844a3453157b438df51a4534d","runner_wrapper_matches_document":true,"status":"OK"},"mutation_outcome":"NO_MUTATION","next_action":"FIX_ONLY_THE_PROVEN_PAYLOAD_ERROR_THEN_RETRY","output_truncated_in_json":false,"pre_command_known_error_gate":{"checked":true,"items":[{"id":"candidate-scan-limit-20260805","prevention":"exact files only; bounded AST, simulation, response and output limits"},{"id":"runner-wrapper-mismatch-20260805","prevention":"single compact JSON below 42000 bytes; no raw source, secret or response body"},{"id":"gitea-owner-hardcoded-20260805","prevention":"no repository owner, guest ID or repository URL is assumed"},{"id":"gitea-git-auth-unavailable-20260805","prevention":"no Git or Gitea authentication attempt"},{"id":"pvesh-adapter-context-unreadable-20260805","prevention":"the payload does not call pvesh or any real executor"},{"id":"gitea-process-self-match-20260805","prevention":"Reader identity is bound to exact systemd ControlGroup"},{"id":"sanitize-non-string-attributeerror-20260805","prevention":"sanitize converts Any to str; embedded bool test"},{"id":"reader-path-env-misclassified-as-route-20260805","prevention":"PATH and filesystem-like values are excluded from request candidates"},{"id":"reader-loopback-only-probe-20260805","prevention":"owned listeners are inspected but no network connection is made"},{"id":"reader-capability-not-secret-20260805","prevention":"capability values are redacted before every output projection"},{"id":"reader-systemd-unit-parsed-as-python-20260805","prevention":"only the exact Python server source is parsed or compiled"},{"id":"reader-helper-contract-coverage-gap-20260805","prevention":"all handler methods reachable from do_GET/do_HEAD are traced"},{"id":"reader-capability-root-empty-suffix-404-20260805","prevention":"never infer inventory from capability-only paths; trace the exact post-prefix suffix and response branch with fake executors first"},{"id":"reader-generic-suffix-missed-exact-operation-20260805","prevention":"derive route operations from exact compiled branch constants and intersect them with AST path literals before sandbox execution"},{"id":"reader-feed-500-without-origin-20260805","prevention":"before any live feed request, trace global helper reachability, exact executor/file argument origins and caught sandbox exceptions; health alone never proves inventory safety"},{"id":"reader-sandbox-global-binding-undefined-20260805","prevention":"materialize reachable module globals only through a strict AST allowlist; Path joins and re.compile are allowed, arbitrary calls are blocked, and MANIFEST/RESULTS/RESULT_RE are regression-tested before any live request"},{"id":"reader-negative-control-exception-polluted-classification-20260805",
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-READER-V3-EXACT-MANIFEST-SCHEMA-TRACE-READ-ONLY-20260805T105500Z-20260805T105831Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z-20260805T105652Z.log|SHA256=0ddc5dc757a2edd836eb8be0ebe617aa17226cef08f56344303ed5581af2ddac|BYTES=627
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z-20260805T105652Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z","command_rc":1,"control_plane_error":null,"mutation_outcome":"NO_MUTATION","rc":1,"rollback_restored":false,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z","error":"V6 report command_id mismatch actual=","error_type":"RuntimeError","mutation_outcome":"NO_MUTATION","read_only":true,"rollback_restored":false,"rollback_started":false,"schema":8,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-ADMIN-UPDATES-V8-ARCHITECTURE-READ-ONLY-20260805T105500Z-20260805T105652Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z-20260805T115508Z.log|SHA256=c2bf43e1c408b618134f62b5e8902eb80328b92ed3cf8eac06e910955761565f|BYTES=2450
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z-20260805T115508Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z","command_rc":1,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z","command_rc":1,"error":"target task JSON cardinality=0; target_id_occurrences=2; decoded_roots=203; examined_values=3295; root_summaries=[{\"command_id_match\":true,\"end\":300,\"has_analysis_ready\":false,\"keys\":[\"changes_made\",\"command_id\",\"command_rc\",\"mutation_outcome\",\"output_truncated_in_json\",\"rc\",\"rollback_restored\",\"rollback_started\",\"status\",\"version\"],\"offset\":24,\"rc\":0,\"status\":\"OK\"},{\"command_id_match\":true,\"end\":12268,\"has_analysis_ready\":true,\"keys\":[\"analysis_ready\",\"based_on\",\"changes_made\",\"command_id\",\"command_rc\",\"current_docs\",\"interface_classes\",\"label\",\"line_count\",\"local_installed\",\"markers\",\"mutation_outcome\",\"next_action\",\"output_truncated_in_json\",\"path_descriptors\",\"prerequisites\",\"projection_bytes\",\"rc\",\"read_only\",\"remote_read\",\"rollback_restored\",\"rollback_started\",\"root_cause_classification\",\"safe_guidance\"],\"offset\":301,\"rc\":0,\"status\":\"\"},{\"command_id_match\":false,\"end\":766,\"has_analysis_ready\":false,\"keys\":[\"capsule_sha256\",\"command_id\",\"output_sha256\",\"runner_json_sha256\",\"runner_text_sha256\"],\"offset\":335,\"rc\":null,\"status\":\"\"},{\"command_id_match\":false,\"end\":2534,\"has_analysis_ready\":false,\"keys\":[\"basename\",\"path_sha256\",\"present\",\"sha256\",\"summary\"],\"offset\":909,\"rc\":null,\"status\":\"\"},{\"command_id_match\":false,\"end\":2533,\"has_analysis_ready\":false,\"keys\":[\"bytes\",\"environment_names\",\"flags\",\"headings\",\"interface_classes\",\"label\",\"line_count\",\"markers\",\"path_descriptors\",\"sha256\",\"shebang\"],\"offset\":1133,\"rc\":null,\"status\":\"\"},{\"command_id_match\":false,\"end\":1921,\"has_analysis_ready\":false,\"keys\":[\"accepts_cookie_header\",\"accepts_file_input\",\"atomic_replace\",\"backu","error_type":"RuntimeError","mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"read_only":true,"rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-SKLADCHIK-REAUTH-PREFLIGHT-EXACT-SUMMARY-READ-ONLY-V5-20260805T114900Z-20260805T115508Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1-20260920T141122Z.log|SHA256=d91a9c6f27718636825e9de0e51cdab64e57a5b106d3cc8e4e5e0dc9693eee92|BYTES=2999
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1-20260920T141122Z.log
-18:STYLE_REBUILD_TRIGGER_FRESH_PROCESS={"style_id":2}
-19:STYLE_REBUILD_JOB_IDENTIFIED={"count":1,"rows":[{"execute_class":"XF\\Job\\Atomic","job_id":79,"last_run_date":null,"manual_execute":1,"trigger_date":1789913617,"unique_key":"styleRebuild"}]}
-20:STYLE_REBUILD_JOB_EXECUTED={"job_id":79,"loops":1,"remaining":0,"remaining_history":[0],"styleRebuildLeft":0}
-21:STYLE_MAP_AFTER_JOB={"db_map_rows":284,"finder_map_rows":284,"style_count":2,"style_id":2,"target_found":42,"target_missing":[]}
-22:STYLE_PROPERTY_MAP_READY=True
-23:VISUAL_STYLE_STAGING_ERROR_CLASS=RuntimeError
-24:VISUAL_STYLE_STAGING_ERROR_SHA256=725e6f63db73446439703b32911b4bd1b785e757ee4da223b258b678f6efc774
-25:ROLLBACK_STARTED=True
-26:ROLLBACK_RESTORED=False
-27:TASK_RESULT=PVEPRO_VISUAL_STYLE_STAGING_DEPLOY_JOB_EXEC_FAILED
-28:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1","rollback_restored":false,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-763R1-20260920T141122Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1-20260922T061734Z.log|SHA256=d7162c271d12867b6d682f7b00115c83eb46c0fddf5c73b88d93b929bd6fc56e|BYTES=6950
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1-20260922T061734Z.log
-1:BEGET9106_AUDIT={"command_id":"SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1","mode":"read-only","mutation_boundary":"NO_MUTATION_NO_DNS_CHANGE_NO_SERVICE_RESTART_NO_BACKUP_RUN_NO_EXTERNAL_VPS_CHANGE","cluster_resources":[{"vmid":100,"node":"pve01","name":"pvepro-prod","status":"running","type":"qemu","maxcpu":4,"maxmem":6442450944,"maxdisk":85899345920},{"vmid":101,"node":"pve01","name":"pvepro-staging-v1","status":"stopped","type":"qemu","maxcpu":4,"maxmem":6442450944,"maxdisk":85899345920},{"vmid":130,"node":"pve03","name":"edge-vm","status":"running","type":"qemu","maxcpu":4,"maxmem":12884901888,"maxdisk":103079215104},{"vmid":160,"node":"pve02","name":"forum-prod","status":"running","type":"qemu","maxcpu":4,"maxmem":8589934592,"maxdisk":214748364800},{"vmid":170,"node":"pve01","name":"core-apps","status":"running","type":"qemu","maxcpu":4,"maxmem":10737418240,"maxdisk":128849018880},{"vmid":210,"node":"pve01","name":"newfi-prod","status":"running","type":"qemu","maxcpu":2,"maxmem":4294967296,"maxdisk":53687091200},{"vmid":211,"node":"pve03","name":"newfi-staging","status":"running","type":"qemu","maxcpu":2,"maxmem":4294967296,"maxdisk":53687091200}],"site_guests":{"100":{"ok":false,"stage":"start","rc":29},"160":{"ok":false,"stage":"start","rc":29},"210":{"ok":false,"stage":"start","rc":29},"211":{"ok":false,"stage":"start","rc":29}},"edge_vm130":{"ok":false,"stage":"start","rc":29},"core_vm170":{"ok":false,"stage":"start","rc":29},"known_production_site_domains":["pvepro.ru","codevipe.ru","dsmods.ru","gamevipe.ru","hkmods.ru","kingofwolk.ru","zakrutim.ru","newfi.ru"],"domain_candidates":["chatgpt.com","codevipe.ru","domain-chatgpt.com","domain-codevipe.ru","domain-dsmods.ru","domain-gamevipe.ru","domain-gram1.ru","domain-hapusya.ru","domain-hkmods.ru","domain-json-schema.org","domain-openai.com","domain-pvepro.ru","domain-zakrutim.ru","dsmods.ru","endpoint-https-chatgpt.com","endpoint-https-codevipe.ru","endpoint-https-dsmods.ru","endpoint-https-gamevipe.ru","endpoint-https-gram1.ru","endpoint-https-hapusya.ru","endpoint-https-hkmods.ru","endpoint-https-json-schema.org","endpoint-https-openai.com","endpoint-https-pvepro.ru","endpoint-https-zakrutim.ru","gamevipe.ru","gitea.com","gitlab.com","gram1.ru","hapusya.ru","hkmods.ru","ipify.org","json-schema.org","kingofwolk.ru","netcraze.pro","networkupstools.org","newfi.ru","openai.com","pvepro.ru","sitemaps.org","skladchik.org","w3.org","zakrutim.ru"],"domain_reference_counts":{"chatgpt.com":294,"codevipe.ru":112,"domain-chatgpt.com":147,"domain-codevipe.ru":56,"domain-dsmods.ru":56,"domain-gamevipe.ru":56,"domain-gram1.ru":147,"domain-hapusya.ru":147,"domain-hkmods.ru":56,"domain-json-schema.org":147,"domain-openai.com":91,"domain-pvepro.ru":147,"domain-zakrutim.ru":56,"dsmods.ru":112,"endpoint-https-chatgpt.com":147,"endpoint-https-codevipe.ru":56,"endpoint-https-dsmods.ru":56,"endpoint-https-gamevipe.ru":56,"endpoint-https-gram1.ru":147,"endpoint-https-hapusya.ru":147,"endpoint-https-hkmods.ru":56,"endpoint-https-json-schema.org":147,"endpoint-https-openai.com":91,"endpoint-https-pvepro.ru":147,"endpoint-https-zakrutim.ru":56,"gamevipe.ru":112,"gitea.com":364,"gitlab.com":73,"gram1.ru":31512,"hapusya.ru":294,"hkmods.ru":112,"ipify.org":588,"json-schema.org":294,"netcraze.pro":588,"networkupstools.org":73,"openai.com":182,"pvepro.ru":294,"sitemaps.org":364,"skladchik.org":588,"w3.org":364,"zakrutim.ru":112},"backup_states":[{"logical_id":"xf-newfi","result":"SUCCESS","generation":"v2-xf-newfi-20260921T070432Z-363a1c2db5f3","last_success_epoch":1789974719,"consecutive_failures":0},{"logical_id":"md-relay","result":"SUCCESS","generation":"v2-md-relay-20260921T180325Z-a61f85dd2bfd","last_success_epoch":1790013837,"consecutive_failures":0},{"logical_id":"spb-ingress","result":"SUCCESS","generation":"v2-spb-ingress-20260921T183726Z-21b9dc5d4e98","last_success_epoch":1790015869,"consecutive_failures":0},{"logical_id":"us-netbird","result":"FAIL","generation":"v2-us-ne
-2:TASK_COMPLETE=true
-3:TASK_RESULT=PASS_BEGET_NOBLE_FULL_PREMIGRATION_SOURCE_AUDIT
-4:DECISION=ANALYZE_NOBLE_COMPATIBILITY_DOMAIN13_EXTERNAL_SERVICES_AND_VPS_RETIREMENT
-5:NEXT_GATE=READ_EXACT_9106_THEN_BUILD_DESTINATION_PREFLIGHT_OR_TARGETED_RCA
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260922-BEGET-NOBLE-FULL-PREMIGRATION-AUDIT-9106R1-20260922T061734Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-ACT1-PREMUTATION-CONTRACT-RCA-043ACT1RCA2-20260908T150914Z.log|SHA256=df6fa0c417941e38c8ea5c150eaa9efdfe990107eb0e3914ece24252af071a0f|BYTES=2948
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-ACT1-PREMUTATION-CONTRACT-RCA-043ACT1RCA2-20260908T150914Z.log
-2:REFERENCE_CHECK=OK
-3:AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
-4:SB043AR2_RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
-5:SB043AR2_VM170_CLUSTER={"name":"core-apps","node":"pve01","status":"running","type":"qemu"}
-6:SB043AR2_QGA_INPUT_BYTES=5390
-7:SB043AR2_PRESTATE={"act1_epoch_refs":[],"act1_result":{"command_id":"SIGNALBOT-260908-SEALED-ACTIVATION-043ACT1","reason":"RuntimeError:PROJECT_RUNTIME_CONTRACT_UNAVAILABLE","status":"PREMUTATION_HOLD","ts_utc":"2026-09-08T15:03:52.521761+00:00"},"env":{"APP_IMAGE":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","CODE_IDENTITY":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","COLLECTION_START_AT":"2026-09-07T00:00:00+00:00","EXPERIMENT_ID":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","RUNTIME_MANIFEST_ID":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"services":[{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"worker","started_at":"2026-09-06T18:48:20.586788319Z"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"relay","started_at":"2026-09-06T18:48:20.603414848Z"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":19,"running":true,"service":"collector","started_at":"2026-09-08T13:42:51.284969517Z"},{"image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"shadow","started_at":"2026-09-06T18:48:20.768190553Z"}]}
-8:SB043AR2_CONTRACT_OWNERS={"RuntimeArtifactManifest":["runtime_integrity.py"],"RuntimeDeploymentManifestV1":["runtime_manifest.py"],"canonical_hash":["canonical_hash.py"]}
-9:SB043AR2_CONTRACT_SOURCE_DETAILS={"canonical_hash.py":{"sha256":"531237f499b7f2b2c568f4f101f1b451ea9fcd08a4afaff79153ba38a06f2482","symbols":[{"end_lineno":44,"kind":"FunctionDef","lineno":43,"name":"canonical_hash"}]},"runtime_integrity.py":{"sha256":"99859b63e23d10fc051672965123f49d6e79d2ff767871c019ff7bdae2e2e39e","symbols":[{"end_lineno":559,"kind":"ClassDef","lineno":536,"name":"RuntimeArtifactManifest"}]},"runtime_manifest.py":{"sha256":"1064cfb74303fdc8e0bf50bae95b1e755556a5b1dfc28b2b062341becaba08f2","symbols":[{"end_lineno":105,"kind":"ClassDef","lineno":37,"name":"RuntimeDeploymentManifestV1"}]}}
-10:SB043AR2_HOLDS=["CANONICAL_HASH_OWNER_NOT_EXACT"]
-11:SB043AR2_DECISION=HOLD_ACT1_PREMUTATION_CONTRACT_RCA
-12:SB043AR2_MUTATION_SCOPE=NONE_READ_ONLY
-13:SB043AR2_GUEST_RC=3
-14:SB043AR2_GUEST_STDERR_PRESENT=false
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SIGNALBOT-260908-ACT1-PREMUTATION-CONTRACT-RCA-043ACT1RCA2-20260908T150914Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z-20260805T064341Z.log|SHA256=400514b1d631239430dd9e336a4aa4b78f15a3a89a85187925da144e4ea81626|BYTES=858
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z-20260805T064341Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z","command_rc":1,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"cluster_changed":false,"command_id":"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z","command_rc":1,"error":"repository complete scan limits were hit: candidate_file_limit:76da439c1f69f405b434e20b2a3da1c11dc92e38:2270; candidate_file_limit:f9d3ba8caf65005605aa8aee2ede7e4e7e94ee49:2270","error_type":"RuntimeError","gitea_changed":false,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"production_changed":false,"rc":1,"read_only":true,"rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-20260805T062500Z-20260805T064341Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL403-20260921T163616Z.log|SHA256=b54cc5a630188fc8eb9d2a5bc55a124df2eb3fefbc3a28daacb7b77993c79d6d|BYTES=929
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL403-20260921T163616Z.log
-1:DR221_FINAL403_BEGIN=true
-2:COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-FINAL403
-3:PREDECESSOR_COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-RECONCILE402
-4:PREDECESSOR_DECISION=PASS_DR221_CURRENT_PRODUCT_GIT_REMOTE_ACCESS_RECONCILED
-5:IMMUTABLE_PLAN_CHECK=PASS
-6:DR221_FAILURE={"checkpoint":"prestate","error_class":"RuntimeError","error_sha256":"417a03c94212b2c564117c5ab67127d6d0cd85502508518f729955e2ac275319"}
-7:DR221_BACKUP_GENERATION=null
-8:DR221_CLEANUP={"cleanup_started":false,"staging_work_removed":true,"temp_vm_removed":null}
-9:DR221_CLOSED=false
-10:FULL_PRODUCT_REMAINING=1
-11:DECISION=FAIL_DR221_FINAL_CURRENT_PRODUCTION_BACKUP_RESTORE_ACCEPTANCE
-12:NEXT_GATE=RECONCILE_ONLY_EXACT_DR221_FINAL403_FAILURE
-13:ACTIVE_MAJOR_STAGE=DR221
-14:MAJOR_STAGES_REMAINING=1
-15:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260921-NEWFDOM-DR221-FINAL403","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260921-NEWFDOM-DR221-FINAL403-20260921T163616Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IMMUTABLE-ADAPTER-CANDIDATE-STAGE-RCA-FIX-403R1-20260915T061628Z.log|SHA256=f547d97a7dbbd0447340539fe9eb8b88722b0c613c5a1318fb609bfae565ae9b|BYTES=1328
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IMMUTABLE-ADAPTER-CANDIDATE-STAGE-RCA-FIX-403R1-20260915T061628Z.log
-9:SOURCE_IDENTITY_COUNT=17
-10:SOURCE_IDENTITY_SET=PASS
-11:SOURCE_REGISTRY_ORIGIN=PASS_400R1_PROVEN_FILES
-12:SOURCE_REGISTRY_SHA256=308d98eb7042ec702f6e0f2198e7d92380ce51fc2c51f16695ff3719c4e725e2
-13:ADAPTER_SELFTEST_RESULT={"rc":0,"stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":1647,"stdout_sha256":"b41854475ad1f170bc24e52da269a1d6250645e14317a780473d9abc86e6f8e8"}
-14:STAGE_EXCEPTION_CLASS=RuntimeError
-15:STAGE_EXCEPTION_CODE=HISTORICAL_TEST_FAILED_test_perl270.py
-16:STATUS=FAIL
-17:PHASE=CANDIDATE_STAGE
-18:REASON=CANDIDATE_STAGE_FAILED
-19:NEXT_GATE=STOP
-20:CHANGES_MADE=false
-21:MUTATION_OUTCOME=NO_MUTATION
-22:PRODUCTION_PROMOTION=NO
-23:BACKUP_EXECUTIONS=0
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IMMUTABLE-ADAPTER-CANDIDATE-STAGE-RCA-FIX-403R1-20260915T061628Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z-20260805T070503Z.log|SHA256=0b8e29a53c59c5c34cb36c8db9939fc5315a7679d9636937c1e515984f835f85|BYTES=1789
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z-20260805T070503Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z","command_rc":1,"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-2:{"changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z","command_rc":1,"error":"exact homelab-ops bare repository not found in proven local or running-container locations","error_type":"RuntimeError","exact_result_basis":{"blocking_findings":["HANDBOOK_CANDIDATE_AMBIGUOUS","REPOSITORY_TESTS_FAILED","CLUSTER_STATUS_UNREADABLE"],"capsule_sha256":"2d2886a07bf68d97acf144a4d94855d6558cdd0c1277e2c633a5a244f9aebb0f","changes_made":false,"command_id":"HOMELAB-CLUSTER-KB-V1-GITEA-ERROR-READ-ONLY-RETRY-20260805T064700Z","command_rc":0,"control_plane_error":{"message":"existing runner returned a different rc after writing its public artifact; runtime publication or wrapper completion failed","type":"RunnerWrapperMismatch"},"mutation_outcome":"NO_MUTATION","output_complete":true,"output_truncated_in_json":false,"prevention_in_this_probe":"bounded structured output; no complete success logs; no adapter or result-access repair","rollback_restored":null,"rollback_started":false,"runner_document_rc":0,"runner_json_sha256":"f219bbfbfd996e659820b7275a52a14258000d0a27eea3c09793c0eea8cb10c3","runner_rc":75,"runner_status":"OK","runner_text_sha256":"bb714fe8c1973f37e190c01d8582c15f2b92ea0b44adb5a358d5f3d03ba1848a","runner_wrapper_matches_document":false,"state_status":"FAIL"},"mutation_outcome":"NO_MUTATION","output_truncated_in_json":false,"rc":1,"read_only":true,"rollback_restored":null,"rollback_started":false,"schema":1,"status":"FAIL"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-CLUSTER-KB-V1-BLOCKER-RESOLUTION-READ-ONLY-20260805T070400Z-20260805T070503Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z.log|SHA256=8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c|BYTES=1547
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z.log
-11:STALE_491_SUCCESS_PRESENT=NO
-12:STALE_491_ARTIFACTS_PRESERVED=YES
-13:PREPROOF_DUE_TARGET=ct110
-14:PREFLIGHT_486_BASELINE=PASS
-15:V2_TIMER_RUNTIME_STOP=PASS
-16:COMMON_HEAVY_LOCK_ACQUIRED=YES
-17:PATCHED_LEGACY_ENGINE_SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598
-18:PATCHED_WRAPPER_SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495
-19:PVE265_HELPER_SHA256=de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220
-20:ROLLBACK_TO_486=STARTED
-21:ROLLBACK_TO_486=PASS
-22:COMMON_HEAVY_LOCK_RELEASED=YES
-23:STATUS=FAIL
-24:PHASE=CANDIDATE_BUILD
-25:REASON=FAILED_CLOSED
-26:EXCEPTION_CLASS=builtins.RuntimeError
-27:EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3
-28:PRODUCTION_PROMOTION=NO
-29:RETENTION_MUTATION=NO
-30:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-31:CLOUD_DELETIONS=0
-32:CHANGES_MADE=true
-33:ROLLBACK_STARTED=true
-34:ROLLBACK_RESTORED=true
-35:MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1-20260921T015910Z.log|SHA256=77785506deb1ead492ef78b79376b3a603fe7aa844160caffe51d81361d55184|BYTES=1311
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1-20260921T015910Z.log
-1:FROZEN_FIX10_PATHSET={"path_count":59,"zip_sha256":"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e"}
-2:FULL_BUNDLE_DIAG={"err_truncated":false,"exitcode":33,"exited":1,"failure_class":"GUEST_EXIT_NONZERO","guest_err_bytes":0,"guest_err_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","guest_out_bytes":0,"guest_out_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","json_parse":true,"marker_present":false,"out_truncated":false,"ssh_rc":0,"ssh_stderr_bytes":0,"ssh_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","ssh_stdout_bytes":40,"ssh_stdout_sha256":"7418e4f9e81fccd947927bfdf281ba0fe2377ad4e83c75b1a0f51455b6d81a84"}
-3:GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_ERROR_CLASS=RuntimeError
-4:GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_ERROR_SHA256=b176c49d737de30d3904cdad3210688d7dc03c01de20e4a1406933efb0748148
-5:GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_COMPLETE=False
-6:NO_MUTATION=True
-7:PRODUCT_CHECKPOINTS_REMAINING=14
-8:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14
-9:TASK_RESULT=PVEPRO_GRAM_SUPPORT_SOURCE_TRANSPORT_RCA_FAILED
-10:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-SOURCE-TRANSPORT-RCA-READONLY-841R1-20260921T015910Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260912-INFRA-DR-BACKUPV2-CANARY-PRESTATE-251R1-20260911T231644Z.log|SHA256=d692db1aee85be5db7f37e8d453659c2884ff5f6816410c339298d50248f55bb|BYTES=66524
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260912-INFRA-DR-BACKUPV2-CANARY-PRESTATE-251R1-20260911T231644Z.log
-34:FILE_004_UID=0
-35:FILE_004_GID=0
-36:FILE_004_SIZE=163
-37:FILE_004_MTIME_UTC=2026-07-03T11:07:11Z
-38:FILE_004_SHA256=28ceb1a533a392af460fc8a42886912fcd256ee6fe8da89460e6c8bdb6096ef1
-39:FILE_005_PATH=/etc/systemd/system/homelab-app-cloud-quorum-queue.service
-40:FILE_005_MODE=0644
-41:FILE_005_UID=0
-42:FILE_005_GID=0
-43:FILE_005_SIZE=247
-44:FILE_005_MTIME_UTC=2026-08-09T00:52:41Z
-45:FILE_005_SHA256=70b78ba529c270ec61d26a123d656385a8b2e2e4206ccf623111fa6ed3854602
-46:FILE_006_PATH=/etc/systemd/system/homelab-app-cloud-quorum-queue.timer
-47:FILE_006_MODE=0644
-48:FILE_006_UID=0
-49:FILE_006_GID=0
-50:FILE_006_SIZE=200
-51:FILE_006_MTIME_UTC=2026-08-10T10:51:48Z
-52:FILE_006_SHA256=af2eedce3df53029b591d31715a3f3e6688ddb997b4823f487e70c339ce88078
-53:FILE_007_PATH=/etc/systemd/system/homelab-backup-audit.service
-54:FILE_007_MODE=0644
-55:FILE_007_UID=0
-664:FILE_094_UID=0
-665:FILE_094_GID=0
-666:FILE_094_SIZE=211
-667:FILE_094_MTIME_UTC=2026-06-27T02:08:30Z
-668:FILE_094_SHA256=27dbf6423d02e006dfb8230289fd0dffe1a27ee34380d8b9a78a33e393bbe92a
-669:FILE_095_PATH=/etc/systemd/system/homelab-vm-cloud-quorum-queue.service
-670:FILE_095_MODE=0644
-671:FILE_095_UID=0
-672:FILE_095_GID=0
-673:FILE_095_SIZE=240
-674:FILE_095_MTIME_UTC=2026-08-08T07:11:14Z
-675:FILE_095_SHA256=6aa2c72d3eda795f53d25292a11225ae13b418651cef9cce040564ee873fe759
-676:FILE_096_PATH=/etc/systemd/system/homelab-vm-cloud-quorum-queue.timer
-677:FILE_096_MODE=0644
-678:FILE_096_UID=0
-679:FILE_096_GID=0
-680:FILE_096_SIZE=244
-681:FILE_096_MTIME_UTC=2026-08-10T10:51:48Z
-682:FILE_096_SHA256=9a78c9ea507116cbb9f5645fe697e34964c905b017cc98b17977cd5006aa5050
-683:FILE_097_PATH=/etc/systemd/system/homelab-vm-local-dumps-2cloud.service.d/20-drain-queue.conf
-684:FILE_097_MODE=0644
-685:FILE_097_UID=0
-930:FILE_132_UID=0
-931:FILE_132_GID=0
-932:FILE_132_SIZE=1806
-933:FILE_132_MTIME_UTC=2026-07-11T05:44:41Z
-934:FILE_132_SHA256=6deef30b4708a7e5b2ac0f0d98bb6b37b22d858afde994483b67baa18dffdc2a
-935:FILE_133_PATH=/usr/local/sbin/homelab-app-cloud-quorum-queue
-936:FILE_133_MODE=0755
-937:FILE_133_UID=0
-938:FILE_133_GID=0
-939:FILE_133_SIZE=7855
-940:FILE_133_MTIME_UTC=2026-09-04T06:25:07Z
-941:FILE_133_SHA256=1f959049cca2710a2cb820cc1f6acab16399c6b6711b9e4522e0ecd49e0e4650
-942:FILE_134_PATH=/usr/local/sbin/homelab-backup-audit
-943:FILE_134_MODE=0755
-944:FILE_134_UID=0
-1157:MARKER_009_ID=STATE_ROOT
-1158:MARKER_009_LINES=11
-1159:MARKER_010_FILE=/usr/local/sbin/backupctl
-1160:MARKER_010_ID=STATE_ROOT
-1161:MARKER_010_LINES=5
-1162:MARKER_011_FILE=/usr/local/sbin/homelab-app-cloud-quorum-queue
-1163:MARKER_011_ID=SEALED
-1164:MARKER_011_LINES=41,43,45,56,86,125,126,134,140
-1165:MARKER_012_FILE=/usr/local/sbin/homelab-backup-audit
-1166:MARKER_012_ID=CLOUD_QUORUM_SCHEMA
-1167:MARKER_012_LINES=316
-1168:MARKER_013_FILE=/usr/local/sbin/homelab-backup-audit
-1169:MARKER_013_ID=FIXED_MAIL_01
-1170:MARKER_013_LINES=64
-1171:MARKER_014_FILE=/usr/local/sbin/homelab-backup-audit
-1172:MARKER_014_ID=FIXED_MAIL_02
-1173:MARKER_014_LINES=65
-1174:MARKER_015_FILE=/usr/local/sbin/homelab-backup-audit
-1175:MARKER_015_ID=CLOUD_QUORUM
-1176:MARKER_015_LINES=316
-1177:MARKER_016_FILE=/usr/local/sbin/homelab-backup-audit
-1178:MARKER_016_ID=STATE_ROOT
-1179:MARKER_016_LINES=60,61,132
-1180:MARKER_017_FILE=/usr/local/sbin/homelab-backup-audit
-1181:MARKER_017_ID=SEALED
-1182:MARKER_017_LINES=227,228,267,268,315,316,325,485
-1183:MARKER_018_FILE=/usr/local/sbin/homelab-backup-audit
-1184:MARKER_018_ID=LOCAL_CLEANUP
-1197:MARKER_022_LINES=6,61
-1198:MARKER_023_FILE=/usr/local/sbin/homelab-backup-matrix-status
-1199:MARKER_023_ID=STATE_ROOT
-1200:MARKER_023_LINES=3,4
-1201:MARKER_024_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1202:MARKER_024_ID=CLOUD_QUORUM_SCHEMA
-1203:MARKER_024_LINES=74,256
-1204:MARKER_025_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1205:MARKER_025_ID=FIXED_MAIL_01
-1206:MARKER_025_LINES=15
-1207:MARKER_026_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1208:MARKER_026_ID=FIXED_MAIL_02
-1209:MARKER_026_LINES=16
-1210:MARKER_027_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1211:MARKER_027_ID=CLOUD_QUORUM
-1212:MARKER_027_LINES=74
-1213:MARKER_028_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1214:MARKER_028_ID=STATE_ROOT
-1215:MARKER_028_LINES=7,8,26
-1216:MARKER_029_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1217:MARKER_029_ID=SEALED
-1218:MARKER_029_LINES=74,83,88,260,266,268
-1219:MARKER_030_FILE=/usr/local/sbin/homelab-backup-retention-gc
-1220:MARKER_030_ID=LOCAL_CLEANUP
-1239:MARKER_036_LINES=20
-1240:MARKER_037_FILE=/usr/local/sbin/homelab-control-backup
-1241:MARKER_037_ID=FIXED_MAIL_02
-1242:MARKER_037_LINES=21
-1243:MARKER_038_FILE=/usr/local/sbin/homelab-control-backup
-1244:MARKER_038_ID=CLOUD_QUORUM
-1245:MARKER_038_LINES=105
-1246:MARKER_039_FILE=/usr/local/sbin/homelab-control-backup
-1247:MARKER_039_ID=STATE_ROOT
-1248:MARKER_039_LINES=7,9
-1249:MARKER_040_FILE=/usr/local/sbin/homelab-control-backup
-1250:MARKER_040_ID=SEALED
-1251:MARKER_040_LINES=43,114,129,142
-1252:MARKER_041_FILE=/usr/local/sbin/homelab-dependency-map-check
-1253:MARKER_041_ID=STATE_ROOT
-1278:MARKER_049_LINES=12
-1279:MARKER_050_FILE=/usr/local/sbin/homelab-rotating-boot-drill
-1280:MARKER_050_ID=CHUNK_512M_BYTES
-1281:MARKER_050_LINES=403
-1282:MARKER_051_FILE=/usr/local/sbin/homelab-rotating-boot-drill
-1283:MARKER_051_ID=CLOUD_QUORUM
-1284:MARKER_051_LINES=384
-1285:MARKER_052_FILE=/usr/local/sbin/homelab-rotating-boot-drill
-1286:MARKER_052_ID=SEALED
-1287:MARKER_052_LINES=252,380
-1288:MARKER_053_FILE=/usr/local/sbin/homelab-rotating-boot-drill
-1289:MARKER_053_ID=LOCAL_CLEANUP
-1290:MARKER_053_LINES=384
-1291:MARKER_054_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1292:MARKER_054_ID=CLOUD_QUORUM_SCHEMA
-1293:MARKER_054_LINES=23
-1294:MARKER_055_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1295:MARKER_055_ID=FIXED_MAIL_01
-1296:MARKER_055_LINES=40
-1297:MARKER_056_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1298:MARKER_056_ID=FIXED_MAIL_02
-1299:MARKER_056_LINES=41
-1300:MARKER_057_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1301:MARKER_057_ID=CLOUD_QUORUM
-1302:MARKER_057_LINES=25
-1303:MARKER_058_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1304:MARKER_058_ID=STATE_ROOT
-1305:MARKER_058_LINES=7,8
-1306:MARKER_059_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1307:MARKER_059_ID=SEALED
-1308:MARKER_059_LINES=24,52,74
-1309:MARKER_060_FILE=/usr/local/sbin/homelab-rotating-boot-drill-state-export
-1310:MARKER_060_ID=LOCAL_CLEANUP
-1316:MARKER_062_ID=STATE_ROOT
-1317:MARKER_062_LINES=8,43
-1318:MARKER_063_FILE=/usr/local/sbin/homelab-service-registry-check
-1319:MARKER_063_ID=STATE_ROOT
-1320:MARKER_063_LINES=14
-1321:MARKER_064_FILE=/usr/local/sbin/homelab-vm-cloud-quorum-queue
-1322:MARKER_064_ID=SEALED
-1323:MARKER_064_LINES=80,82,84,95,130,168,169
-1324:MARKER_065_FILE=/usr/local/sbin/skladchik-reports-monitor-backup
-1325:MARKER_065_ID=FIXED_MAIL_01
-1326:MARKER_065_LINES=11
-1327:MARKER_066_FILE=/usr/local/sbin/skladchik-reports-monitor-backup
-1328:MARKER_066_ID=FIXED_MAIL_02
-1329:MARKER_066_LINES=12
-1330:MARKER_067_FILE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check
-1349:UNIT_003_ENABLED=static
-1350:UNIT_004_NAME=homelab-alerting-health.timer
-1351:UNIT_004_FILE_STATE=enabled
-1352:UNIT_004_ACTIVE=active
-1353:UNIT_004_ENABLED=enabled
-1354:UNIT_005_NAME=homelab-app-cloud-quorum-queue.service
-1355:UNIT_005_FILE_STATE=static
-1356:UNIT_005_ACTIVE=inactive
-1357:UNIT_005_ENABLED=static
-1358:UNIT_006_NAME=homelab-app-cloud-quorum-queue.timer
-1359:UNIT_006_FILE_STATE=enabled
-1360:UNIT_006_ACTIVE=active
-1361:UNIT_006_ENABLED=enabled
-1362:UNIT_007_NAME=homelab-backup-audit.service
-1363:UNIT_007_FILE_STATE=static
-1364:UNIT_007_ACTIVE=inactive
-1365:UNIT_007_ENABLED=static
-1366:UNIT_008_NAME=homelab-backup-audit.timer
-1367:UNIT_008_FILE_STATE=enabled
-1705:UNIT_092_ENABLED=static
-1706:UNIT_093_NAME=homelab-storage-capacity.timer
-1707:UNIT_093_FILE_STATE=enabled
-1708:UNIT_093_ACTIVE=active
-1709:UNIT_093_ENABLED=enabled
-1710:UNIT_094_NAME=homelab-vm-cloud-quorum-queue.service
-1711:UNIT_094_FILE_STATE=static
-1712:UNIT_094_ACTIVE=inactive
-1713:UNIT_094_ENABLED=static
-1714:UNIT_095_NAME=homelab-vm-cloud-quorum-queue.timer
-1715:UNIT_095_FILE_STATE=enabled
-1716:UNIT_095_ACTIVE=active
-1717:UNIT_095_ENABLED=enabled
-1718:UNIT_096_NAME=homelab-vps-identity-audit.service
-1719:UNIT_096_FILE_STATE=static
-1720:UNIT_096_ACTIVE=inactive
-1721:UNIT_096_ENABLED=static
-1722:UNIT_097_NAME=homelab-vps-identity-audit.timer
-1723:UNIT_097_FILE_STATE=enabled
-1735:STATE_TOP_002_FILES=215
-1736:STATE_TOP_002_DIRS=7
-1737:STATE_TOP_003_NAME=apps
-1738:STATE_TOP_003_FILES=41
-1739:STATE_TOP_003_DIRS=19
-1740:STATE_TOP_004_NAME=cloud-quorum
-1741:STATE_TOP_004_FILES=473
-1742:STATE_TOP_004_DIRS=14
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260912-INFRA-DR-BACKUPV2-CANARY-PRESTATE-251R1-20260911T231644Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2-20260918T230443Z.log|SHA256=016c1a5c3b52a4d83959eb059517d71f62bf5ea94f5dbb8c73ace33e96198b0e|BYTES=591
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2-20260918T230443Z.log
-1:NEWFI119R2_BEGIN
-2:COMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2
-3:NEWFI119R2_FORUM_ROUTE_PRECHECK={"policy":"HTTP_200_OR_403","routes":7}
-4:NEWFI119R2_PUBLIC_PRECHECK=PASS
-5:NEWFI119R2_SAFE_REPORT={"changes_made":false,"decision":"FAIL_CONTENT207_HOLD","error":"RuntimeError:MARKER:staging:f5a27a04869135710514a29a3a7db57b149d47261d5af1a0315f4bf5de2bcf17","rollback_restored":null,"rollback_started":false}
-6:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2-20260918T230443Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1-20260921T032838Z.log|SHA256=4f24edf07a28a8ad12035dec1b9071bb1119041b2457ef1942b3815508d2c62e|BYTES=1146
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1-20260921T032838Z.log
-1:COMMAND_ID=SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1
-2:MODE=read-only
-3:COMPONENT=pvepro-gram-support-template-permission-metadata-rca-readonly
-4:PRODUCTION_HOST={"all_link_down":false,"config_sha256":"ebd2b7d44ab58a222b4fd5a7dcd9358d3082e593bd70fb07c2331c70f22e82ab","lock":null,"name":"pvepro-prod","snapshots":[],"status":"running","vmstate":null}
-5:STAGING_HOST={"all_link_down":true,"config_sha256":"43761ab3d555625387944883cd0229cde2121aba005a715dffe20465041e8aa9","lock":null,"name":"pvepro-staging-v1","snapshots":[],"status":"stopped","vmstate":null}
-6:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_CLASS=RuntimeError
-7:GRAM_SUPPORT_AUX_METADATA_RCA_ERROR_SHA256=4222b751d8b413d590c8e1b968ddffdbbd193fe70664f2dae559a0452f4d2d66
-8:NO_MUTATION=true
-9:PRODUCT_CHECKPOINTS_REMAINING=14
-10:PLANNING_MINIMUM_MAJOR_COMMANDS_REMAINING=14
-11:TASK_RESULT=PVEPRO_GRAM_SUPPORT_TEMPLATE_PERMISSION_METADATA_RCA_FAILED
-12:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-PVEPRO-GRAM-SUPPORT-TEMPLATE-PERMISSION-METADATA-RCA-READONLY-847R1-20260921T032838Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log|SHA256=eadab1eba08cb0aa59cf3e89d0217dff44bbca0cfd40c94c3087ec0737596519|BYTES=14751
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log
-2:COMMAND_ID=SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1
-3:MODE=change
-4:COMPONENT=homelab-backup-rpo-refresh
-5:MUTATION_BOUNDARY=START_EXISTING_APP_AND_BACKUP_SERVICES_ONLY_WHEN_RPO_STALE;NO_TIMER_DISABLE;NO_KILL;NO_SIGNAL;NO_LOCK_BREAK;NO_CONFIG_CHANGE;NO_GIT_WRITE;NO_DELETE
-6:RPO_BEFORE=[{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-filebrowser"},{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-hbarhub"},{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-immich"},{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-skladchik-reports-monitor"},{"age_seconds":84882,"freshness_limit_seconds":72000,"kind":"VM","logical_id":"vm110"},{"age_seconds":77981,"freshness_limit_seconds":72000,"kind":"VM","logical_id":"vm111"}]
-7:BACKUP_STATE_BEFORE={"heavy_lock_free":true,"mainpid":0}
-8:RPO_LOOP_1=[{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-filebrowser"},{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-hbarhub"},{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-immich"},{"decision":"BACKUP_DUE","freshness_plan_rc":0,"kind":"APP","logical_id":"app-skladchik-reports-monitor"},{"age_seconds":84884,"freshness_limit_seconds":72000,"kind":"VM","logical_id":"vm110"},{"age_seconds":77983,"freshness_limit_seconds":72000,"kind":"VM","logical_id":"vm111"}]
-9:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=60 active=success sub=activating result=start
-10:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=120 active=success sub=activating result=start
-11:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=180 active=success sub=activating result=start
-12:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=240 active=success sub=inactive result=dead
-13:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=300 active=success sub=inactive result=dead
-14:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=360 active=success sub=inactive result=dead
-15:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=420 active=success sub=inactive result=dead
-16:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=480 active=success sub=inactive result=dead
-17:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=540 active=success sub=inactive result=dead
-18:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=600 active=success sub=inactive result=dead
-19:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=660 active=success sub=inactive result=dead
-20:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=720 active=success sub=inactive result=dead
-21:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=780 active=success sub=inactive result=dead
-22:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=840 active=success sub=inactive result=dead
-23:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=900 active=success sub=inactive result=dead
-24:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=960 active=success sub=inactive result=dead
-25:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1020 active=success sub=inactive result=dead
-26:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1080 active=success sub=inactive result=dead
-27:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1140 active=success sub=inactive result=dead
-28:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1200 active=success sub=inactive result=dead
-29:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1260 active=success sub=inactive result=dead
-30:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1321 active=success sub=inactive result=dead
-31:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1381 active=success sub=inactive result=dead
-32:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1441 active=success sub=inactive result=dead
-33:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1501 active=success sub=inactive result=dead
-34:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1561 active=success sub=inactive result=dead
-35:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1621 active=success sub=inactive result=dead
-36:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1681 active=success sub=inactive result=dead
-37:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1741 active=success sub=inactive result=dead
-38:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1801 active=success sub=inactive result=dead
-39:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1861 active=success sub=inactive result=dead
-40:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1921 active=success sub=inactive result=dead
-41:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=1981 active=success sub=inactive result=dead
-42:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2041 active=success sub=inactive result=dead
-43:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2101 active=success sub=inactive result=dead
-44:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2161 active=success sub=inactive result=dead
-45:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2221 active=success sub=inactive result=dead
-46:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2281 active=success sub=inactive result=dead
-47:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2341 active=success sub=inactive result=dead
-48:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2401 active=success sub=activating result=start
-49:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2461 active=success sub=inactive result=dead
-50:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2521 active=success sub=inactive result=dead
-51:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2581 active=success sub=inactive result=dead
-52:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2642 active=success sub=inactive result=dead
-53:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2702 active=success sub=inactive result=dead
-54:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2762 active=success sub=inactive result=dead
-55:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2822 active=success sub=inactive result=dead
-56:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2882 active=success sub=inactive result=dead
-57:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=2942 active=success sub=inactive result=dead
-58:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3002 active=success sub=inactive result=dead
-59:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3062 active=success sub=inactive result=dead
-60:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3122 active=success sub=inactive result=dead
-61:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3182 active=success sub=inactive result=dead
-62:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3242 active=success sub=inactive result=dead
-63:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3302 active=success sub=inactive result=dead
-64:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3362 active=success sub=inactive result=dead
-65:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3422 active=success sub=inactive result=dead
-66:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3482 active=success sub=inactive result=dead
-67:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3542 active=success sub=inactive result=dead
-68:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3602 active=success sub=inactive result=dead
-69:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3662 active=success sub=inactive result=dead
-70:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3722 active=success sub=inactive result=dead
-71:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3782 active=success sub=inactive result=dead
-72:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3842 active=success sub=inactive result=dead
-73:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3902 active=success sub=inactive result=dead
-74:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=3962 active=success sub=inactive result=dead
-75:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4023 active=success sub=inactive result=dead
-76:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4083 active=success sub=inactive result=dead
-77:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4143 active=success sub=inactive result=dead
-78:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4203 active=success sub=inactive result=dead
-79:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4263 active=success sub=inactive result=dead
-80:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4323 active=success sub=inactive result=dead
-81:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4383 active=success sub=inactive result=dead
-82:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4443 active=success sub=inactive result=dead
-83:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4503 active=success sub=inactive result=dead
-84:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4563 active=success sub=inactive result=dead
-85:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4623 active=success sub=inactive result=dead
-86:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4683 active=success sub=inactive result=dead
-87:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4743 active=success sub=inactive result=dead
-88:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4803 active=success sub=inactive result=dead
-89:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4863 active=success sub=inactive result=dead
-90:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4923 active=success sub=inactive result=dead
-91:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=4983 active=success sub=inactive result=dead
-92:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5043 active=success sub=inactive result=dead
-93:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5103 active=success sub=inactive result=dead
-94:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5163 active=success sub=inactive result=dead
-95:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5223 active=success sub=inactive result=dead
-96:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5283 active=success sub=inactive result=dead
-97:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5344 active=success sub=inactive result=dead
-98:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5404 active=success sub=inactive result=dead
-99:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5464 active=success sub=inactive result=dead
-100:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5524 active=success sub=inactive result=dead
-101:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5584 active=success sub=inactive result=dead
-102:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5644 active=success sub=inactive result=dead
-103:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5704 active=success sub=inactive result=dead
-104:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5764 active=success sub=inactive result=dead
-105:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5824 active=success sub=inactive result=dead
-106:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5884 active=success sub=inactive result=dead
-107:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=5944 active=success sub=inactive result=dead
-108:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6004 active=success sub=inactive result=dead
-109:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6064 active=success sub=inactive result=dead
-110:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6124 active=success sub=inactive result=dead
-111:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6184 active=success sub=inactive result=dead
-112:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6244 active=success sub=inactive result=dead
-113:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6304 active=success sub=inactive result=dead
-114:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6364 active=success sub=inactive result=dead
-115:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6424 active=success sub=inactive result=dead
-116:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6484 active=success sub=inactive result=dead
-117:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6544 active=success sub=inactive result=dead
-118:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6604 active=success sub=inactive result=dead
-119:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6664 active=success sub=inactive result=dead
-120:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6725 active=success sub=inactive result=dead
-121:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6785 active=success sub=inactive result=dead
-122:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6845 active=success sub=inactive result=dead
-123:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6905 active=success sub=inactive result=dead
-124:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=6965 active=success sub=inactive result=dead
-125:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7025 active=success sub=inactive result=dead
-126:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7085 active=success sub=inactive result=dead
-127:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7145 active=success sub=inactive result=dead
-128:UNIT_WAIT unit=homelab-app-cloud-quorum-queue.service elapsed=7205 active=success sub=inactive result=dead
-129:APP_REFRESH_RUN={"iteration":1,"meta":{"active":"success","elapsed":7205,"result":"TIMEOUT","start_rc":0,"sub":"inactive"},"ok":false,"unit":"homelab-app-cloud-quorum-queue.service"}
-130:FAILURE=APP_REFRESH_SERVICE_FAILED
-131:TASK_RESULT=FAIL_RPO_REFRESH
-132:HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1","status":"FAIL","changes_made":true,"rollback_started":false,"rollback_restored":null}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-CLOUD-ADAPTER-MAPPING-CONSTRUCTOR-CONTRACT-PROOF-430R1-20260915T144509Z.log|SHA256=3fbfdc5678033def49db75960de4c40eeb2d4a2e1737df79c5524d72e700a5e9|BYTES=57660
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-CLOUD-ADAPTER-MAPPING-CONSTRUCTOR-CONTRACT-PROOF-430R1-20260915T144509Z.log
-41:V2CORE_VALIDATE_INVENTORY_CONTRACT={"signature":"(entries)","source":"def validate_inventory(entries):\n    require(type(entries) is list and len(entries)==EXPECTED_ACCOUNTS,'INVENTORY_COUNT')\n    for e in entries:\n        require(type(e) is dict and set(e)==ENTRY_KEYS,'INVENTORY_SCHEMA')\n        require(valid_hash(e['account_id']) and valid_name(e['crypt_remote']) and valid_name(e['mail_remote']),\n                'INVENTORY_IDENTITY')\n        require(e['crypt_remote']!=e['mail_remote'] and safe_path(e['wrapped_path']),'INVENTORY_MAPPING')\n    for key in ('account_id','crypt_remote','mail_remote'):\n        require(len({e[key] for e in entries})==EXPECTED_ACCOUNTS,'DUPLICATE_ACCOUNT_OR_REMOTE')\n    return True\n","source_sha256":"907c873e0a910ac81fc84cd6ca9ec71fb9d503ee5099e46212e1abecd46fee91"}
-42:V2CORE_ALLOCATE_CONTRACT={"signature":"(entries, quotas, payload_bytes, reserve_bytes, now)","source":"def allocate(entries, quotas, payload_bytes, reserve_bytes, now):\n    \"\"\"Size-bound deterministic 2-of-13 plan. No implicit reserve or cloud call.\"\"\"\n    validate_inventory(entries)\n    require(type(quotas) is dict and integer(now),'QUOTA_INPUT_INVALID')\n    need=required_space(payload_bytes,reserve_bytes)\n    eligible=[]; excluded=[]\n    for e in entries:\n        q=quotas.get(e['account_id']); reason=quota_reason(q,now)\n        if reason is None and q['free']=2,'TWO_DISTINCT_ELIGIBLE_ACCOUNTS_REQUIRED')\n    return {'schema_version':1,'payload_bytes':payload_bytes,'reserve_bytes':reserve_bytes,\n            'required_free_bytes':need,'part_bytes':PART_BYTES,'selected':eligible[:2],\n            'eligible_count':len(eligible),'excluded':sorted(excluded,key=lambda e:e['account_id']),\n            'selection_rule':'FREE_DESC_ACCOUNT_ID_ASC_REMOTE_ASC','planned_at':now}\n","source_sha256":"6733fa88712b33cc904dfc6c868eec3ebdca596419a062b037b1549a19ec0507"}
-43:V2CORE_MAKE_MANIFEST_CONTRACT={"signature":"(generation, logical_id, payload_bytes, payload_sha256, parts, allocation)","source":"def make_manifest(generation,logical_id,payload_bytes,payload_sha256,parts,allocation):\n    require(type(allocation) is dict and allocation.get('payload_bytes')==payload_bytes,'ALLOCATION_PAYLOAD_MISMATCH')\n    require(type(allocation.get('payload_bytes')) is int,'ALLOCATION_PAYLOAD_TYPE')\n    need=required_space(payload_bytes,allocation.get('reserve_bytes'))\n    require(type(allocation.get('required_free_bytes')) is int and allocation['required_free_bytes']==need\n            and allocation.get('part_bytes')==PART_BYTES,'ALLOCATION_BUDGET_MISMATCH')\n    selected=allocation.get('selected')\n    require(type(selected) is list and len(selected)==2,'ALLOCATION_QUORUM')\n    for entry in selected:\n        require(type(entry) is dict and integer(entry.get('free_bytes')) and entry['free_bytes']>=need,\n                'ALLOCATION_FREE_SPACE_MISMATCH')\n    try:\n        replicas=[{'account_id':e['account_id'],'crypt_remote':e['crypt_remote']} for e in selected]\n        namespace='backup-v2/targets/'+logical_id+'/generations/'+generation\n    except (TypeError,KeyError):\n        raise Rejected('ALLOCATION_SCHEMA') from None\n    m={'schema_version':2,'state':'PREPARED','generation':generation,'logical_id':logical_id,'namespace':namespace,\n       'payload_bytes':payload_bytes,'payload_sha256':payload_sha256,'part_bytes':PART_BYTES,\n       'parts':json.loads(canonical_bytes(parts)),'replicas':replicas}\n    validate_manifest(m)\n    return m\n","source_sha256":"53af74927268c9aa3ba751225cb2994e517a38807835341e7b82e215fb0c0cda"}
-44:V2CORE_QUOTA_REASON_CONTRACT={"signature":"(q, now)","source":"def quota_reason(q, now):\n    if type(q) is not dict: return 'NO_QUOTA'\n    if q.get('ok') is not True: return 'ABOUT_FAILED'\n    if not integer(q.get('observed_at')): return 'QUOTA_TIME_INVALID'\n    if q['observed_at']>now: return 'QUOTA_FROM_FUTURE'\n    if now-q['observed_at']>MAX_QUOTA_AGE_SECONDS: return 'QUOTA_STALE'\n    if not integer(q.get('total'),1) or not integer(q.get('used')) or not integer(q.get('free')):\n        return 'QUOTA_FIELDS_INVALID'\n    if q['used']+q['free']>q['total']: return 'QUOTA_INCONSISTENT'\n    return None\n","source_sha256":"9c1df5fc245f3aea3ae88b08a0073f11e33bdfa2a082cbaa394d5952b9c3d298"}
-45:CLOUDLARGE_REQUIRED_METHODS_PRESENT=NO
-46:PROOF_EXCEPTION_CLASS=builtins.RuntimeError
-47:PROOF_EXCEPTION_MESSAGE_SHA256=5bd3a5256c322cd1546a6b63d6b2d21d4c3c0d1b2f1386678f3036dc70061863
-48:STATUS=FAIL
-49:PHASE=CLOUD_ADAPTER_MAPPING_CONSTRUCTOR_CONTRACT_PROOF
-50:REASON=CLOUDLARGE_REQUIRED_METHODS
-51:NEXT_GATE=STOP
-52:CHANGES_MADE=false
-53:MUTATION_OUTCOME=NO_MUTATION
-54:PRODUCTION_PROMOTION=NO
-55:BACKUP_EXECUTIONS=0
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-CLOUD-ADAPTER-MAPPING-CONSTRUCTOR-CONTRACT-PROOF-430R1-20260915T144509Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log|SHA256=e28442fce699135a678d87f47199ecead0bb39ff250c5f9b54c7acbfe40c08d7|BYTES=42268
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log
-75:OVERLAY_CONTEXT_entry504_py_02_LINE_0051=else:
-76:OVERLAY_CONTEXT_entry504_py_02_LINE_0052=continue
-77:OVERLAY_CONTEXT_entry504_py_03_RANGE=58-70
-78:OVERLAY_CONTEXT_entry504_py_03_LINE_0058=found[id(g)]=g
-79:OVERLAY_CONTEXT_entry504_py_03_LINE_0059=if len(found)!=1:
-80:OVERLAY_CONTEXT_entry504_py_03_LINE_0060=raise RuntimeError('LEGACY_PROVENANCE_CARDINALITY')
-81:OVERLAY_CONTEXT_entry504_py_03_LINE_0061=g=next(iter(found.values()))
-82:OVERLAY_CONTEXT_entry504_py_03_LINE_0062=required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
-83:OVERLAY_CONTEXT_entry504_py_03_LINE_0063='_default_unprivileged_lxc','mapped_scratch_probe','_stream_argv_to_local','run',
-84:OVERLAY_CONTEXT_entry504_py_03_LINE_0064='choose_due_target','write_state','epoch')
-85:OVERLAY_CONTEXT_entry504_py_03_LINE_0065=if any(not callable(g.get(n)) for n in required):
-86:OVERLAY_CONTEXT_entry504_py_03_LINE_0066=raise RuntimeError('LEGACY_PROVENANCE_API')
-87:OVERLAY_CONTEXT_entry504_py_03_LINE_0067=original=g['capture_pve_guest']
-88:OVERLAY_CONTEXT_entry504_py_03_LINE_0068=proxy=_GlobalsProxy(g)
-89:OVERLAY_CONTEXT_entry504_py_03_LINE_0069=if not isinstance(g.get('SCP'),str) or not g['SCP'].startswith('/'):
-90:OVERLAY_CONTEXT_entry504_py_03_LINE_0070=raise RuntimeError('LEGACY_SCP_API')
-91:OVERLAY_CONTEXT_entry504_py_04_RANGE=74-131
-92:OVERLAY_CONTEXT_entry504_py_04_LINE_0074=patched=lxc_adapter.bind(proxy,qemu_patched)
-93:OVERLAY_CONTEXT_entry504_py_04_LINE_0075=if not callable(patched):
-94:OVERLAY_CONTEXT_entry504_py_04_LINE_0076=raise RuntimeError('LXC_ADAPTER_BIND_RESULT')
-95:OVERLAY_CONTEXT_entry504_py_04_LINE_0077=g['capture_pve_guest']=patched
-96:OVERLAY_CONTEXT_entry504_py_04_LINE_0078=scheduler_wired=scheduler_adapter.bind(proxy,g['choose_due_target'],g['write_state'])
-97:OVERLAY_CONTEXT_entry504_py_04_LINE_0079=if g.get('choose_due_target') is not scheduler_wired['choose_due_target'] or g.get('write_state') is not scheduler_wired['write_state']:
-98:OVERLAY_CONTEXT_entry504_py_04_LINE_0080=raise RuntimeError('SCHEDULER_ADAPTER_BIND_RESULT')
-99:OVERLAY_CONTEXT_entry504_py_04_LINE_0081=return {'legacy_globals':g,'legacy':proxy,'original_capture':original,'qemu_patched_capture':qemu_patched,'patched_capture':patched,'scheduler_wired':scheduler_wired}
-100:OVERLAY_CONTEXT_entry504_py_04_LINE_0082=
-101:OVERLAY_CONTEXT_entry504_py_04_LINE_0083=def _load():
-102:OVERLAY_CONTEXT_entry504_py_04_LINE_0084=_verify_base()
-103:OVERLAY_CONTEXT_entry504_py_04_LINE_0085=sys.dont_write_bytecode=True
-104:OVERLAY_CONTEXT_entry504_py_04_LINE_0086=sys.path.insert(0,str(BASE))
-105:OVERLAY_CONTEXT_entry504_py_04_LINE_0087=wrapper=importlib.import_module('wrapper')
-106:OVERLAY_CONTEXT_entry504_py_04_LINE_0088=# Baseline accepted wrapper selftest stays the compatibility gate; no full old legacy selftest is reintroduced.
-107:OVERLAY_CONTEXT_entry504_py_04_LINE_0089=wrapper.selftest()
-108:OVERLAY_CONTEXT_entry504_py_04_LINE_0090=sys.path.insert(0,str(HERE))
-109:OVERLAY_CONTEXT_entry504_py_04_LINE_0091=lxc_adapter=importlib.import_module('lxc_adapter')
-110:OVERLAY_CONTEXT_entry504_py_04_LINE_0092=qemu_adapter=importlib.import_module('qemu_adapter')
-111:OVERLAY_CONTEXT_entry504_py_04_LINE_0093=scheduler_adapter=importlib.import_module('scheduler_adapter')
-112:OVERLAY_CONTEXT_entry504_py_04_LINE_0094=if _sha(HERE/'lxc_adapter.py')!='3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d':
-113:OVERLAY_CONTEXT_entry504_py_04_LINE_0095=raise RuntimeError('LXC_502_BYTE_IDENTITY')
-114:OVERLAY_CONTEXT_entry504_py_04_LINE_0096=wired=_wire(wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,BASE)
-115:OVERLAY_CONTEXT_entry504_py_04_LINE_0097=return wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired
-116:OVERLAY_CONTEXT_entry504_py_04_LINE_0098=
-117:OVERLAY_CONTEXT_entry504_py_04_LINE_0099=def _target(wrapper,lid):
-118:OVERLAY_CONTEXT_entry504_py_04_LINE_0100=rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
-119:OVERLAY_CONTEXT_entry504_py_04_LINE_0101=if len(hits)!=1: raise RuntimeError('TARGET_CARDINALITY')
-120:OVERLAY_CONTEXT_entry504_py_04_LINE_0102=return hits[0]
-121:OVERLAY_CONTEXT_entry504_py_04_LINE_0103=
-122:OVERLAY_CONTEXT_entry504_py_04_LINE_0104=def selftest():
-123:OVERLAY_CONTEXT_entry504_py_04_LINE_0105=wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()
-124:OVERLAY_CONTEXT_entry504_py_04_LINE_0106=if wired['legacy_globals'].get('capture_pve_guest') is not wired['patched_capture']:
-125:OVERLAY_CONTEXT_entry504_py_04_LINE_0107=raise RuntimeError('PATCH_BINDING')
-126:OVERLAY_CONTEXT_entry504_py_04_LINE_0108=if wired['legacy_globals'].get('choose_due_target') is not wired['scheduler_wired']['choose_due_target']:
-127:OVERLAY_CONTEXT_entry504_py_04_LINE_0109=raise RuntimeError('SCHEDULER_CHOOSE_BINDING')
-128:OVERLAY_CONTEXT_entry504_py_04_LINE_0110=if wired['legacy_globals'].get('write_state') is not wired['scheduler_wired']['write_state']:
-129:OVERLAY_CONTEXT_entry504_py_04_LINE_0111=raise RuntimeError('SCHEDULER_WRITE_BINDING')
-130:OVERLAY_CONTEXT_entry504_py_04_LINE_0112=if [scheduler_adapter.backoff_seconds(n) for n in range(1,7)]!=[1800,3600,7200,14400,21600,21600]:
-131:OVERLAY_CONTEXT_entry504_py_04_LINE_0113=raise RuntimeError('SCHEDULER_BACKOFF_CONTRACT')
-132:OVERLAY_CONTEXT_entry504_py_04_LINE_0114=if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
-133:OVERLAY_CONTEXT_entry504_py_04_LINE_0115=raise RuntimeError('WRAPPER_PUBLIC_API')
-134:OVERLAY_CONTEXT_entry504_py_04_LINE_0116=print('SELFTEST_OVERLAY504=PASS',flush=True)
-135:OVERLAY_CONTEXT_entry504_py_04_LINE_0117=return 0
-136:OVERLAY_CONTEXT_entry504_py_04_LINE_0118=
-137:OVERLAY_CONTEXT_entry504_py_04_LINE_0119=def main(argv=None):
-138:OVERLAY_CONTEXT_entry504_py_04_LINE_0120=argv=list(sys.argv[1:] if argv is None else argv)
-139:OVERLAY_CONTEXT_entry504_py_04_LINE_0121=if argv==['selftest']:
-140:OVERLAY_CONTEXT_entry504_py_04_LINE_0122=return selftest()
-141:OVERLAY_CONTEXT_entry504_py_04_LINE_0123=wrapper,lxc_adapter,qemu_adapter,scheduler_adapter,wired=_load()
-142:OVERLAY_CONTEXT_entry504_py_04_LINE_0124=legacy=wired['legacy']
-143:OVERLAY_CONTEXT_entry504_py_04_LINE_0125=if argv==['scheduler-proof']:
-144:OVERLAY_CONTEXT_entry504_py_04_LINE_0126=import tempfile
-145:OVERLAY_CONTEXT_entry504_py_04_LINE_0127=legacy=wired['legacy']; g=wired['legacy_globals']
-146:OVERLAY_CONTEXT_entry504_py_04_LINE_0128=old_root=g.get('STATE_ROOT'); old_epoch=g.get('epoch')
-147:OVERLAY_CONTEXT_entry504_py_04_LINE_0129=if old_root is None or not callable(old_epoch): raise RuntimeError('SCHEDULER_PROOF_BASE')
-148:OVERLAY_CONTEXT_entry504_py_04_LINE_0130=now=[1000]
-149:OVERLAY_CONTEXT_entry504_py_04_LINE_0131=try:
-150:OVERLAY_MATCH_FILE=fresh_lxc_helper.py
-151:OVERLAY_MATCH_SHA256=dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011
-152:OVERLAY_MATCH_LINE_COUNT=1
-153:OVERLAY_MATCH_LINES=4
-154:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_RANGE=1-12
-155:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0001=from __future__ import annotations
-156:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0002=import base64, hashlib, json, pathlib, sys
-161:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0007=
-162:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0008=def sha(p:pathlib.Path)->str:
-163:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0009=return hashlib.sha256(p.read_bytes()).hexdigest()
-164:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0010=
-165:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0011=def fail(code:str):
-166:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0012=raise RuntimeError(code)
-167:OVERLAY_MATCH_FILE=lxc_adapter.py
-168:OVERLAY_MATCH_SHA256=3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d
-169:OVERLAY_MATCH_LINE_COUNT=19
-170:OVERLAY_MATCH_LINES=2,7,36,44,45,52,55,57,59,68,95,112,130,133,158,162,199,200,213
-171:OVERLAY_CONTEXT_lxc_adapter_py_01_RANGE=1-15
-172:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0001=from __future__ import annotations
-173:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0002=import base64, hashlib, json, os, pathlib, re, selectors, shlex, signal, stat, subprocess, sys, time
-174:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0003=
-175:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0004=PVESH_SHA='9ed13d4c2d82e7864ff0192c428da7669af263f81dfcc84d5a981ca98fee8439'
-177:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0006=HELPER=pathlib.Path(__file__).resolve().parent/'fresh_lxc_helper.py'
-178:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0007=EXEC_HELPER=pathlib.Path(__file__).resolve().parent/'producer_exec_helper.py'
-179:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0008=MAX_STDERR=262144
-180:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0009=ENV={'PATH':'/usr/sbin:/usr/bin:/sbin:/bin','LC_ALL':'C','LANG':'C','HOME':'/root','PYTHONDONTWRITEBYTECODE':'1'}
-181:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0010=
-182:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0011=class AdapterError(RuntimeError): pass
-183:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0012=class ExecFailure(AdapterError):
-184:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0013=def __init__(self,code,summary): super().__init__(code); self.code=code; self.summary=summary
-185:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0014=
-186:OVERLAY_CONTEXT_lxc_adapter_py_01_LINE_0015=def _need(ok:bool,code:str):
-187:OVERLAY_CONTEXT_lxc_adapter_py_02_RANGE=32-76
-188:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0032=if n<=0: raise AdapterError('WRITE_FAILED')
-189:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0033=view=view[n:]
-190:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0034=
-191:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0035=def _remote_sha(legacy,node,path):
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1-20260919T003820Z.log|SHA256=3e4dab24b71ae8f995090b36fbd24d331adf17f6211ea698f8424facf3816277|BYTES=207
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1-20260919T003820Z.log
-1:NEWFI127R1_BEGIN
-2:COMMAND_ID=NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1
-3:NEWFI127R1_SAFE_REPORT={"changes_made":false,"decision":"FAIL_AUTOCONTENT210_AUDIT_HOLD","error":"RuntimeError:RUNTIME_PARITY:job"}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-AUTOCONTENT210-AUDIT127R1-20260919T003820Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1-20260920T153450Z.log|SHA256=5f258fda45665249cf37bd1297e310c60b5c46f77d05aed62072891b7923d737|BYTES=32409
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1-20260920T153450Z.log
-33:STAGING_STYLE_RENDER_ATTEMPT_03={"attempt":3,"outer_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","outer_stdout_sha256":"a03572c1c6174e8c465db1fb2ec8a8d34a221cee2b60ff94250b4e21167861d3","qga_err_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","qga_err_truncated":null,"qga_exitcode":0,"qga_exited":1,"qga_out_truncated":0,"qm_guest_exec_rc":0,"verifier":{"ok":true,"rows":[{"bytes":77592,"code":200,"css_bytes":327161,"css_codes":[{"bytes":319158,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"bytes":8002,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"css_ref_count":2,"css_refs":["/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4","/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513"],"css_sha256":"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798","curl_rc":0,"html_sha256":"c5f4592ad13073ca8525575d02cee4c8eed60283decb4804eb6241a154f37bba","html_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","marker_context":"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma","mobile_ua":false,"ok":true,"predicates":{"body_gt_1000":true,"css_fetch_all_ok":true,"css_marker_name_present":true,"css_marker_semantic":true,"css_ref_count_gt0":true,"has_brand753r4":true,"has_pvepro":true,"has_ru_category":true,"has_ru_forum":true,"index_curl_rc0":true,"index_http_200":true,"strict_utf8":true,"style_ref_child":true}},{"bytes":77592,"code":200,"css_bytes":327161,"css_codes":[{"bytes":319158,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"bytes":8002,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"css_ref_count":2,"css_refs":["/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4","/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513"],"css_sha256":"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798","curl_rc":0,"html_sha256":"7383e1de580b1bdda88f34e85f3f27c95a0ba36cf144539a6dbf81a06724fb85","html_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","marker_context":"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma","mobile_ua":true,"ok":true,"predicates":{"body_gt_1000":true,"css_fetch_all_ok":true,"css_marker_name_present":true,"css_marker_semantic":true,"css_ref_count_gt0":true,"has_brand753r4":true,"has_pvepro":true,"has_ru_category":true,"has_ru_forum":true,"index_curl_rc0":true,"index_http_200":true,"strict_utf8":true,"style_ref_child":true}}],"style_id":2}}
-34:STAGING_STYLE_RENDER_ACCEPTED_3={"ok":true,"rows":[{"bytes":77592,"code":200,"css_bytes":327161,"css_codes":[{"bytes":319158,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"bytes":8002,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"css_ref_count":2,"css_refs":["/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4","/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513"],"css_sha256":"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798","curl_rc":0,"html_sha256":"c5f4592ad13073ca8525575d02cee4c8eed60283decb4804eb6241a154f37bba","html_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","marker_context":"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma","mobile_ua":false,"ok":true,"predicates":{"body_gt_1000":true,"css_fetch_all_ok":true,"css_marker_name_present":true,"css_marker_semantic":true,"css_ref_count_gt0":true,"has_brand753r4":true,"has_pvepro":true,"has_ru_category":true,"has_ru_forum":true,"index_curl_rc0":true,"index_http_200":true,"strict_utf8":true,"style_ref_child":true}},{"bytes":77592,"code":200,"css_bytes":327161,"css_codes":[{"bytes":319158,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"bytes":8002,"code":200,"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}],"css_ref_count":2,"css_refs":["/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Avariations.less%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=2&l=2&d=1789918633&k=0132df9e8895f22d33adf6486e0d8f92e71895c4","/css.php?css=public%3Anode_list.less%2Cpublic%3Ashare_controls.less%2Cpublic%3Aextra.less&s=2&l=2&d=1789918633&k=43d19352348ea7e33297a5400d94a1ac53993513"],"css_sha256":"8d75d6c701c10a1b952fdd138eff3676f18d2a4bb57f8276b3cb724b567dd798","curl_rc":0,"html_sha256":"7383e1de580b1bdda88f34e85f3f27c95a0ba36cf144539a6dbf81a06724fb85","html_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","marker_context":"--xf-chromeBg--a));border-radius:6px}.p-header{color:#f7fbff;background:#071824;--pvepro-style757:1;box-shadow:0 1px 0 hsla(194,91%,54%,.22)}.p-header a{color:inherit}.p-header-inner{max-width:1280px;padding:0 10px;ma","mobile_ua":true,"ok":true,"predicates":{"body_gt_1000":true,"css_fetch_all_ok":true,"css_marker_name_present":true,"css_marker_semantic":true,"css_ref_count_gt0":true,"has_brand753r4":true,"has_pvepro":true,"has_ru_category":true,"has_ru_forum":true,"index_curl_rc0":true,"index_http_200":true,"strict_utf8":true,"style_ref_child":true}}],"style_id":2}
-35:STAGING_STYLE_RENDER_GOOD_SAMPLES=3
-36:STAGING_STYLE_POSTSTATE={"boardActive":false,"defaultStyleId":2,"defaultStyleIdDb":"2","effectiveMatchCount":42,"effectiveMismatches":[],"effectiveTargetCount":42,"errors":16,"mapRows":284,"physicalChildPropertyRows":40,"propertyGroupRows":0,"style":{"description":"PVEPro visual style","enable_variations":1,"parent_id":1,"style_id":2,"title":"PVEPro","user_selectable":1},"templateRows":0}
-37:STAGING_CHILD_STYLE_POSTSTATE={"count":1,"default":2,"default_db":"2","rows":[{"parent_id":1,"style_id":2,"title":"PVEPro"}],"styleRebuild":0,"styles":2}
-38:VISUAL_STYLE_STAGING_ERROR_CLASS=RuntimeError
-39:VISUAL_STYLE_STAGING_ERROR_SHA256=5ffc7d25d037e5606dc374388369df32158e9404259e1398246ab42ff4c73686
-40:ROLLBACK_STARTED=True
-41:ROLLBACK_RESTORED=False
-42:TASK_RESULT=PVEPRO_VISUAL_STYLE_STAGING_DEPLOY_EFFECTIVE42_RENDERFIX_FAILED
-43:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1","rollback_restored":false,"rollback_started":true,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-VISUAL-STYLE-STAGING-DEPLOY-773R1-20260920T153450Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/HOMELAB-VM-2CLOUD-NOLOCAL-FIX-433-20260724T100937Z.log|SHA256=41fc6b0e8c0f55e94079117bbc6ea01b65eb0d231b8e30a872d586a88eaa145a|BYTES=380
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/HOMELAB-VM-2CLOUD-NOLOCAL-FIX-433-20260724T100937Z.log
-1:Traceback (most recent call last):
-2:  File "", line 199, in 
-3:    raise RuntimeError("JQ_ARGUMENT_INSERTION_POINT_INVALID")
-4:RuntimeError: JQ_ARGUMENT_INSERTION_POINT_INVALID
-5:DETAIL=RUNTIME_ORIGINAL_SHA256=1de52eb4ddb17b0ecff2cf3f3021e65b92e91fb44416f97943c51e248c512ed6
-6:DETAIL=DESIRED_ORIGINAL_SHA256=1de52eb4ddb17b0ecff2cf3f3021e65b92e91fb44416f97943c51e248c512ed6
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/HOMELAB-VM-2CLOUD-NOLOCAL-FIX-433-20260724T100937Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/READONLY-RESULT-INTEGRATION-AUDIT-20260727T062905Z-20260727T062957Z.log|SHA256=ebaf3b2299c523af65061ab730a85e8753b5d47ec3427fa3947662acb7239911|BYTES=1525
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/READONLY-RESULT-INTEGRATION-AUDIT-20260727T062905Z-20260727T062957Z.log
-1:Traceback (most recent call last):
-2:  File "/var/lib/homelab-command-adapter/capsules/68856b3837c49738a5c0e67429bb71e95c3f2fae80b62011f2ed7922e1db133d/payload/audit.py", line 676, in 
-3:    raise SystemExit(main())
-4:                     ~~~~^^
-5:  File "/var/lib/homelab-command-adapter/capsules/68856b3837c49738a5c0e67429bb71e95c3f2fae80b62011f2ed7922e1db133d/payload/audit.py", line 262, in main
-6:    sanitize_match = re.search(
-7:        r"def sanitize_state\\("
-8:    ...<3 lines>...
-9:        flags=re.DOTALL,
-10:    )
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/READONLY-RESULT-INTEGRATION-AUDIT-20260727T062905Z-20260727T062957Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GITEA-READER-NGINX-DECISION-DETAIL-256-20260722T201633Z.log|SHA256=7e0a0a24e1fa4036a0bcd8295cda65d584c20b48b95483a0e687f5226ffbf11a|BYTES=2262
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GITEA-READER-NGINX-DECISION-DETAIL-256-20260722T201633Z.log
-1:PREVIOUS_COMMAND_ID=GITEA-READER-NGINX-DECISION-255
-2:=== DECISION_255 ===
-3:=== RAW_ERRORS_255 ===
-4:1:Traceback (most recent call last):
-5:29:FileNotFoundError: [Errno 2] No such file or directory: '/usr/sbin/nginx'
-6:=== RAW_TAIL_255 ===
-7:Traceback (most recent call last):
-8:  File "", line 19, in 
-9:    test=subprocess.run(["/usr/sbin/nginx","-t"],text=True,capture_output=True)
-10:  File "/usr/lib/python3.13/subprocess.py", line 554, in run
-11:    with Popen(*popenargs, **kwargs) as process:
-12:         ~~~~~^^^^^^^^^^^^^^^^^^^^^^
-13:  File "/usr/lib/python3.13/subprocess.py", line 1039, in __init__
-14:    self._execute_child(args, executable, preexec_fn, close_fds,
-15:    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-16:                        pass_fds, cwd, env,
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GITEA-READER-NGINX-DECISION-DETAIL-256-20260722T201633Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/ERROR-REGISTER-AUDIT-091-20260721T135306Z.log|SHA256=e43bbade59b1bfcd5ab4eafebcabef112401cb53da0426adac776ac3e44e9a85|BYTES=1896603
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/ERROR-REGISTER-AUDIT-091-20260721T135306Z.log
-25:  "raw_evidence_retained_locally": true,
-26:  "raw_evidence_sha256": "5b605821399533c76b6f75d9c99a78e303282b76de059e6a4fa1e85b94d655b8",
-27:  "sanitized_output_sha256": "5b605821399533c76b6f75d9c99a78e303282b76de059e6a4fa1e85b94d655b8",
-28:  "output_truncated_in_json": true,
-29:  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
-30:  "output": "=== CURRENT_RUNTIME ===\n{\n  \"schema_version\": 1,\n  \"channel\": \"homelab-runtime\",\n  \"command_id\": \"ERROR-REGISTER-PRECHECK-091\",\n  \"status\": \"OK\",\n  \"rc\": 0,\n  \"host\": \"pve01\",\n  \"mode\": \"read-only\",\n  \"component\": \"cluster-audit\",\n  \"started_at_utc\": \"2026-07-21T13:48:38Z\",\n  \"finished_at_utc\": \"2026-07-21T13:48:38Z\",\n  \"reference_register_checked\": true,\n  \"reference_sha256\": \"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\",\n  \"error_register_checked\": true,\n  \"error_register_sha256\": \"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\",\n  \"command_sha256\": \"07475c2ba97e41926fdd14b9635c532ad47eab45b3f6308dcd31f37eefba2fa3\",\n  \"duplicate_failed_command_blocked\": false,\n  \"block_reason\": null,\n  \"execution_started\": true,\n  \"changes_made\": false,\n  \"sanitized\": true,\n  \"secrets_included\": false,\n  \"private_addresses_included\": false,\n  \"raw_evidence_retained_locally\": true,\n  \"raw_evidence_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n  \"sanitized_output_sha256\": \"b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893\",\n  \"output_truncated_in_json\": true,\n  \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n  \"output\": \"=== CURRENT_RUNTIME ===\\n{\\n    \\\"schema_version\\\": 1,\\n    \\\"channel\\\": \\\"homelab-runtime\\\",\\n    \\\"command_id\\\": \\\"CRITICAL-TAILS-TRIAGE-091\\\",\\n    \\\"status\\\": \\\"OK\\\",\\n    \\\"rc\\\": 0,\\n    \\\"host\\\": \\\"pve01\\\",\\n    \\\"mode\\\": \\\"read-only\\\",\\n    \\\"component\\\": \\\"cluster-audit\\\",\\n    \\\"started_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"finished_at_utc\\\": \\\"2026-07-21T13:45:21Z\\\",\\n    \\\"reference_register_checked\\\": true,\\n    \\\"reference_sha256\\\": \\\"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\\\",\\n    \\\"error_register_checked\\\": true,\\n    \\\"error_register_sha256\\\": \\\"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\\\",\\n    \\\"command_sha256\\\": \\\"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\\\",\\n    \\\"duplicate_failed_command_blocked\\\": false,\\n    \\\"block_reason\\\": null,\\n    \\\"execution_started\\\": true,\\n    \\\"changes_made\\\": false,\\n    \\\"sanitized\\\": true,\\n    \\\"secrets_included\\\": false,\\n    \\\"private_addresses_included\\\": false,\\n    \\\"raw_evidence_retained_locally\\\": true,\\n    \\\"raw_evidence_sha256\\\": \\\"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\\\",\\n    \\\"sanitized_output_sha256\\\": \\\"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\\\",\\n    \\\"output_truncated_in_json\\\": false,\\n    \\\"full_sanitized_output_url\\\": \\\"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\\\",\\n    \\\"output\\\": \\\"=== SOURCE ===\\\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\\\n--\\\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five in
-31:}
-32:
-33:=== RUNNER_REGISTER_LOGIC ===
-34:13-  change
-35:14-  transport-test
-36:15-
-37:16-Environment:
-38:17:  HOMELAB_ALLOW_REPEAT=1   Allow exact repeat of a previously failed command.
-39:18-  HOMELAB_TIMEOUT=SECONDS  Optional command timeout.
-351:46-  "raw_evidence_retained_locally": true,
-352:47-  "raw_evidence_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-353:48-  "sanitized_output_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-354:49-  "output_truncated_in_json": true,
-355:50-  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
-356:51:  "output": "=== CURRENT_RUNTIME ===\n{\n    \"schema_version\": 1,\n    \"channel\": \"homelab-runtime\",\n    \"command_id\": \"CRITICAL-TAILS-TRIAGE-091\",\n    \"status\": \"OK\",\n    \"rc\": 0,\n    \"host\": \"pve01\",\n    \"mode\": \"read-only\",\n    \"component\": \"cluster-audit\",\n    \"started_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"finished_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"reference_register_checked\": true,\n    \"reference_sha256\": \"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\",\n    \"error_register_checked\": true,\n    \"error_register_sha256\": \"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\",\n    \"command_sha256\": \"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\",\n    \"duplicate_failed_command_blocked\": false,\n    \"block_reason\": null,\n    \"execution_started\": true,\n    \"changes_made\": false,\n    \"sanitized\": true,\n    \"secrets_included\": false,\n    \"private_addresses_included\": false,\n    \"raw_evidence_retained_locally\": true,\n    \"raw_evidence_sha256\": \"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\",\n    \"sanitized_output_sha256\": \"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\",\n    \"output_truncated_in_json\": false,\n    \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n    \"output\": \"=== SOURCE ===\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\n--\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\n135-792:- Failure class: \\u043f\\u0435\\u0440\\u0435\\u0445\\u043e\\u0434 \\u043a \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0435 \\u043f\\u0440\\u0438 \\u043d\\u0430\\u043b\\u0438\\u0447\\u0438\\u0438 \\u043d\\u0435\\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u043e\\u0433\\u043e \\u0445\\u0432\\u043e\\u0441\\u0442\\u0430.\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\n137-795:- \\u0415\\u0441\\u043b\\u0438 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u0438\\u0435 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437-\\u0437\\u0430 \\u0432\\u043d\\u0435\\u0448\\u043d\\u0435\\u0439 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438, \\u043e\\u043f\\u0430\\u0441\\u043d\\u043e\\u0439 \\u043d\\u0435\\u043e\\u0434\\u043d\\u043e\\u0437\\u043d\\u0430\\u0447\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044
-357:52-}
-358:53-
-359:54-=== RUNNER_ERROR_REGISTER_LOGIC ===
-360:55-13-  change
-361:56-14-  transport-test
-362:57-15-
-363:58-16-Environment:
-364:59-17:  HOMELAB_ALLOW_REPEAT=1   Allow exact repeat of a previously failed command.
-365:60-18-  HOMELAB_TIMEOUT=SECONDS  Optional command timeout.
-564:474-24-  "raw_evidence_retained_locally": true,
-565:475-25-  "raw_evidence_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-566:476-26-  "sanitized_output_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-567:477-27-  "output_truncated_in_json": true,
-568:478-28-  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
-569:479:29:  "output": "=== CURRENT_RUNTIME ===\n{\n    \"schema_version\": 1,\n    \"channel\": \"homelab-runtime\",\n    \"command_id\": \"CRITICAL-TAILS-TRIAGE-091\",\n    \"status\": \"OK\",\n    \"rc\": 0,\n    \"host\": \"pve01\",\n    \"mode\": \"read-only\",\n    \"component\": \"cluster-audit\",\n    \"started_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"finished_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"reference_register_checked\": true,\n    \"reference_sha256\": \"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\",\n    \"error_register_checked\": true,\n    \"error_register_sha256\": \"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\",\n    \"command_sha256\": \"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\",\n    \"duplicate_failed_command_blocked\": false,\n    \"block_reason\": null,\n    \"execution_started\": true,\n    \"changes_made\": false,\n    \"sanitized\": true,\n    \"secrets_included\": false,\n    \"private_addresses_included\": false,\n    \"raw_evidence_retained_locally\": true,\n    \"raw_evidence_sha256\": \"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\",\n    \"sanitized_output_sha256\": \"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\",\n    \"output_truncated_in_json\": false,\n    \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n    \"output\": \"=== SOURCE ===\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\n--\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\n135-792:- Failure class: \\u043f\\u0435\\u0440\\u0435\\u0445\\u043e\\u0434 \\u043a \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0435 \\u043f\\u0440\\u0438 \\u043d\\u0430\\u043b\\u0438\\u0447\\u0438\\u0438 \\u043d\\u0435\\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u043e\\u0433\\u043e \\u0445\\u0432\\u043e\\u0441\\u0442\\u0430.\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\n137-795:- \\u0415\\u0441\\u043b\\u0438 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u0438\\u0435 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437-\\u0437\\u0430 \\u0432\\u043d\\u0435\\u0448\\u043d\\u0435\\u0439 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438, \\u043e\\u043f\\u0430\\u0441\\u043d\\u043e\\u0439 \\u043d\\u0435\\u043e\\u0434\\u043d\\u043e\\u0437\\u043d\\u0430\\u0447\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\
-570:480-30-}
-571:481:--- FILE=/var/lib/homelab-chat-run/public/CRITICAL-TAILS-TRIAGE-090-20260721T132428Z.json ---
-572:482-SIZE=1307 MTIME=2026-07-21 16:24:28.286105655 +0300
-573:483-1-{
-574:484-2-  "schema_version": 1,
-575:485-3-  "channel": "homelab-runtime",
-576:486:4:  "command_id": "CRITICAL-TAILS-TRIAGE-090",
-577:487-5-  "status": "FAIL",
-578:488-6-  "rc": 2,
-687:24-  "raw_evidence_retained_locally": true,
-688:25-  "raw_evidence_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-689:26-  "sanitized_output_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-690:27-  "output_truncated_in_json": true,
-691:28-  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
-692:29:  "output": "=== CURRENT_RUNTIME ===\n{\n    \"schema_version\": 1,\n    \"channel\": \"homelab-runtime\",\n    \"command_id\": \"CRITICAL-TAILS-TRIAGE-091\",\n    \"status\": \"OK\",\n    \"rc\": 0,\n    \"host\": \"pve01\",\n    \"mode\": \"read-only\",\n    \"component\": \"cluster-audit\",\n    \"started_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"finished_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"reference_register_checked\": true,\n    \"reference_sha256\": \"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\",\n    \"error_register_checked\": true,\n    \"error_register_sha256\": \"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\",\n    \"command_sha256\": \"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\",\n    \"duplicate_failed_command_blocked\": false,\n    \"block_reason\": null,\n    \"execution_started\": true,\n    \"changes_made\": false,\n    \"sanitized\": true,\n    \"secrets_included\": false,\n    \"private_addresses_included\": false,\n    \"raw_evidence_retained_locally\": true,\n    \"raw_evidence_sha256\": \"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\",\n    \"sanitized_output_sha256\": \"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\",\n    \"output_truncated_in_json\": false,\n    \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n    \"output\": \"=== SOURCE ===\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\n--\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\n135-792:- Failure class: \\u043f\\u0435\\u0440\\u0435\\u0445\\u043e\\u0434 \\u043a \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0435 \\u043f\\u0440\\u0438 \\u043d\\u0430\\u043b\\u0438\\u0447\\u0438\\u0438 \\u043d\\u0435\\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u043e\\u0433\\u043e \\u0445\\u0432\\u043e\\u0441\\u0442\\u0430.\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\n137-795:- \\u0415\\u0441\\u043b\\u0438 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u0438\\u0435 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437-\\u0437\\u0430 \\u0432\\u043d\\u0435\\u0448\\u043d\\u0435\\u0439 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438, \\u043e\\u043f\\u0430\\u0441\\u043d\\u043e\\u0439 \\u043d\\u0435\\u043e\\u0434\\u043d\\u043e\\u0437\\u043d\\u0430\\u0447\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044
-693:30-}
-694:--- FILE=/var/lib/homelab-chat-run/public/CRITICAL-TAILS-TRIAGE-090-20260721T132428Z.json ---
-695:SIZE=1307 MTIME=2026-07-21 16:24:28.286105655 +0300
-696:1-{
-697:2-  "schema_version": 1,
-698:3-  "channel": "homelab-runtime",
-699:4:  "command_id": "CRITICAL-TAILS-TRIAGE-090",
-700:5-  "status": "FAIL",
-701:6-  "rc": 2,
-721:25-  "raw_evidence_retained_locally": true,
-722:26-  "raw_evidence_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-723:27-  "sanitized_output_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-724:28-  "output_truncated_in_json": true,
-725:29-  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
-726:30:  "output": "=== CURRENT_RUNTIME ===\n{\n    \"schema_version\": 1,\n    \"channel\": \"homelab-runtime\",\n    \"command_id\": \"CRITICAL-TAILS-TRIAGE-091\",\n    \"status\": \"OK\",\n    \"rc\": 0,\n    \"host\": \"pve01\",\n    \"mode\": \"read-only\",\n    \"component\": \"cluster-audit\",\n    \"started_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"finished_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"reference_register_checked\": true,\n    \"reference_sha256\": \"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\",\n    \"error_register_checked\": true,\n    \"error_register_sha256\": \"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\",\n    \"command_sha256\": \"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\",\n    \"duplicate_failed_command_blocked\": false,\n    \"block_reason\": null,\n    \"execution_started\": true,\n    \"changes_made\": false,\n    \"sanitized\": true,\n    \"secrets_included\": false,\n    \"private_addresses_included\": false,\n    \"raw_evidence_retained_locally\": true,\n    \"raw_evidence_sha256\": \"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\",\n    \"sanitized_output_sha256\": \"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\",\n    \"output_truncated_in_json\": false,\n    \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n    \"output\": \"=== SOURCE ===\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\n--\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\n135-792:- Failure class: \\u043f\\u0435\\u0440\\u0435\\u0445\\u043e\\u0434 \\u043a \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0435 \\u043f\\u0440\\u0438 \\u043d\\u0430\\u043b\\u0438\\u0447\\u0438\\u0438 \\u043d\\u0435\\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u043e\\u0433\\u043e \\u0445\\u0432\\u043e\\u0441\\u0442\\u0430.\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\n137-795:- \\u0415\\u0441\\u043b\\u0438 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u0438\\u0435 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437-\\u0437\\u0430 \\u0432\\u043d\\u0435\\u0448\\u043d\\u0435\\u0439 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438, \\u043e\\u043f\\u0430\\u0441\\u043d\\u043e\\u0439 \\u043d\\u0435\\u043e\\u0434\\u043d\\u043e\\u0437\\u043d\\u0430\\u0447\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044
-727:31-}
-728:32-
-729:33-=== RUNNER_ERROR_REGISTER_LOGIC ===
-730:34-13-  change
-731:35-14-  transport-test
-732:36-15-
-733:37-16-Environment:
-734:38-17:  HOMELAB_ALLOW_REPEAT=1   Allow exact repeat of a previously failed command.
-735:39-18-  HOMELAB_TIMEOUT=SECONDS  Optional command timeout.
-934:453-24-  "raw_evidence_retained_locally": true,
-935:454-25-  "raw_evidence_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-936:455-26-  "sanitized_output_sha256": "b0ea79fe2601b6fd549d285cf3b9ae06884f7e7604b63e0bfd7d2b1089ee2893",
-937:456-27-  "output_truncated_in_json": true,
-938:457-28-  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
-939:458:29:  "output": "=== CURRENT_RUNTIME ===\n{\n    \"schema_version\": 1,\n    \"channel\": \"homelab-runtime\",\n    \"command_id\": \"CRITICAL-TAILS-TRIAGE-091\",\n    \"status\": \"OK\",\n    \"rc\": 0,\n    \"host\": \"pve01\",\n    \"mode\": \"read-only\",\n    \"component\": \"cluster-audit\",\n    \"started_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"finished_at_utc\": \"2026-07-21T13:45:21Z\",\n    \"reference_register_checked\": true,\n    \"reference_sha256\": \"5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e\",\n    \"error_register_checked\": true,\n    \"error_register_sha256\": \"08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752\",\n    \"command_sha256\": \"6a4e6ceedf0e8e332675cd4342fe1a57655e2dc4d86f1eab82537b8e0e138c5e\",\n    \"duplicate_failed_command_blocked\": false,\n    \"block_reason\": null,\n    \"execution_started\": true,\n    \"changes_made\": false,\n    \"sanitized\": true,\n    \"secrets_included\": false,\n    \"private_addresses_included\": false,\n    \"raw_evidence_retained_locally\": true,\n    \"raw_evidence_sha256\": \"1e1b51d29391e04f6add08dc0e763bd76b2446deac958537de0ddb0006998789\",\n    \"sanitized_output_sha256\": \"a1c4491180e0ef3cc8411ac9618c9bc44e9e59f21520d85eac7f5aa5e62199f9\",\n    \"output_truncated_in_json\": false,\n    \"full_sanitized_output_url\": \"https://git.gram1.ru/.well-known/homelab-runtime/latest.txt\",\n    \"output\": \"=== SOURCE ===\\nFILE=/var/lib/homelab-chat-run/raw/CRITICAL-TAILS-BASELINE-089-20260721T132108Z.log SIZE=200182 MTIME=2026-07-21 16:21:16.540163848 +0300\\n=== P0_DATA_LOSS_OR_CLUSTER_RISK ===\\n63-392:- Context: SPF cleanup dry-run command 563 had broken shell quoting and left the terminal at multiline prompt.\\n64-397:- Context: SPF cleanup command 565 attempted to replace stale SPF records.\\n65:398:- Issue: backup write permission problem caused record detection failure, so new v=spf1 -all records were created while old v=spf1 ip4:[PRIVATE_IP] records remained.\\n66-402:## MSMTP_SECRET_SOURCE_PARSE_ERROR_576_20260701\\n67-403:- Context: proof 576 installed msmtp but sendmail auth test failed.\\n68-404:- Issue: [SENSITIVE_PATH] was sourced as shell, but SMTP password contained shell-special characters; source failed and auth used an invalid/truncated secret path.\\n--\\n132-774:- The reported validation count is cascading missing-marker evidence, not twenty-five independent design defects.\\n133-775:- The generated validator must be inspected at the exact SyntaxError line before another candidate is created.\\n134:787:- The executed backup script does not write that health file; therefore the stale health timestamp was not evidence of backup failure.\\n135-792:- Failure class: \\u043f\\u0435\\u0440\\u0435\\u0445\\u043e\\u0434 \\u043a \\u0441\\u043b\\u0435\\u0434\\u0443\\u044e\\u0449\\u0435\\u0439 \\u0437\\u0430\\u0434\\u0430\\u0447\\u0435 \\u043f\\u0440\\u0438 \\u043d\\u0430\\u043b\\u0438\\u0447\\u0438\\u0438 \\u043d\\u0435\\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u043e\\u0433\\u043e \\u0445\\u0432\\u043e\\u0441\\u0442\\u0430.\\n136-794:- Closure gate: UNRESOLVED_TAIL_COUNT=0; BLOCKER_COUNT=0; TEMPORARY_ARTIFACT_COUNT=0; ROLLBACK_VERIFIED=YES; HEALTH=OK; PROOF_UPDATED=YES; REFERENCE_UPDATED=YES.\\n137-795:- \\u0415\\u0441\\u043b\\u0438 \\u0437\\u0430\\u043a\\u0440\\u044b\\u0442\\u0438\\u0435 \\u043d\\u0435\\u0432\\u043e\\u0437\\u043c\\u043e\\u0436\\u043d\\u043e \\u0438\\u0437-\\u0437\\u0430 \\u0432\\u043d\\u0435\\u0448\\u043d\\u0435\\u0439 \\u0437\\u0430\\u0432\\u0438\\u0441\\u0438\\u043c\\u043e\\u0441\\u0442\\u0438, \\u043e\\u043f\\u0430\\u0441\\u043d\\u043e\\u0439 \\u043d\\u0435\\u043e\\u0434\\u043d\\u043e\\u0437\\u043d\\u0430\\u0447\\u043d\\u043e\\u0441\\u0442\\u0438 \\u0438\\u043b\\u0438 \\u043e\\u0431\\u044f\\u0437\\u0430\\u0442\\u0435\\u043b\\u044c\\u043d\\u043e\\u0433\\u043e \\u0440\\u0435\\u0448\\u0435\\u043d\\u0438\\u044f \\u043f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\
-940:459-30-}
-941:460:--- FILE=/var/lib/homelab-chat-run/public/CRITICAL-TAILS-TRIAGE-090-20260721T132428Z.json ---
-942:461-SIZE=1307 MTIME=2026-07-21 16:24:28.286105655 +0300
-943:462-1-{
-944:463-2-  "schema_version": 1,
-945:464-3-  "channel": "homelab-runtime",
-946:465:4:  "command_id": "CRITICAL-TAILS-TRIAGE-090",
-947:466-5-  "status": "FAIL",
-948:467-6-  "rc": 2,
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/ERROR-REGISTER-AUDIT-091-20260721T135306Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-468-CANDIDATE-BUILD-FORENSIC-RCA-CHUNKED-472R1-20260916T145824Z.log|SHA256=6ffa04318c791c904b1dddc3fa1874647e0756e02eadfc732a9e472ba742ee37|BYTES=7000
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-468-CANDIDATE-BUILD-FORENSIC-RCA-CHUNKED-472R1-20260916T145824Z.log
-1:RCA472_BEGIN
-2:{"baseline_identity_all_match":true,"candidate_trees":[{"expected_ct_paths":[],"expected_wrapper_paths":[],"files":[{"bytes":2077,"mode":"0400","path":"CONTRACT.json","sha256":"a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01","state":"FILE"},{"bytes":7210,"mode":"0400","path":"PLAN265_REFERENCE.json","sha256":"8d36e82080be93a8c929a9211191fa868166b9e7b6152c4c7689fa52b6720757","state":"FILE"},{"bytes":4310,"mode":"0400","path":"PROVENANCE.json","sha256":"303f44dc8e91c8e6a675f9ea406ce4b7532ed98440a9b6807fa593ede9d33254","state":"FILE"},{"bytes":2989,"mode":"0500","path":"adapter.py","sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3","state":"FILE"},{"bytes":7385,"mode":"0400","path":"guest266.py","sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868","state":"FILE"},{"bytes":16514,"mode":"0400","path":"large264.py","sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a","state":"FILE"},{"bytes":4603,"mode":"0400","path":"nodeplan263.py","sha256":"db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060","state":"FILE"},{"bytes":12888,"mode":"0400","path":"pve265.py","sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be","state":"FILE"},{"bytes":19595,"mode":"0400","path":"pve270.py","sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef","state":"FILE"},{"bytes":6195,"mode":"0400","path":"pve282.py","sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012","state":"FILE"},{"bytes":14701,"mode":"0400","path":"restore262.py","sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1","state":"FILE"},{"bytes":8831,"mode":"0400","path":"stream263.py","sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16","state":"FILE"},{"bytes":10752,"mode":"0400","path":"test_guest266.py","sha256":"460b950924a475ce0a28dc759512e7dbe2323ae2cc42f7ef4c6181710a2a13da","state":"FILE"},{"bytes":5441,"mode":"0400","path":"test_perl270.py","sha256":"50fc10865078a7b9b255dc627059824184441a47c4ede52e23f24c1186e3512f","state":"FILE"},{"bytes":12215,"mode":"0400","path":"test_producer282.py","sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7","state":"FILE"},{"bytes":11781,"mode":"0400","path":"test_pve265.py","sha256":"16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707","state":"FILE"},{"bytes":12077,"mode":"0400","path":"test_pve270.py","sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4","state":"FILE"},{"bytes":5785,"mode":"0400","path":"test_pve282.py","sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4","state":"FILE"},{"bytes":15364,"mode":"0400","path":"transport261.py","sha256":"b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688","state":"FILE"},{"bytes":11755,"mode":"0400","path":"v2core.py","sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2","state":"FILE"}],"hash_preimages":[],"root":"/opt/homelab-backup-v2/candidates/pve-lxc-adapter-411r1","state":"READ","truncated":false}],"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-468-CANDIDATE-BUILD-FORENSIC-RCA-CHUNKED-472R1","decision":"HASH_PREIMAGE_NOT_FOUND_PARTIAL_CANDIDATE_SNAPSHOT_COLLECTED","hash_preimage_found":false,"hash_preimage_matches":[],"production_identities":{"/etc/homelab-backup-v2/targets.json":{"bytes":5105,"expected_match":true,"gid":0,"mode":"0600","sha256":"a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38","state":"FILE","uid":0},"/etc/systemd/system/homelab-backup-v2.service":{"bytes":309,"expected_match":true,"gid":0,"mode":"0644","sha256":"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565","state":"FILE","uid":0},"/etc/systemd/system/homelab-backup-v2.timer":{"bytes":192,"expected_match":true,"gid":0,"mode":"0644","sha256":"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d","state":"FILE","uid":0},"/usr/local/sbin/homelab-backup-v2":
-3:RCA472_END
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260916-INFRA-DR-BACKUPV2-468-CANDIDATE-BUILD-FORENSIC-RCA-CHUNKED-472R1-20260916T145824Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/RUN7A-DELIVERY-PREPLAN-DISCOVERY-20260726T153105Z-20260726T153254Z.log|SHA256=80c0aa4ae374f18ac41e5c6df736a45e2f144cf5a23db6ccf7554c5a03844a98|BYTES=36576
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/RUN7A-DELIVERY-PREPLAN-DISCOVERY-20260726T153105Z-20260726T153254Z.log
-1:RUN7A_DELIVERY_PREPLAN_DISCOVERY=PASS
-2:PREPLAN_BASIS_SHA256=6ae59d4b7877710758ecb8e315a8322e71c475b6dcda680864eff8c1f7e7e0d9
-3:REPORT_SHA256=319d433bb77302d92977e66bec320130c69eca85e70e05f6f8350bba4f1a7d6b
-4:{"anti_regression":{"RUN7A-AR-001-SANITIZER-LINE-BOUNDARY":{"checks":{"gateway_discovery_by_listener_not_name_guess":true,"multiline_false_positive_closed":true,"no_long_inline_remote_shell":true,"password_removed":true,"private_ip_removed":true,"remote_stat_single_argument_format":true,"userinfo_removed":true},"status":"PASS"},"RUN7A-AR-002-REMOTE-STAT-NO-SPACES":{"status":"PASS"},"RUN7A-AR-003-GATEWAY-BY-LISTENER-CGROUP":{"status":"PASS"},"RUN7A-AR-004-NO-INLINE-REMOTE-BODY":{"status":"PASS"},"RUN7A-AR-005-NO-MUTATION":{"backup_changed":false,"cluster_changed":false,"gitea_changed":false,"production_changed":false,"status":"PASS"}},"architecture":{"phase_1":{"name":"IMMUTABLE_PUBLIC_RESULT","requirements":["publish runtime/by-command/.json","publish runtime/by-command/.txt","fail closed on same COMMAND_ID with different SHA","idempotent success on same COMMAND_ID and same SHA","retain latest.json/latest.txt as non-authoritative convenience","runner polls exact immutable by-command JSON","runner verifies command_id and command_sha256","full_sanitized_output_url points to immutable TXT","atomic write, flock, git commit and git push"],"scope":["/usr/local/sbin/homelab-chat-run","/usr/local/sbin/homelab-runtime-receive"]},"phase_2":{"name":"DETERMINISTIC_FULL_EVIDENCE_RECEIPT","requirements":["deterministic receipt URL known before execution","receipt capability derived from 256-bit capsule SHA","receipt metadata uploaded only after evidence SHA verification","uniform 404 for missing, invalid and expired receipt","Cache-Control: no-store","Content-Disposition contains COMMAND_ID and short SHA","no ListBucket","no permanent MinIO credentials in Gateway","evidence SHA verified before HTTP 200"],"scope":["/usr/local/sbin/homelab-command-adapter","/opt/stacks/evidence-gw/gateway.py","evidence-gw.service"]},"phase_3":{"name":"QUALITY_GATE_PLAN_APPLY_ENFORCEMENT","requirements":["schema-v1 read-only compatibility","schema-v2 mandatory for change","exact PLAN capsule/evidence/plan SHA binding","no unresolved mutating failure","Portal displays all gate fields","Execute disabled on gate failure","diagnostics before rollback"],"scope":["/usr/local/sbin/homelab-command-adapter","/usr/local/sbin/homelab-command-portal"],"source_plan_sha256":"99fac83369ee8d5098c07cf243398d8b6b144e4fbc9ef9b39ef75436b109d607"}},"blockers":[],"changes":{"backup":false,"cluster":false,"gitea":false,"production":false},"checked_at_utc":"2026-07-26T15:33:10.356156+00:00","command_id":"RUN7A-DELIVERY-PREPLAN-DISCOVERY-20260726T153105Z","edge_gateway":{"cgroup_rc":0,"cmdline":["/usr/bin/python3","/opt/stacks/evidence-gw/gateway.py","--config","/etc/evidence-gw/config.json"],"cmdline_rc":0,"exe":"/usr/bin/python3.13","exe_rc":0,"install_help_rc":0,"listener_excerpt":"LISTEN 0      5           [PRIVATE_IP]:18093 [PRIVATE_IP]:* users:((\"python3\",pid=2384852,fd=3))                                                                                                            ","listener_found":true,"listener_rc":0,"nginx_rc":125,"nginx_relevant":[],"pid":2384852,"script_features":{"has_content_disposition":true,"has_expiry":true,"has_list_bucket":false,"has_no_store":true,"has_object_key":false,"has_receipt_route":false,"has_sha256":true},"script_path":"/opt/stacks/evidence-gw/gateway.py","script_sha256":"27de57be0924fe8d86d38879b3bcdba8d4ade817b3a42219dd65d8aacc9601cb","script_sha_rc":0,"script_source_bytes":14158,"script_source_rc":0,"script_source_redacted":"#!/usr/bin/env python3\nfrom __future__ import annotations\n\nimport argparse\nimport hashlib\nimport hmac\nimport http.server\nimport json\nimport os\nimport re\nimport secrets\nimport tempfile\nimport threading\nimport time\nimport urllib.error\nimport urllib.parse\nimport urllib.request\nfrom pathlib import Path\nfrom typing import Any\n\nKEY_SEGMENT = re.compile(r\"^[A-Za-z0-9._-]+$\")\nSHA256_RE = re.compile(r\"^[0-9a-f]{64}$\")\n\n\ndef load_json(path: Path) -> dict[str, Any]:\n    valu
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/RUN7A-DELIVERY-PREPLAN-DISCOVERY-20260726T153105Z-20260726T153254Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GRAM1-SITE-CHARTS-V38R1-SUDO-PROBE-LINECOUNT-FIX-20260801T124200Z-20260801T124326Z.log|SHA256=7909460d0d093dc7b3fd4fc26760c31b746c2726817e367c4f54af19d08b1973|BYTES=134691
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GRAM1-SITE-CHARTS-V38R1-SUDO-PROBE-LINECOUNT-FIX-20260801T124200Z-20260801T124326Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-SITE-CHARTS-V38R1-SUDO-PROBE-LINECOUNT-FIX-20260801T124200Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
-2:{"changes_made":false,"command_id":"GRAM1-SITE-CHARTS-V38R1-SUDO-PROBE-LINECOUNT-FIX-20260801T124200Z","control_plane_error":null,"gitea_changed":false,"mutation_outcome":"NO_MUTATION","pinned_host_key_aliases":["[PRIVATE_IP]"],"production_site_changed":false,"rc":0,"remote_result":{"app_analysis":{"app_bytes":32843,"app_sha256":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","chart_matches":[{"line":466,"snippet":"00461:         x=left+step*(i+.5);color=\"#63e6be\" if c>=o else \"#ff6b81\";yo=y(o);yc=y(c);yh=y(h);yl=y(l);rh=max(1.2,abs(yc-yo));ry=min(yo,yc)\n00462:         parts.append(f'');parts.append(f'')\n00463:     parts.append(f'{_gram1_html.escape(symbol)} / USDT · 1M · {len(rows)} свечей')\n00464:     return ''.join(parts)\n00465: \n00466: @app.get(\"/api/chart-svg/{symbol}\", include_in_schema=False)\n00467: async def _gram1_chart_svg_endpoint_v4(symbol: str, request: _Gram1Request):\n00468:     if not request.session.get(\"auth\"):\n00469:         return _Gram1Response(content=\"Требуется вход\", status_code=401, media_type=\"text/plain; charset=utf-8\")\n00470:     symbol=symbol.upper()\n00471:     if symbol not in _GRAM1_CHART_SYMBOLS:","token":"/api/chart-svg"},{"line":397,"snippet":"00392:     require_login(request)\n00393:     with db() as c:\n00394:         c.execute(\"DELETE FROM alerts WHERE id=?\",(alert_id,)); c.commit()\n00395:     return {\"ok\":True}\n00396: \n00397: # GRAM1_SERVER_CHART_FALLBACK_V4\n00398: import asyncio as _gram1_asyncio\n00399: import base64 as _gram1_base64\n00400: import html as _gram1_html\n00401: import inspect as _gram1_inspect\n00402: import json as _gram1_json","token":"GRAM1_SERVER_CHART_FALLBACK_V4"},{"line":452,"snippet":"00447:         except Exception:\n00448:             continue\n00449:     if not rows: raise RuntimeError(\"no valid OHLC rows\")\n00450:     return rows[-180:]\n00451: \n00452: def _gram1_chart_svg_v4(symbol: str, rows):\n00453:     width,height,left,right,top,bottom=1200,430,72,28,24,42\n00454:     lo=min(r[3] for r in rows);hi=max(r[2] for r in rows);span=max(hi-lo,abs(hi)*1e-9,1e-12)\n00455:     plot_w=width-left-right;plot_h=height-top-bottom;step=plot_w/max(len(rows),1);body=max(2.0,min(10.0,step*0.58))\n00456:     def y(v): return top+(hi-v)/span*plot_h\n00457:     parts=[f'', '']","token":"_gram1_chart_svg_v4"},{"line":475,"snippet":"00470:     symbol=symbol.upper()\n00471:     if symbol not in _GRAM1_CHART_SYMBOLS:\n00472:         return _Gram1Response(content=\"Неизвестная монета\", status_code=404, media_type=\"text/plain; charset=utf-8\")\n00473:     try:\n00474:         rows=await _gram1_chart_data_v4(symbol,request)\n00475:         svg=_gram1_chart_svg_v4(symbol,rows)\n00476:         return _Gram1Response(content=svg,media_type=\"image/svg+xml\",headers={\"Cache-Control\":\"no-store\"})\n00477:     except Exception as exc:\n00478:         msg=_gram1_html.escape(str(exc))\n00479:         svg=f'Ошибка серверного графика {symbol}: {msg}'\n00480:         return _Gram1Response(content=svg,status_code=503,media_type=\"image/svg+xml\",headers={\"Cache-Control\":\"no-store\"})","token":"_gram1_chart_svg_v4"},{"line":409,"snippet":"00404: from
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GRAM1-SITE-CHARTS-V38R1-SUDO-PROBE-LINECOUNT-FIX-20260801T124200Z-20260801T124326Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENTINDEXNOW-FIX111-20260918T220515Z.log|SHA256=bb62ead4e097fb8918dd7a39c24018605f1423552da9384d4b47c58e98def0a6|BYTES=1004
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENTINDEXNOW-FIX111-20260918T220515Z.log
-1:NEWFI111_BEGIN
-2:COMMAND_ID=NEWFI-260919-NEWFDOM-CONTENTINDEXNOW-FIX111
-3:NEWFI111_PREFLIGHT={"production":{"action":"preflight","error_ids":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"jobs":[2324,2325,2326,2327,2328,2329,2330,2331],"ok":true,"role":"production","source_sha":"71fa0f048e9a1e40827d5ba3e5bf7be11b1bb40c0bcb9610830131418a976b96"},"staging":{"action":"preflight","error_ids":[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"jobs":[],"ok":true,"role":"staging","source_sha":"71fa0f048e9a1e40827d5ba3e5bf7be11b1bb40c0bcb9610830131418a976b96"}}
-4:NEWFI111_BACKUPS_2OF2=PASS
-5:NEWFI111_SAFE_REPORT={"changes_made":true,"decision":"FAIL_CONTENTINDEXNOW_HOTFIX_HOLD","error":"RuntimeError:GUEST:staging:RuntimeError:PATCH_CONTEXT"}
-6:HOMELAB_RESULT_CONTRACT={"changes_made":true,"command_id":"NEWFI-260919-NEWFDOM-CONTENTINDEXNOW-FIX111","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENTINDEXNOW-FIX111-20260918T220515Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-492-CANDIDATE-BUILD-SUBPROCESS-DECOMPOSITION-493R1-20260916T223024Z.log|SHA256=6cf6810953494d7924c13d64cb7aefe8522cf444eb78d67adfe3810ef878349d|BYTES=25961
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-492-CANDIDATE-BUILD-SUBPROCESS-DECOMPOSITION-493R1-20260916T223024Z.log
-9:RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED
-10:STAGE492_INVENTORY={"expected_exact":{"legacy_engine.py":true,"pve265_fresh_plan_helper492.py":false,"wrapper.py":true},"file_count":25,"files":[{"bytes":2077,"mode":"0400","path":"candidate411/CONTRACT.json","sha256":"a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01"},{"bytes":7210,"mode":"0400","path":"candidate411/PLAN265_REFERENCE.json","sha256":"8d36e82080be93a8c929a9211191fa868166b9e7b6152c4c7689fa52b6720757"},{"bytes":4310,"mode":"0400","path":"candidate411/PROVENANCE.json","sha256":"303f44dc8e91c8e6a675f9ea406ce4b7532ed98440a9b6807fa593ede9d33254"},{"bytes":2989,"mode":"0500","path":"candidate411/adapter.py","sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3"},{"bytes":7385,"mode":"0400","path":"candidate411/guest266.py","sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868"},{"bytes":16514,"mode":"0400","path":"candidate411/large264.py","sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a"},{"bytes":4603,"mode":"0400","path":"candidate411/nodeplan263.py","sha256":"db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060"},{"bytes":12888,"mode":"0400","path":"candidate411/pve265.py","sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be"},{"bytes":19595,"mode":"0400","path":"candidate411/pve270.py","sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef"},{"bytes":6195,"mode":"0400","path":"candidate411/pve282.py","sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012"},{"bytes":14701,"mode":"0400","path":"candidate411/restore262.py","sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1"},{"bytes":8831,"mode":"0400","path":"candidate411/stream263.py","sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16"},{"bytes":10752,"mode":"0400","path":"candidate411/test_guest266.py","sha256":"460b950924a475ce0a28dc759512e7dbe2323ae2cc42f7ef4c6181710a2a13da"},{"bytes":5441,"mode":"0400","path":"candidate411/test_perl270.py","sha256":"50fc10865078a7b9b255dc627059824184441a47c4ede52e23f24c1186e3512f"},{"bytes":12215,"mode":"0400","path":"candidate411/test_producer282.py","sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7"},{"bytes":11781,"mode":"0400","path":"candidate411/test_pve265.py","sha256":"16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707"},{"bytes":12077,"mode":"0400","path":"candidate411/test_pve270.py","sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4"},{"bytes":5785,"mode":"0400","path":"candidate411/test_pve282.py","sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4"},{"bytes":15364,"mode":"0400","path":"candidate411/transport261.py","sha256":"b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688"},{"bytes":11755,"mode":"0400","path":"candidate411/v2core.py","sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2"},{"bytes":10955,"mode":"0400","path":"ct112_handler.py","sha256":"8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c"},{"bytes":59790,"mode":"0400","path":"legacy_engine.py","sha256":"ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598"},{"bytes":7261,"mode":"0400","path":"pve265_fresh_plan_helper.py","sha256":"de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220"},{"bytes":4214,"mode":"0400","path":"representative_driver.py","sha256":"b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2"},{"bytes":5076,"mode":"0400","path":"wrapper.py","sha256":"2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495"}],"present":true}
-11:STAGE492_LEGACY_FUNCTIONS={"_isolated_guest266_dump_argv":{"args":["job","vzdump","scratch","now"],"end_lineno":444,"lineno":439,"sha256":"8b839594ef97b840ca7025ef4ff416774e2be860f7ca17a6e8023bfc7348eb14"},"_lxc_job":{"args":["t","row","node"],"end_lineno":455,"lineno":446,"sha256":"9e04ff12c73736ed4f6728c56098aaae5705afe95101c38e31d005cca985e1ef"},"capture_pve_guest":{"args":["t","gen","work"],"end_lineno":542,"lineno":506,"sha256":"c4c22625a9c6a954d0ed93dfc63f0501af0644ca9f5e6781d3b2e50a7e2563ea"},"proven_lxc_dump_argv":{"args":["t","row","node","scratch"],"end_lineno":474,"lineno":457,"sha256":"6240284527bdff58e0693ca88215ef71f638afed21a2dc0fa9163946827ef0b0"},"selftest":{"args":[],"end_lineno":1002,"lineno":988,"sha256":"0ed8f5298ec16a19de775b6206f592fac396dc2b0800d10ebc241b25787a40f3"}}
-12:ACCEPTED492_PRESENT=false
-13:SUCCESS492_PRESENT=false
-14:492_CHILD_WRAPPER_SELFTEST={"rc":1,"stderr_bytes":1437,"stderr_projection":{"exceptions":["NameError","RuntimeError"],"markers":[],"tokens":["LEGACY_FULL_SELFTEST"]},"stderr_sha256":"31a4a026671970851b6a4b8bd65fe7af77c2b32a298c40119a588a2670c17788","stdout_bytes":0,"stdout_projection":{"exceptions":[],"markers":[],"tokens":[]},"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
-15:492_CHILD_LEGACY_SELFTEST={"rc":1,"stderr_bytes":1187,"stderr_projection":{"exceptions":["NameError"],"markers":[],"tokens":["LEGACY_SELFTEST_RETURN"]},"stderr_sha256":"94e052b6e2f121f4c159c8d482b560ee3a81c6ce60e9538be17f0818d6d7171d","stdout_bytes":0,"stdout_projection":{"exceptions":[],"markers":[],"tokens":[]},"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
-16:492_PROVEN_LXC_ARGV_PROBE={"rc":1,"stderr_bytes":907,"stderr_projection":{"exceptions":["TypeError"],"markers":[],"tokens":["PROVEN_LXC_ARGC","PROVEN_LXC_ARITY","PROVEN_LXC_RESULT_TYPE"]},"stderr_sha256":"d05f9c8b029a44a74600d12595e00d2ac05f68686a9e178a2f2c0cc7f9eeca75","stdout_bytes":19,"stdout_projection":{"exceptions":[],"markers":["PROVEN_LXC_ARITY=4"],"tokens":["PROVEN_LXC_ARITY"]},"stdout_sha256":"6b91f2bebd0006c4621d94454ff44e628d0617285dcfc6dcef91e3ea509abb16"}
-17:RUNNER492_EVIDENCE={"matches":[{"bytes":2617,"path":"public/SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1-20260916T221657Z-latest.txt","projection":{"exceptions":["builtins.RuntimeError"],"markers":["COMMAND_ID=SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1","STATUS=FAIL","HOST=pve01","MODE=change","COMPONENT=infra-dr-backupv2-legacy-lxc-fresh-plan-owner-repair-verify","REFERENCE_REGISTER_CHECK=OK","REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","ERROR_REGISTER_CHECK=OK","ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","COMMAND_SHA256=b7790647d730f4d74e6794ad6e9616761f4cdf7d60c667344ecd2c36e872dcb7","DUPLICATE_FAILED_COMMAND_BLOCKED=false","EXECUTION_STARTED=true","CHANGE_DECLARED=true","RESULT_CONTRACT_VALID=true","RESULT_CONTRACT_STATUS=FAIL","RESULT_CONTRACT_ERROR=NONE","COMMAND_RC=2","CHANGES_MADE=true","ROLLBACK_STARTED=true","ROLLBACK_RESTORED=true","MUTATION_OUTCOME=ROLLED_BACK","SANITIZED=yes","PRIVATE_ADDRESSES_INCLUDED=no","RAW_EVIDENCE_SHA256=8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c","SANITIZED_OUTPUT_SHA256=8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c","COMMAND_ID=SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1","MODE=CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","NO_TARGET_REGISTRY_REWRITE=YES","SYSTEMD_UNIT_FILE_MUTATIONS=0","NO_DAEMON_RELOAD=YES","CLOUD_DELETIONS=0","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","STALE_491_STAGE_PRESENT=YES","STALE_491_ACCEPTED_PRESENT=NO","STALE_491_SUCCESS_PRESENT=NO","STALE_491_ARTIFACTS_PRESERVED=YES","PREPROOF_DUE_TARGET=ct110","PREFLIGHT_486_BASELINE=PASS","V2_TIMER_RUNTIME_STOP=PASS","COMMON_HEAVY_LOCK_ACQUIRED=YES","PATCHED_LEGACY_ENGINE_SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598","PATCHED_WRAPPER_SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495","PVE265_HELPER_SHA256=de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220","ROLLBACK_TO_486=STARTED","ROLLBACK_TO_486=PASS","COMMON_HEAVY_LOCK_RELEASED=YES","STATUS=FAIL","PHASE=CANDIDATE_BUILD","REASON=FAILED_CLOSED","EXCEPTION_CLASS=builtins.RuntimeError","EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3","PRODUCTION_PROMOTION=NO","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","CLOUD_DELETIONS=0","CHANGES_MADE=true","ROLLBACK_STARTED=true","ROLLBACK_RESTORED=true","MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486"],"tokens":["BACKUPV2","CANDIDATE_BUILD","CHANGES_MADE","CHANGE_DECLARED","CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","CHAT_OUTPUT_BEGIN","CHAT_OUTPUT_END","CLOUD_DELETIONS","COMMAND_ID","COMMAND_RC","COMMAND_SHA256","COMMON_HEAVY_LOCK_ACQUIRED","COMMON_HEAVY_LOCK_RELEASED","COMPONENT","DUPLICATE_FAILED_COMMAND_BLOCKED","ERROR_REGISTER_CHECK","ERROR_REGISTER_SHA256","EXCEPTION_CLASS","EXCEPTION_MESSAGE_SHA256","EXECUTION_STARTED","FAIL","FAILED_CLOSED","FRESH","HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","HOMELAB_RESULT_CONTRACT","HOST","INFRA","LEGACY","LXC","MODE","MUTATED_THEN_ROLLED_BACK_TO_486","MUTATION_OUTCOME","NONE","NO_DAEMON_RELOAD","NO_TARGET_REGISTRY_REWRITE","OUTPUT_BEGIN","OUTPUT_END","OWNER","PASS","PATCHED_LEGACY_ENGINE_SHA256","PATCHED_WRAPPER_SHA256","PHASE","PLAN","PREFLIGHT_486_BASELINE","PREPROOF_DUE_TARGET","PRIVATE_ADDRESSES_INCLUDED","PRODUCTION_PROMOTION","PVE265_HELPER_SHA256","RAW_EVIDENCE_SHA256","REASON","REFERENCE_REGISTER_CHECK","REFERENCE_SHA256","REPAIR","RESULT_CONTRACT_ERROR","RESULT_CONTRACT_STATUS","RESULT_CONTRACT_VALID","RETENTION_MUTATION","RETENTION_STATUS","ROLLBACK_RESTORED","ROLLBACK_STARTED","ROLLBACK_TO_486","ROLLED_BACK","SANITIZED","SANITIZED_OUTPUT_SHA256","SECRETS_INCLUDED","STALE_491_ACCEPTED_PRESENT","STALE_491_ARTIFACTS_PRESERVED","STALE_491_STAGE_PR
-18:LIVE_PVE_VM200={"json":true,"live_vm200_present":false,"rc":0,"resource_count":13,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_sha256":"5df69cb99c7cf0c62090a15be500d094286e35cd5268fc3f59588cdde80b92d2","vm200_rows":[]}
-19:HOMELAB_OPS_VM200_AUTHORITY={"guest_inventory":{"present":true,"sha256":"2e877798e48842e03462ebd0e5fb2ebf03ef20e56b0f6f3b842e54807dbf8d00","vm200_paths":["$[11].id","$[11].name","$[11].role"]},"head":"d5e2ef5639398a762283e47143c17b494f8ed579","matches":[{"line":24,"path":"kb/AI_CONTEXT.md","restore_word":true,"retire_word":true,"sha256":"4ad0264774cc816aeab85a8b0e6285b24c7412d282a7c059ddca36d77a048a32","text":"110 dns1, 111 dns2, 112 unbound1, 113 unbound2, VM130 edge-vm, VM150 Snikket, VM160 forum-prod, VM170 core-apps/Gitea, VM171 monitoring, VM190 Gitea Actions runner. VM180 and CT200 are retirement candidates only; no blind delete. VM9130 edge-cold-standby stays until timed VM130 DR restore proof."},{"line":136,"path":"kb/inventory/guests.json","restore_word":false,"retire_word":false,"sha256":"e0876962912ed44815a85e5c564cc8a7262044d96a3c5dd6dce7a28e695c9ab6","text":"\"name\": \"skladchik-mod\","},{"line":143,"path":"kb/inventory/guests.json","restore_word":false,"retire_word":false,"sha256":"b3b0f300780b983846ffc8d1398356a3e40e82099a1e6f4da198c9fc2d1453ed","text":"\"role\": \"skladchik-mod: moderator v2 + PostgreSQL\","},{"line":122,"path":"kb/private/archive/2026-08-19/docs/01_CURRENT_AUTHORITATIVE_STATE.md","restore_word":false,"retire_word":true,"sha256":"a6e53577bc02cca2c62f4d63e89340690a78a41929c7ca37013c735e0e9dbcdc","text":""},{"line":42,"path":"kb/private/archive/2026-08-19/docs/02_CLUSTER_TOPOLOGY_AND_INVENTORY.md","restore_word":false,"retire_word":false,"sha256":"78cc3a463194b91aeb01c8ccb52ff04b0fc78b55351a4f1a96db7ccd4ae0dc93","text":"| 200 | skladchik-mod | lxc | pve03 | running |  | 6144 MiB | 39.1 GiB | skladchik-mod: moderator v2 + PostgreSQL |"},{"line":230,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"1ba645e76c0c9fb5702e772b040ab2f4119c2e551a927e862aa2e1f209e21d54","text":"## VM/LXC 200 \u2014 skladchik-mod"},{"line":232,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"cfcce474bc44c2d60e5dd57687292857120ce05edfd5ee254c5671483032b640","text":"Role: skladchik-mod: moderator v2 + PostgreSQL."},{"line":235,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"43aa79267790ff6a5b952682c7ad443a9526c70e049f1912d1edc9382ccd2e94","text":"- `skladchik-moderator-v2-collector.service`"},{"line":236,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"5e70090b97e4635f3944ae1452b150e2b9152b225a72fd9a231b293d228db6a0","text":"- `skladchik-moderator-v2-collector.timer`"},{"line":237,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"d7304d71661641620bedea86389f0942b15b1fdef4e698bdbf5f0bb80b3d716a","text":"- `skladchik-moderator-v2-rules.service`"},{"line":238,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"0300ab7115a1c399cd0ee29cf1cd2e94ab67001ba1ebe796fa828679d0e97d7c","text":"- `skladchik-moderator-v2-rules.timer`"},{"line":239,"path":"kb/private/archive/2026-08-19/docs/03_SERVICE_CATALOG.md","restore_word":false,"retire_word":false,"sha256":"1ff9539dd73582c2a1756d658b186382585e1ab9a6c13e47e2ea3931427a6a96","text":"- `skladchik-moderator-v2-web.service`"},{"line":103,"path":"kb/private/archive/2026-08-19/docs/11_OPEN_ISSUES_AND_FUTURE_WORK.md","restore_word":false,"retire_word":false,"sha256":"5c9e497c385d44ffb96741eecac5d21dc2210197ebfefb170cfec9f1a18d5bb6","text":"- CT200 whole subsystem"},{"line":18,"path":"kb/private/archive/2026-08-19/docs/15_CRITICAL_KEEP_RETIRE_DECISIONS.md","restore_word":false,"retire_word":true,"sha256":"495ae1c3b2699b2840e75445ea1c66cb67c3b0c4890da7baa4ac99c9bd0dc0f8","text":"| CT200 skladchik-mod | historical f
-20:SYSTEMD_V2_SERVICE={"ActiveState":"failed","ExecMainStatus":"2","Result":"exit-code","SubState":"failed","UnitFileState":"static","rc":0}
-21:SYSTEMD_V2_TIMER={"ActiveState":"active","Result":"success","SubState":"waiting","UnitFileState":"enabled","rc":0}
-22:SYSTEMD_RETENTION_SERVICE={"ActiveState":"failed","ExecMainStatus":"66","Result":"exit-code","SubState":"failed","UnitFileState":"static","rc":0}
-23:SYSTEMD_RETENTION_TIMER={"ActiveState":"active","Result":"success","SubState":"waiting","UnitFileState":"enabled","rc":0}
-24:CHILD_DIAGNOSTIC_VECTOR={"492_CHILD_LEGACY_SELFTEST":1,"492_CHILD_WRAPPER_SELFTEST":1,"492_PROVEN_LXC_ARGV_PROBE":1}
-25:NEXT_GATE=ASSISTANT_BUILD_494_FROM_EXACT_493_EVIDENCE
-26:CHANGES_MADE=false
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260917-INFRA-DR-BACKUPV2-492-CANDIDATE-BUILD-SUBPROCESS-DECOMPOSITION-493R1-20260916T223024Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119-20260918T225904Z.log|SHA256=841f3e5a74c06ca5111e8425dc6c875dab31a6364624432c4ffbcc8a2a0c9f40|BYTES=413
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119-20260918T225904Z.log
-1:NEWFI119_BEGIN
-2:COMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-APPLY119
-3:NEWFI119_SAFE_REPORT={"changes_made":false,"decision":"FAIL_CONTENT207_HOLD","error":"RuntimeError:PORTAL_ANCHOR","rollback_restored":true,"rollback_started":false}
-4:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119","rollback_restored":true,"rollback_started":false,"status":"FAIL","version":1}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/NEWFI-260919-NEWFDOM-CONTENT207-APPLY119-20260918T225904Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GRAM1-USDC-V42-READ-ONLY-PLAN-20260801T145300Z-20260801T165311Z.log|SHA256=c16acd7ab954591945c4217fb1164a9d843e977e059f5813af0a186f0e2eef0e|BYTES=76807
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GRAM1-USDC-V42-READ-ONLY-PLAN-20260801T145300Z-20260801T165311Z.log
-1:HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-USDC-V42-READ-ONLY-PLAN-20260801T145300Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
-2:{"changes_made":false,"command_id":"GRAM1-USDC-V42-READ-ONLY-PLAN-20260801T145300Z","control_plane_error":null,"gitea_changed":false,"mutation_outcome":"NO_MUTATION","pinned_host_key_aliases":["[PRIVATE_IP]"],"production_site_changed":false,"rc":0,"remote_result":{"active_container_hashes":{"web":{"rc":0,"stderr":"","stdout":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d  /app/app.py\n4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c  /app/worker.py\n3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2  /app/templates/index.html"},"worker":{"rc":0,"stderr":"","stdout":"ec226952cdb7fb58edbfc0173af47f4d901f3206e15169df12294983731fbc20  /app/app.py\n4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c  /app/worker.py\ne9e723c9b916383ce10dffe8f8bbdb4049b78d89c5b139e2de5ed82194a27be4  /app/templates/index.html"}},"app":{"assignments":[{"end_line":10,"line":10,"literal":null,"names":["MARKET"],"source":"MARKET = DATA / \"market.json\""},{"end_line":13,"line":13,"literal":{"avalanche-2":"AVAX","chainlink":"LINK","hedera-hashgraph":"HBAR","polygon-ecosystem-token":"POL"},"names":["COINS"],"source":"COINS = {\"hedera-hashgraph\": \"HBAR\", \"polygon-ecosystem-token\": \"POL\", \"avalanche-2\": \"AVAX\", \"chainlink\": \"LINK\"}"},{"end_line":128,"line":128,"literal":{"avalanche-2":"AVAX","binancecoin":"BNB","bitcoin":"₿","cardano":"ADA","chainlink":"LINK","dogecoin":"Ð","ethereum":"Ξ","hedera":"HBAR","hedera-hashgraph":"HBAR","ripple":"XRP","solana":"S","toncoin":"TON"},"names":["symbols"],"source":"symbols = {\"bitcoin\":\"₿\",\"ethereum\":\"Ξ\",\"solana\":\"S\",\"binancecoin\":\"BNB\",\"ripple\":\"XRP\",\"cardano\":\"ADA\",\"hedera-hashgraph\":\"HBAR\",\"hedera\":\"HBAR\",\"avalanche-2\":\"AVAX\",\"chainlink\":\"LINK\",\"toncoin\":\"TON\",\"dogecoin\":\"Ð\"}"},{"end_line":139,"line":139,"literal":{"AVAX":"AVAXUSDT","HBAR":"HBARUSDT","LINK":"LINKUSDT","POL":"POLUSDT"},"names":["KLINE_SYMBOLS"],"source":"KLINE_SYMBOLS = {\"HBAR\": \"HBARUSDT\", \"POL\": \"POLUSDT\", \"AVAX\": \"AVAXUSDT\", \"LINK\": \"LINKUSDT\"}"},{"end_line":147,"line":147,"literal":{},"names":["KLINE_CACHE"],"source":"KLINE_CACHE = {}"},{"end_line":148,"line":148,"literal":300,"names":["KLINE_CACHE_TTL"],"source":"KLINE_CACHE_TTL = 300"},{"end_line":149,"line":149,"literal":604800,"names":["KLINE_CACHE_MAX_STALE"],"source":"KLINE_CACHE_MAX_STALE = 604800"},{"end_line":150,"line":150,"literal":null,"names":["KLINE_CACHE_FILE"],"source":"KLINE_CACHE_FILE = DATA / \"klines-cache.json\""},{"end_line":151,"line":151,"literal":null,"names":["KLINE_CACHE_WRITE_LOCK"],"source":"KLINE_CACHE_WRITE_LOCK = threading.Lock()"},{"end_line":350,"line":350,"literal":null,"names":["holdings"],"source":"holdings = {r[\"coin_id\"]: {\"quantity\":r[\"quantity\"],\"avg_buy\":r[\"avg_buy\"]} for r in c.execute(\"SELECT * FROM holdings\")}"},{"end_line":351,"line":351,"literal":null,"names":["alerts"],"source":"alerts = [dict(r) for r in c.execute(\"SELECT * FROM alerts ORDER BY id DESC\")]"},{"end_line":367,"line":367,"literal":null,"names":["coin"],"source":"coin = str(x.get(\"coin_id\",\"\"))"},{"end_line":370,"line":370,"literal":null,"names":["quantity"],"source":"quantity = max(0.0, float(x.get(\"quantity\",0)))"},{"end_line":371,"line":371,"literal":null,"names":["avg_buy"],"source":"avg_buy = max(0.0, float(x.get(\"avg_buy\",0)))"},{"end_line":380,"line":380,"literal":null,"names":["coin"],"source":"coin = str(x.get(\"coin_id\",\"\"))"},{"end_line":406,"line":406,"literal":"","names":["_GRAM1_CHART_JS_B64"],"source":"_GRAM1_CHART_JS_B64 = \"\""},{"end_line":407,"line":407,"literal":["AVAX","POL","HBAR","LINK"],"names":["_GRAM1_CHART_SYMBOLS"],"source":"_GRAM1_CHART_SYMBOLS = {\"HBAR\", \"POL\", \"AVAX\", \"LINK\"}"},{"end_line":459,"line":459,"literal":null,"names":["price"],"source":"price=hi-span*n/4"},{"end_line":470,"line":470,"literal":null,"names":["symbol"],"source":"symbol=sy
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GRAM1-USDC-V42-READ-ONLY-PLAN-20260801T145300Z-20260801T165311Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IDMAP-CONTRACT-CANDIDATE-NATIVE-RCA-421R1-20260915T110641Z.log|SHA256=9e3f02e6dc4d8c5a99db5d3459a48737764e3247e18c2f621d160f13e38aa5a8|BYTES=11827
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IDMAP-CONTRACT-CANDIDATE-NATIVE-RCA-421R1-20260915T110641Z.log
-13:EXACT_OWNER_GRAPH=PASS
-14:PVE270_HOST_MAPPING_CONTRACT={"calls":[{"call":"validate_mapping(d)","line":16},{"call":"t.sha(t.read_secure(Path(p), 2 * 1024 ** 2)[0])","line":4},{"call":"PerlPin('/usr/bin/perl', '/usr/bin/perl5.40.1')","line":9},{"call":"pin.run(['-MPVE::LXC', '-MJSON::PP', '-e', code])","line":10},{"call":"need(rc == 0, 'PVE_IDMAP_READ_FAILED')","line":11},{"call":"pins.items()","line":12},{"call":"pin.check()","line":13},{"call":"json.loads(b)","line":14},{"call":"need(t.sha(t.read_secure(Path(p), 2 * 1024 ** 2)[0]) == h, 'PVE_MAPPING_SOURCE_CHANGED')","line":12},{"call":"old.PVEError('PVE_IDMAP_JSON')","line":15},{"call":"t.read_secure(Path(p), 2 * 1024 ** 2)","line":4},{"call":"Path(p)","line":4},{"call":"t.sha(t.read_secure(Path(p), 2 * 1024 ** 2)[0])","line":12},{"call":"t.read_secure(Path(p), 2 * 1024 ** 2)","line":12},{"call":"Path(p)","line":12}],"need_calls":[{"code":"PVE_IDMAP_READ_FAILED","line":11,"predicate":"rc == 0"},{"code":"PVE_MAPPING_SOURCE_CHANGED","line":12,"predicate":"t.sha(t.read_secure(Path(p), 2 * 1024 ** 2)[0]) == h"}],"returns":[{"expr":"validate_mapping(d)","line":16}],"signature":"()","source":"def host_mapping():\n    # Scope of the exception is this observed, protected system ELF pair only.\n    # PVE modules and private data retain the original single-link reader.\n    pins={p:t.sha(t.read_secure(Path(p),2*1024**2)[0]) for p in\n          ('/usr/share/perl5/PVE/LXC.pm','/usr/share/perl5/PVE/VZDump/LXC.pm')}\n    code=('my($m,$u,$g)=PVE::LXC::parse_id_maps({unprivileged=>1,lxc=>[]});'\n          'print JSON::PP->new->canonical->encode({root_uid=>0+$u,root_gid=>0+$g,'\n          'id_map=>[map {[$_->[0],0+$_->[1],0+$_->[2],0+$_->[3]]} @$m]});')\n    with PerlPin('/usr/bin/perl','/usr/bin/perl5.40.1') as pin:\n        rc,b=pin.run(['-MPVE::LXC','-MJSON::PP','-e',code])\n        need(rc==0,'PVE_IDMAP_READ_FAILED')\n        for p,h in pins.items():need(t.sha(t.read_secure(Path(p),2*1024**2)[0])==h,'PVE_MAPPING_SOURCE_CHANGED')\n        pin.check()\n    try:d=json.loads(b)\n    except (ValueError,UnicodeError):raise old.PVEError('PVE_IDMAP_JSON') from None\n    return validate_mapping(d)\n","source_sha256":"20e436dc2a7e0eba4baf39ab556ef75b404e58736cd744c632063aa19ad824c4"}
-15:PVE270_VALIDATE_MAPPING_CONTRACT={"calls":[{"call":"need(type(d) is dict and set(d) == {'root_uid', 'root_gid', 'id_map'}, 'IDMAP_SCHEMA')","line":2},{"call":"need(type(d['root_uid']) is int and type(d['root_gid']) is int, 'IDMAP_VALUE')","line":3},{"call":"need(d['root_uid'] == d['root_gid'] == 100000, 'ONLY_DEFAULT_UNPRIVILEGED_IDMAP')","line":4},{"call":"need(type(d['id_map']) is list and len(d['id_map']) == 2, 'IDMAP_ROWS')","line":6},{"call":"zip(d['id_map'], expect)","line":7},{"call":"need(type(row) is list and len(row) == 4 and (type(row[0]) is str) and all((type(n) is int for n in row[1:])) and (row == exp), 'IDMAP_NONDEFAULT')","line":8},{"call":"type(d)","line":2},{"call":"set(d)","line":2},{"call":"type(d['root_uid'])","line":3},{"call":"type(d['root_gid'])","line":3},{"call":"type(d['id_map'])","line":6},{"call":"len(d['id_map'])","line":6},{"call":"all((type(n) is int for n in row[1:]))","line":8},{"call":"type(row)","line":8},{"call":"len(row)","line":8},{"call":"type(row[0])","line":8},{"call":"type(n)","line":8}],"need_calls":[{"code":"IDMAP_SCHEMA","line":2,"predicate":"type(d) is dict and set(d) == {'root_uid', 'root_gid', 'id_map'}"},{"code":"IDMAP_VALUE","line":3,"predicate":"type(d['root_uid']) is int and type(d['root_gid']) is int"},{"code":"ONLY_DEFAULT_UNPRIVILEGED_IDMAP","line":4,"predicate":"d['root_uid'] == d['root_gid'] == 100000"},{"code":"IDMAP_ROWS","line":6,"predicate":"type(d['id_map']) is list and len(d['id_map']) == 2"},{"code":"IDMAP_NONDEFAULT","line":8,"predicate":"type(row) is list and len(row) == 4 and (type(row[0]) is str) and all((type(n) is int for n in row[1:])) and (row == exp)"}],"returns":[{"expr":"(d['root_uid'], d['root_gid'])","line":9}],"signature":"(d)","source":"def validate_mapping(d):\n    need(type(d) is dict and set(d)=={'root_uid','root_gid','id_map'},'IDMAP_SCHEMA')\n    need(type(d['root_uid']) is int and type(d['root_gid']) is int,'IDMAP_VALUE')\n    need(d['root_uid']==d['root_gid']==100000,'ONLY_DEFAULT_UNPRIVILEGED_IDMAP')\n    expect=[['u',0,100000,65536],['g',0,100000,65536]]\n    need(type(d['id_map']) is list and len(d['id_map'])==2,'IDMAP_ROWS')\n    for row,exp in zip(d['id_map'],expect):\n        need(type(row) is list and len(row)==4 and type(row[0]) is str and all(type(n) is int for n in row[1:]) and row==exp,'IDMAP_NONDEFAULT')\n    return d['root_uid'],d['root_gid']\n","source_sha256":"a1cc0bc448cab9212429924789e81ba7ebbc333380aa03477ca7807da28407aa"}
-16:IDMAP_AND_PRODUCER_CALL_SITES=[{"calls":[{"call":"validate_mapping(d)","line":154,"owner":"host_mapping"},{"call":"validate_mapping(mapping)","line":295,"owner":"produce"}],"file":"pve270.py","sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef"},{"calls":[{"call":"validate_mapping(mapping)","line":68,"owner":"produce"}],"file":"pve282.py","sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012"},{"calls":[{"call":"produce(job, work / 'producer')","line":92,"owner":"run_flow"}],"file":"guest266.py","sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868"},{"calls":[],"file":"adapter.py","sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3"},{"calls":[{"call":"f.produce(job, self.work, tools, lambda: None, mapping=MAP, emit=lambda k, v: self.events.append((k, v)))","line":172,"owner":"produce"},{"call":"self.produce()","line":174,"owner":"test_real_tar_sees_metadata_as_mapped_uid"},{"call":"f.validate_mapping(MAP)","line":14,"owner":"test_default_mapping"},{"call":"f.validate_mapping(d)","line":17,"owner":"test_root_mapping_refused"},{"call":"f.validate_mapping(d)","line":20,"owner":"test_custom_mapping_refused"},{"call":"f.validate_mapping(d)","line":23,"owner":"test_bool_mapping_refused"},{"call":"f.validate_mapping(d)","line":26,"owner":"test_extra_mapping_fields_refused"},{"call":"self.produce(fail=True)","line":178,"owner":"test_producer_failed_archive_retained"},{"call":"self.produce(leftover=True)","line":182,"owner":"test_nonempty_pve_temp_blocks_success"},{"call":"f.produce(j, p, tools, lambda: None, mapping=MAP, emit=lambda k, v: self.events.append((k, v)))","line":191,"owner":"test_fresh_archive_flows_through_existing_two_replica_engine"}],"file":"test_pve270.py","sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4"},{"calls":[{"call":"f.produce(job, self.work, tools, lambda: None, mapping=MAP, expected_config=job['config_sha256'], emit=lambda k, v: self.events.append((k, v)))","line":173,"owner":"produce"},{"call":"self.produce()","line":175,"owner":"test_real_tar_sees_metadata_as_mapped_uid"},{"call":"f.validate_mapping(MAP)","line":14,"owner":"test_default_mapping"},{"call":"f.validate_mapping(d)","line":17,"owner":"test_root_mapping_refused"},{"call":"f.validate_mapping(d)","line":20,"owner":"test_custom_mapping_refused"},{"call":"f.validate_mapping(d)","line":23,"owner":"test_bool_mapping_refused"},{"call":"f.validate_mapping(d)","line":26,"owner":"test_extra_mapping_fields_refused"},{"call":"self.produce(fail=True)","line":179,"owner":"test_producer_failed_archive_retained"},{"call":"self.produce(leftover=True)","line":183,"owner":"test_nonempty_pve_temp_blocks_success"},{"call":"f.produce(j, p, tools, lambda: None, mapping=MAP, expected_config=job['config_sha256'], emit=lambda k, v: self.events.append((k, v)))","line":192,"owner":"test_fresh_archive_flows_through_existing_two_replica_engine"}],"file":"test_producer282.py","sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7"},{"calls":[{"call":"f.select112(a, b, NOW)","line":35,"owner":"test_input_unchanged"},{"call":"f.select112(a, b, NOW)","line":38,"owner":"reject"},{"call":"f.select112(plan(), plan(), NOW + 301)","line":43,"owner":"test_stale"},{"call":"f.select112(plan(), plan(), NOW - 1)","line":45,"owner":"test_future"},{"call":"f.select112(plan(), plan(), NOW)","line":28,"owner":"test_selects_only112"},{"call":"f.select112(a, b, NOW)","line":33,"owner":"test_configured_16g_ct_fits_without_compression"}],"file":"test_pve282.py","sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4"}]
-17:HISTORICAL_MAPPING_FIXTURES=[{"file":"test_pve270.py","fixtures":[{"keys":["root_uid","root_gid","id_map"],"kind":"Dict","line":7,"name":"MAP","value_types":["Constant","Constant","List"]}]},{"file":"test_producer282.py","fixtures":[{"keys":["root_uid","root_gid","id_map"],"kind":"Dict","line":7,"name":"MAP","value_types":["Constant","Constant","List"]}]},{"file":"test_pve282.py","fixtures":[]}]
-18:ADAPTER_IDMAP_RELEVANT_FUNCTIONS=[{"line":24,"name":"load_graph","source":"def load_graph():\n import guest266,pve265,pve270,pve282\n if hasattr(guest266,'dump_argv'):raise RuntimeError('GUEST266_UNEXPECTED_DUMP_ARGV')\n if not hasattr(pve265,'dump_argv'):raise RuntimeError('PVE265_DUMP_ARGV_MISSING')\n if getattr(pve270,'old',None) is not pve265:raise RuntimeError('PVE270_OLD_NOT_PVE265')\n if getattr(pve282,'old',None) is not pve265:raise RuntimeError('PVE282_OLD_NOT_PVE265')\n if getattr(pve282,'proven',None) is not pve270:raise RuntimeError('PVE282_PROVEN_NOT_PVE270')\n for n in ('MappedScratch','capture_archive','validate_mapping'):\n  if not hasattr(pve270,n):raise RuntimeError('PVE270_'+n.upper()+'_MISSING')\n  if getattr(pve282,n,None) is not getattr(pve270,n):raise RuntimeError('PVE282_ALIAS_'+n.upper()+'_MISMATCH')\n return guest266,pve265,pve270,pve282","source_sha256":"2bacff83d3a642869c23d0cf65303f0a7176317c36f0050d1b51758658b1b207"},{"line":35,"name":"describe","source":"def describe():\n _,p265,p270,p282=load_graph()\n funcs={'pve265.dump_argv':p265.dump_argv,'pve265.validate_job':p265.validate_job,'pve265.make_plan':p265.make_plan,'pve270.validate_mapping':p270.validate_mapping,'pve270.capture_archive':p270.capture_archive,'pve270.produce':p270.produce,'pve282.select112':p282.select112,'pve282.produce':p282.produce}\n return {'schema':1,'bundle':'pve-lxc-adapter-411r1','source_sha256':EXPECTED,'signatures':{k:str(inspect.signature(v)) for k,v in funcs.items()},'owner':{'dump_argv':'pve265','MappedScratch':'pve270','capture_archive':'pve270','validate_mapping':'pve270','pve282.old':'pve265','pve282.proven':'pve270'}}","source_sha256":"dbb1a6c5def6887543b0130807d4027afeff33283cf0cb74286b45e9800b252d"}]
-19:PRODUCTION_POST_RCA_UNCHANGED=PASS
-20:CANDIDATE_POST_RCA_UNCHANGED=PASS
-21:STATUS=OK
-22:PHASE=COMPLETE
-23:REASON=NONE
-24:NEXT_GATE=PVE_LXC_IDMAP_WIRING_PROVEN_DRY_RUN
-25:CHANGES_MADE=false
-26:MUTATION_OUTCOME=NO_MUTATION
-27:PRODUCTION_PROMOTION=NO
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IDMAP-CONTRACT-CANDIDATE-NATIVE-RCA-421R1-20260915T110641Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/KOW-260907-A-INLINE3-20260907T163805Z.log|SHA256=122af3daf3a3aa68bbd1201013daf727f255bdeeed0c9347b8a15664cb47cbfb|BYTES=1302
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/KOW-260907-A-INLINE3-20260907T163805Z.log
-1:KOWAINLINE3_CHANGES_MADE=false
-2:KOWAINLINE3_COMMAND_ID=KOW-260907-A-INLINE3
-3:KOWAINLINE3_EDGE_SHA=fc9fb1dbdb6141bfb43a8122dcf3db435a94da48d0a0c02fe9dfae019b1439c5
-4:KOWAINLINE3_ERROR=origin_compression:RC_2
-5:KOWAINLINE3_ERROR_CLASS=RuntimeError
-6:KOWAINLINE3_FAILED_STEP=origin_compression
-7:KOWAINLINE3_GIT_CLEAN=true
-8:KOWAINLINE3_GIT_LOCAL_HEAD=3e5d8584ae6887c292cc910c5796e73d8d20aecd
-9:KOWAINLINE3_GIT_REMOTE_HEAD=3e5d8584ae6887c292cc910c5796e73d8d20aecd
-10:KOWAINLINE3_LIVE_ACCEPT_ENCODING_CLEAR_COUNT=0
-11:KOWAINLINE3_LIVE_PROXY_PASS_COUNT=1
-12:KOWAINLINE3_LIVE_REQUEST_ID_TOKEN_COUNT=0
-13:KOWAINLINE3_LIVE_SUB_FILTER_DIRECTIVE_COUNT=0
-14:KOWAINLINE3_LIVE_SUB_FILTER_ONCE_DIRECTIVE_COUNT=0
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/KOW-260907-A-INLINE3-20260907T163805Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-789-FIRST-ATTEMPT-RCA-READONLY-791R1-20260920T172746Z.log|SHA256=f20c4a2c8933bbe4bee112a18273e3db27b17c80e90305e96dd16de95b12fe42|BYTES=13434
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-789-FIRST-ATTEMPT-RCA-READONLY-791R1-20260920T172746Z.log
-3:COMPONENT=pvepro-homepage-portal-789-first-attempt-rca-readonly
-4:WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT
-5:PRODUCTION_HOST={"all_link_down":false,"config_sha256":"ebd2b7d44ab58a222b4fd5a7dcd9358d3082e593bd70fb07c2331c70f22e82ab","name":"pvepro-prod","snapshots":[],"status":"running"}
-6:STAGING_HOST={"all_link_down":true,"config_sha256":"27a4e57f09dfd93c374ff9597651cade264a9b10f13302dbf2b8345a9d40dd76","name":"pvepro-staging-v1","snapshots":["w2-pre-portal-cutover-787r1"],"status":"stopped"}
-7:FIRST_ATTEMPT_FILE_LIST=[{"bytes":6716,"kind":"public","name":"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z-latest.txt","path":"/var/lib/homelab-chat-run/public/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z-latest.txt","sha256":"32e329ae05d55fa6c161d425aebd54196d72784269736476bff9a25c5bfe5229"},{"bytes":7791,"kind":"public","name":"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.json","path":"/var/lib/homelab-chat-run/public/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.json","sha256":"670db6bdb2de76199e737dff2903e38f12d857e826be9df0bfc0f62b503310ef"},{"bytes":5667,"kind":"public","name":"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.txt","path":"/var/lib/homelab-chat-run/public/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.txt","sha256":"b21d9b46f99d26bc9797e2cc4030840fd01184a7241f5da57be2599e76c1789b"},{"bytes":5667,"kind":"raw","name":"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.log","path":"/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.log","sha256":"b21d9b46f99d26bc9797e2cc4030840fd01184a7241f5da57be2599e76c1789b"}]
-8:FIRST_ATTEMPT_JSON={"block_reason":null,"changes_made":true,"clipped":false,"command_id":"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1","command_rc":3,"command_sha256":"837b28c936ebdf9a4f402435fe3d3c3986e5510f601d322eafc68b2e55b71ae0","component":"pvepro-homepage-portal-source-persistence-recovery","duplicate_failed_command_blocked":false,"execution_started":true,"finished_at_utc":"2026-09-20T17:16:58Z","mode":"change","mutation_outcome":"MUTATED","path":"/var/lib/homelab-chat-run/public/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.json","raw_evidence_sha256":"b21d9b46f99d26bc9797e2cc4030840fd01184a7241f5da57be2599e76c1789b","rc":3,"result_contract_error":null,"result_contract_status":"FAIL","result_contract_valid":true,"rollback_restored":null,"rollback_started":false,"sanitized_output_sha256":"b21d9b46f99d26bc9797e2cc4030840fd01184a7241f5da57be2599e76c1789b","schema_version":1,"selected_output":["COMMAND_ID=SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1","MODE=change","COMPONENT=pvepro-homepage-portal-source-persistence-recovery","WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT","SOURCE_DURABLE_REDEPLOY={\"ok\":true,\"written\":{\"Pub/Controller/Portal.php\":{\"bytes\":250,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}}","SOURCE_MANIFEST_AFTER_REDEPLOY={\"Pub/Controller/Portal.php\":{\"bytes\":250,\"exists\":true,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"exists\":true,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"exists\":true,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"exists\":true,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"exists\":true,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}","PERSISTENCE_RECOVERY_ERROR_CLASS=RuntimeError","PERSISTENCE_RECOVERY_ERROR_SHA256=376930d68b92bbe9cb7cede47133604d1338b58b12d6c8f7e90cc4c16b293e6d","FAILURE_GRACEFUL_SHUTDOWN_RC=0","SAFETY_SNAPSHOT_RETAINED=True","TASK_RESULT=PVEPRO_HOMEPAGE_PORTAL_SOURCE_PERSISTENCE_RECOVERY_FAILED","HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}"],"started_at_utc":"2026-09-20T17:14:41Z","status":"FAIL"}
-9:FIRST_ATTEMPT_TEXT_01={"clipped":false,"path":"/var/lib/homelab-chat-run/public/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z-latest.txt","selected":["COMMAND_ID=SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1","STATUS=FAIL","RC=3","MODE=change","COMPONENT=pvepro-homepage-portal-source-persistence-recovery","COMMAND_SHA256=837b28c936ebdf9a4f402435fe3d3c3986e5510f601d322eafc68b2e55b71ae0","EXECUTION_STARTED=true","RESULT_CONTRACT_STATUS=FAIL","COMMAND_RC=3","CHANGES_MADE=true","ROLLBACK_STARTED=false","ROLLBACK_RESTORED=null","MUTATION_OUTCOME=MUTATED","COMMAND_ID=SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1","MODE=change","COMPONENT=pvepro-homepage-portal-source-persistence-recovery","WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT","SOURCE_DURABLE_REDEPLOY={\"ok\":true,\"written\":{\"Pub/Controller/Portal.php\":{\"bytes\":250,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}}","SOURCE_MANIFEST_AFTER_REDEPLOY={\"Pub/Controller/Portal.php\":{\"bytes\":250,\"exists\":true,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"exists\":true,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"exists\":true,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"exists\":true,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"exists\":true,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}","PERSISTENCE_RECOVERY_ERROR_CLASS=RuntimeError","PERSISTENCE_RECOVERY_ERROR_SHA256=376930d68b92bbe9cb7cede47133604d1338b58b12d6c8f7e90cc4c16b293e6d","FAILURE_GRACEFUL_SHUTDOWN_RC=0","SAFETY_SNAPSHOT_RETAINED=True","TASK_RESULT=PVEPRO_HOMEPAGE_PORTAL_SOURCE_PERSISTENCE_RECOVERY_FAILED","HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}"]}
-10:FIRST_ATTEMPT_TEXT_03={"clipped":false,"path":"/var/lib/homelab-chat-run/public/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.txt","selected":["COMMAND_ID=SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1","MODE=change","COMPONENT=pvepro-homepage-portal-source-persistence-recovery","WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT","SOURCE_DURABLE_REDEPLOY={\"ok\":true,\"written\":{\"Pub/Controller/Portal.php\":{\"bytes\":250,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}}","SOURCE_MANIFEST_AFTER_REDEPLOY={\"Pub/Controller/Portal.php\":{\"bytes\":250,\"exists\":true,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"exists\":true,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"exists\":true,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"exists\":true,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"exists\":true,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}","PERSISTENCE_RECOVERY_ERROR_CLASS=RuntimeError","PERSISTENCE_RECOVERY_ERROR_SHA256=376930d68b92bbe9cb7cede47133604d1338b58b12d6c8f7e90cc4c16b293e6d","FAILURE_GRACEFUL_SHUTDOWN_RC=0","SAFETY_SNAPSHOT_RETAINED=True","TASK_RESULT=PVEPRO_HOMEPAGE_PORTAL_SOURCE_PERSISTENCE_RECOVERY_FAILED","HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}"]}
-11:FIRST_ATTEMPT_TEXT_04={"clipped":false,"path":"/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1-20260920T171441Z.log","selected":["COMMAND_ID=SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1","MODE=change","COMPONENT=pvepro-homepage-portal-source-persistence-recovery","WINDOW_MODE=VISIBLE_SYNCHRONOUS_WAIT","SOURCE_DURABLE_REDEPLOY={\"ok\":true,\"written\":{\"Pub/Controller/Portal.php\":{\"bytes\":250,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}}","SOURCE_MANIFEST_AFTER_REDEPLOY={\"Pub/Controller/Portal.php\":{\"bytes\":250,\"exists\":true,\"sha256\":\"ba1d32539697631079f82eb91b397adffce95a52f261f16f767b89bedc363f01\"},\"Pub/View/Portal.php\":{\"bytes\":80,\"exists\":true,\"sha256\":\"347e980e0f9356d22a53e7af2797389e334a7206ceaec3a5488026a8e418dee6\"},\"_data/routes.xml\":{\"bytes\":145,\"exists\":true,\"sha256\":\"cda2bca556f34a4b50166d7547feb1e0baa4c4d7c550db522995850e4a57e49d\"},\"_data/templates.xml\":{\"bytes\":8768,\"exists\":true,\"sha256\":\"a48047f6aea81cf2ff3d9badc8e6232b4ef1b07295a46aad02ab1c161539bcf2\"},\"addon.json\":{\"bytes\":466,\"exists\":true,\"sha256\":\"9af0b1dd9d8c1103144bad346ca5d47e518be7daec90cf9744ded8225643ca5b\"}}","PERSISTENCE_RECOVERY_ERROR_CLASS=RuntimeError","PERSISTENCE_RECOVERY_ERROR_SHA256=376930d68b92bbe9cb7cede47133604d1338b58b12d6c8f7e90cc4c16b293e6d","FAILURE_GRACEFUL_SHUTDOWN_RC=0","SAFETY_SNAPSHOT_RETAINED=True","TASK_RESULT=PVEPRO_HOMEPAGE_PORTAL_SOURCE_PERSISTENCE_RECOVERY_FAILED","HOMELAB_RESULT_CONTRACT={\"changes_made\":true,\"command_id\":\"SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}"]}
-12:LEDGER_MATCHES=[{"line":2364,"text":"2026-09-20T17:16:58Z\tSUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1\t837b28c936ebdf9a4f402435fe3d3c3986e5510f601d322eafc68b2e55b71ae0\t3\tFAIL\tpvepro-homepage-portal-source-persistence-recovery"},{"line":2365,"text":"2026-09-20T17:17:13Z\tSUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-SOURCE-PERSISTENCE-RECOVERY-789R1\t837b28c936ebdf9a4f402435fe3d3c3986e5510f601d322eafc68b2e55b71ae0\t73\tBLOCKED\tpvepro-homepage-portal-source-persistence-recovery"}]
-13:FIRST_ATTEMPT_ERROR_DECODE={"candidate_matches":["SOURCE_MANIFEST_AFTER_REDEPLOY"],"sha256":"376930d68b92bbe9cb7cede47133604d1338b58b12d6c8f7e90cc4c16b293e6d"}
-14:FIRST_ATTEMPT_PROVEN=True
-15:NO_VM_START=True
-16:NO_VM_STOP=True
-17:NO_SNAPSHOT_MUTATION=True
-18:NO_XENFORO_WRITE=True
-19:NO_MUTATION=True
-20:PRODUCT_CHECKPOINTS_REMAINING=18
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/SUPPORT-260920-PVEPRO-HOMEPAGE-PORTAL-789-FIRST-ATTEMPT-RCA-READONLY-791R1-20260920T172746Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-WRITE-MODE-141-20260722T064108Z.log|SHA256=d745fd14a16bd7924373b5774d64342db1ab7e0d12e751efef1cac218b0d9892|BYTES=1774
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-WRITE-MODE-141-20260722T064108Z.log
-1:JSON_IMMUTABLE_COMMIT=6153e0b3fa0e3b33b10c87913873c9ad46fec07a
-2:TXT_IMMUTABLE_COMMIT=6153e0b3fa0e3b33b10c87913873c9ad46fec07a
-3:Traceback (most recent call last):
-4:  File "", line 1, in 
-5:    import json,sys; d=json.load(open(sys.argv[1])); assert d.get("command_id")==sys.argv[2],d; assert d.get("status")=="OK",d; assert int(d.get("rc"))==0,d; assert d.get("execution_started") is True,d
-6:                                                                                                       ^^^^^^^^^^^^^^^^^^^^^
-7:AssertionError: {'schema_version': 1, 'channel': 'homelab-runtime', 'command_id': 'CLUSTER-REFERENCE-MODE-AUDIT-140', 'status': 'FAIL', 'rc': 22, 'host': 'pve01', 'mode': 'read-only', 'component': 'cluster-audit', 'started_at_utc': '2026-07-22T06:37:48Z', 'finished_at_utc': '2026-07-22T06:37:49Z', 'reference_register_checked': True, 'reference_sha256': '5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e', 'error_register_checked': True, 'error_register_sha256': '08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752', 'command_sha256': '1f34a867cab9808781b5127ab5d4f8469449dfe4ebaa4284071157c47aa9d399', 'duplicate_failed_command_blocked': False, 'block_reason': None, 'execution_started': True, 'changes_made': False, 'sanitized': True, 'secrets_included': False, 'private_addresses_included': False, 'raw_evidence_retained_locally': True, 'raw_evidence_sha256': '0fb219efe96c7b0a4962325763ebbe3324456de8ca7b7d1e71142d92a6d8eab2', 'sanitized_output_sha256': '0fb219efe96c7b0a4962325763ebbe3324456de8ca7b7d1e71142d92a6d8eab2', 'output_truncated_in_json': False, 'full_sanitized_output_url': 'https://git.gram1.ru/.well-known/homelab-runtime/latest.txt', 'output': 'curl: (22) The requested URL returned error: 404\n'}
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/CLUSTER-REFERENCE-WRITE-MODE-141-20260722T064108Z.log
-EVIDENCE_FILE=/var/lib/homelab-chat-run/raw/GITEA-READER-LOCAL-SERVICE-V2-INSTALL-248-20260722T195622Z.log|SHA256=58ae91f2e92115d0de964a42b713a2ff6d620cbed42a2d41cbdba884857473af|BYTES=1078
-EVIDENCE_EXCERPT_BEGIN=/var/lib/homelab-chat-run/raw/GITEA-READER-LOCAL-SERVICE-V2-INSTALL-248-20260722T195622Z.log
-1:Created symlink '/etc/systemd/system/multi-user.target.wants/homelab-reader-v2.service' → '/etc/systemd/system/homelab-reader-v2.service'.
-2:curl: (22) The requested URL returned error: 500
-3:Traceback (most recent call last):
-4:  File "", line 145, in 
-5:    feed=json.loads(subprocess.check_output(["/usr/bin/curl","-fsS",feed_url],text=True))
-6:                    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-7:  File "/usr/lib/python3.13/subprocess.py", line 472, in check_output
-8:    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
-9:           ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-10:               **kwargs).stdout
-11:               ^^^^^^^^^
-12:  File "/usr/lib/python3.13/subprocess.py", line 577, in run
-EVIDENCE_EXCERPT_END=/var/lib/homelab-chat-run/raw/GITEA-READER-LOCAL-SERVICE-V2-INSTALL-248-20260722T195622Z.log
-FINAL413_RAW_EVIDENCE_DISCOVERY_END=true
-FINAL413_JOURNAL_BEGIN=true
-2026-09-21T20:47:45+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:47:45] "GET /backup-restore-dashboard.txt HTTP/1.1" 200 -
-2026-09-21T20:48:04+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:48:04] "GET /backup.txt HTTP/1.1" 200 -
-2026-09-21T20:48:15+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:48:15] "GET /backup-restore-dashboard.txt HTTP/1.1" 200 -
-2026-09-21T20:48:18+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:48:18] "GET /paperless-backup.txt HTTP/1.1" 200 -
-2026-09-21T20:48:19+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:48:19] "GET /netbird-vps-backup.txt HTTP/1.1" 200 -
-2026-09-21T20:48:21+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:48:21] "GET /app-stacks-batch-backup.txt HTTP/1.1" 200 -
-2026-09-21T20:48:23+03:00 pve01 homelab-router-watchdog[989366]: ROUTER_WATCHDOG_STATUS=OK ACTION=none REASON=router_wan_and_outbound_healthy SSH_OK=1 WAN_OK=1 OUTBOUND_OK=2 FAIL_COUNT=0
-2026-09-21T20:48:28+03:00 pve01 systemd[989492]: Queued start job for default target default.target.
-2026-09-21T20:48:45+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:48:45] "GET /backup-restore-dashboard.txt HTTP/1.1" 200 -
-2026-09-21T20:49:04+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:49:04] "GET /backup.txt HTTP/1.1" 200 -
-2026-09-21T20:49:07+03:00 pve01 postfix/qmgr[3015187]: 33ABB245CA0: from=<>, size=2787, nrcpt=1 (queue active)
-2026-09-21T20:49:07+03:00 pve01 postfix/qmgr[3015187]: 3174E245BC9: from=<>, size=2671, nrcpt=1 (queue active)
-2026-09-21T20:49:07+03:00 pve01 postfix/qmgr[3015187]: A71CD242497: from=<>, size=8515, nrcpt=1 (queue active)
-2026-09-21T20:49:07+03:00 pve01 postfix/local[989846]: error: open database /etc/aliases.db: No such file or directory
-2026-09-21T20:49:07+03:00 pve01 postfix/local[989846]: warning: hash:/etc/aliases: lookup of 'root' failed
-2026-09-21T20:49:07+03:00 pve01 postfix/local[989847]: error: open database /etc/aliases.db: No such file or directory
-2026-09-21T20:49:07+03:00 pve01 postfix/local[989847]: warning: hash:/etc/aliases: lookup of 'root' failed
-2026-09-21T20:49:07+03:00 pve01 postfix/local[989847]: warning: hash:/etc/aliases: lookup of 'root' failed
-2026-09-21T20:49:15+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:49:15] "GET /backup-restore-dashboard.txt HTTP/1.1" 200 -
-2026-09-21T20:49:18+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:49:18] "GET /paperless-backup.txt HTTP/1.1" 200 -
-2026-09-21T20:49:19+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:49:19] "GET /netbird-vps-backup.txt HTTP/1.1" 200 -
-2026-09-21T20:49:21+03:00 pve01 python3[1212]: [PRIVATE_IP] - - [21/Sep/2026 20:49:21] "GET /app-stacks-batch-backup.txt HTTP/1.1" 200 -
-FINAL413_JOURNAL_END=true
-PRODUCER_STATIC_BEGIN=true
-PRODUCER_FILE=/usr/local/sbin/homelab-vm-cloud-quorum-queue|SHA256=fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612
-3-umask 077
-4-
-5-WORKER=/usr/local/libexec/homelab-vm-cloud-quorum-node-worker
-6:PROBE=/usr/local/libexec/homelab-vm-cloud-quorum-freshness-probe
-7:LOCK=/run/lock/homelab-vm-cloud-quorum-queue.lock
-8:HEAVY_LOCK=/run/homelab-backup-heavy.lock
-9-FRESHNESS_SECONDS=72000
-10-DUE_SECONDS=43200
-11-SSH_BASE=(-o BatchMode=yes -o ConnectTimeout=12 -o StrictHostKeyChecking=yes -o UserKnownHostsFile=[SENSITIVE_PATH]
-12:ALL_VMIDS=(160 170 130 171 180 190 150 9130 110 111 112 113 200)
-13:MIGRATE_VMIDS=(160 170 130 171 180 190 150 9130 111 112 113)
-14-
-15-die(){ printf 'VM_QUORUM_QUEUE_ERROR=%s\n' "$1" >&2; exit "${2:-65}"; }
-16-(( DUE_SECONDS > 0 && DUE_SECONDS < FRESHNESS_SECONDS )) || die DUE_THRESHOLD_INVALID 65
---
-19-    110|112|150|170|171) printf 'pve01\n' ;;
-20-    111|113|160|180|9130) printf 'pve02\n' ;;
-21-    130|190|200) printf 'pve03\n' ;;
-22:    *) die "VMID_NOT_ALLOWED_$1" 64 ;;
-23-  esac
-24-}
-25-observed_owner(){
-26:  local vmid="$1"
-27:  pvesh get /cluster/resources --type vm --output-format json | jq -er --argjson id "$vmid" '.[]|select(.vmid==$id)|.node'
-28-}
-29-owner_host(){
-30-  case "$1" in
---
-35-}
-36-run_worker() {
-37-  (
-38:    exec 209>"$HEAVY_LOCK"
-39-    if ! /usr/bin/flock -n 209; then
-40:      printf '%s\n' 'VM_QUEUE_HEAVY_LOCK_BUSY'
-41-      exit 0
-42-    fi
-43-    _run_worker_unlocked "$@"
-44-  )
-45-}
-46-_run_worker_unlocked() {
-47:  local vmid="$1" action="$2" generation="${3:-}" owner observed host
-48:  owner="$(expected_owner "$vmid")"
-49:  observed="$(observed_owner "$vmid")"
-50:  [[ "$observed" == "$owner" ]] || die "CLUSTER_OWNER_MISMATCH_${vmid}_${observed}_EXPECTED_${owner}" 65
-51-  if [[ "$owner" == "pve01" ]]; then
-52:    if [[ "$action" == "verify" ]]; then "$WORKER" verify "$vmid" "$generation"; else "$WORKER" "$action" "$vmid"; fi
-53-  else
-54-    host="$(owner_host "$owner")"
-55-    if [[ "$action" == "verify" ]]; then
-56:      ssh "${SSH_BASE[@]}" "$host" "$WORKER" verify "$vmid" "$generation"
-57-    else
-58:      ssh "${SSH_BASE[@]}" "$host" "$WORKER" "$action" "$vmid"
-59-    fi
-60-  fi
-61-}
-62-run_probe(){
-63:  local vmid="$1" owner observed host
-64:  owner="$(expected_owner "$vmid")"
-65:  observed="$(observed_owner "$vmid")"
-66:  [[ "$observed" == "$owner" ]] || die "CLUSTER_OWNER_MISMATCH_${vmid}_${observed}_EXPECTED_${owner}" 65
-67-  if [[ "$owner" == "pve01" ]]; then
-68:    "$PROBE" decision "$vmid"
-69-  else
-70-    host="$(owner_host "$owner")"
-71:    ssh "${SSH_BASE[@]}" "$host" "$PROBE" decision "$vmid"
-72-  fi
-73-}
-74-plan_all(){
-75:  local vmid
-76:  for vmid in "${ALL_VMIDS[@]}"; do
-77:    printf 'QUEUE_PLAN VMID=%s EXPECTED_OWNER=%s OBSERVED_OWNER=%s\n' "$vmid" "$(expected_owner "$vmid")" "$(observed_owner "$vmid")"
-78-  done
-79-}
-80:freshness_decision(){
-81:  local vmid="$1" now_epoch="$2" out decision generation sealed_epoch age
-82:  out="$(run_probe "$vmid")"
-83-  printf '%s\n' "$out"
-84-  decision="$(awk -F= '$1=="DECISION"{print $2}' <<<"$out" | tail -1)"
-85-  case "$decision" in
-86-    BACKUP_RESUME)
-87:      generation="$(awk -F= '$1=="GENERATION"{print $2}' <<<"$out" | tail -1)"
-88:      printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_RESUME GENERATION=%s\n' "$vmid" "$generation"
-89-      ;;
-90:    SEALED_PROVEN)
-91:      generation="$(awk -F= '$1=="GENERATION"{print $2}' <<<"$out" | tail -1)"
-92-      sealed_epoch="$(awk -F= '$1=="SEALED_EPOCH"{print $2}' <<<"$out" | tail -1)"
-93-      if [[ ! "$sealed_epoch" =~ ^[0-9]+$ ]]; then
-94:        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_UNVERIFIED REASON=SEALED_EPOCH_INVALID\n' "$vmid"
-95-        return 0
-96-      fi
-97-      age=$((now_epoch-sealed_epoch))
-98-      if (( age >= 0 && age < DUE_SECONDS )); then
-99:        printf 'QUEUE_FRESHNESS VMID=%s DECISION=SKIP_FRESH GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\n' "$vmid" "$generation" "$age" "$DUE_SECONDS" "$FRESHNESS_SECONDS"
-100-      elif (( age >= DUE_SECONDS && age < FRESHNESS_SECONDS )); then
-101:        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_DUE GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\n' "$vmid" "$generation" "$age" "$DUE_SECONDS" "$FRESHNESS_SECONDS"
-102-      elif (( age >= FRESHNESS_SECONDS )); then
-103:        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_STALE GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\n' "$vmid" "$generation" "$age" "$DUE_SECONDS" "$FRESHNESS_SECONDS"
-104-      else
-105:        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_UNVERIFIED REASON=SEALED_TIMESTAMP_IN_FUTURE GENERATION=%s AGE_SECONDS=%s\n' "$vmid" "$generation" "$age"
-106-      fi
-107-      ;;
-108-    BACKUP_UNVERIFIED)
-109:      printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_UNVERIFIED\n' "$vmid"
-110-      ;;
-111-    *)
-112:      die "FRESHNESS_DECISION_INVALID_${vmid}_${decision:-EMPTY}" 65
-113-      ;;
-114-  esac
-115-}
-116:freshness_plan(){
-117:  local vmid now_epoch out decision
-118-  [[ -x "$PROBE" ]] || die "FRESHNESS_PROBE_NOT_INSTALLED" 69
-119:  for vmid in "${ALL_VMIDS[@]}"; do
-120-    now_epoch="$(date -u +%s)"
-121:    out="$(freshness_decision "$vmid" "$now_epoch")"
-122-    printf '%s\n' "$out"
-123-    decision="$(awk '/^QUEUE_FRESHNESS /{for(i=1;i<=NF;i++)if($i~/^DECISION=/){sub(/^DECISION=/,"",$i);print $i}}' <<<"$out" | tail -1)"
-124:    [[ -n "$decision" ]] || die "FRESHNESS_PLAN_DECISION_MISSING_$vmid" 65
-125:    printf 'QUEUE_FRESHNESS_PLAN VMID=%s DECISION=%s\n' "$vmid" "$decision"
-126-  done
-127-}
-128-backup_list_force(){
-129:  local vmid out generation
-130-  exec 9>"$LOCK"
-131-  flock -n 9 || die "GLOBAL_QUEUE_LOCK_BUSY" 75
-132:  exec 8>"$HEAVY_LOCK"
-133:  flock -n 8 || die "GLOBAL_HEAVY_LOCK_BUSY" 75
-134:  for vmid in "$@"; do
-135:    printf 'QUEUE_BEGIN VMID=%s OWNER=%s MODE=FORCE\n' "$vmid" "$(expected_owner "$vmid")"
-136:    out="$(exec 8>&-; exec 9>&-; run_worker "$vmid" backup)"
-137-    printf '%s\n' "$out"
-138:    generation="$(awk -F= '$1=="GENERATION"{print $2}' <<<"$out" | tail -1)"
-139:    [[ -n "$generation" ]] || die "GENERATION_NOT_RETURNED_$vmid" 65
-140:    printf 'QUEUE_SEALED VMID=%s GENERATION=%s\n' "$vmid" "$generation"
-141-  done
-142-}
-143-dispatch_plan(){
-144:  freshness_plan
-145-}
-146-dispatch_one(){
-147:  local vmid="$1" freshness decision now_epoch out generation
-148-  [[ "${HOMELAB_BACKUP_DISPATCHER:-}" == 1 ]] || die "DISPATCH_ONE_DIRECT_FORBIDDEN" 64
-149:  expected_owner "$vmid" >/dev/null
-150-  exec 9>"$LOCK"
-151-  if ! flock -n 9; then
-152:    printf 'QUEUE_DEFERRED KIND=VM REASON=GLOBAL_QUEUE_LOCK_BUSY VMID=%s\n' "$vmid"
-153-    return 0
-154-  fi
-155:  exec 8>"$HEAVY_LOCK"
-156-  if ! flock -n 8; then
-157:    printf 'QUEUE_DEFERRED KIND=VM REASON=GLOBAL_HEAVY_LOCK_BUSY VMID=%s\n' "$vmid"
-158-    return 0
-159-  fi
-160-  now_epoch="$(date -u +%s)"
-161:  freshness="$(exec 8>&-; exec 9>&-; freshness_decision "$vmid" "$now_epoch")"
-162:  printf '%s\n' "$freshness"
-163:  decision="$(awk '/^QUEUE_FRESHNESS /{for(i=1;i<=NF;i++)if($i~/^DECISION=/){sub(/^DECISION=/,"",$i);print $i}}' <<<"$freshness" | tail -1)"
-164-  case "$decision" in
-165-    SKIP_FRESH)
-166:      generation="$(awk '/^QUEUE_FRESHNESS /{for(i=1;i<=NF;i++)if($i~/^GENERATION=/){sub(/^GENERATION=/,"",$i);print $i}}' <<<"$freshness" | tail -1)"
-167:      printf 'QUEUE_DISPATCH_RESULT KIND=VM VMID=%s RESULT=SKIP_FRESH GENERATION=%s\n' "$vmid" "$generation"
-168-      return 0
-169-      ;;
-170:    BACKUP_RESUME|BACKUP_STALE|BACKUP_DUE|BACKUP_UNVERIFIED) ;;
-171:    *) die "FRESHNESS_RECHECK_INVALID_${vmid}_${decision:-EMPTY}" 65 ;;
-172-  esac
-173:  printf 'QUEUE_BEGIN VMID=%s OWNER=%s MODE=%s DISPATCH=ONE_TARGET\n' "$vmid" "$(expected_owner "$vmid")" "$decision"
-174:  out="$(exec 8>&-; exec 9>&-; run_worker "$vmid" backup)"
-175-  printf '%s\n' "$out"
-176:  generation="$(awk -F= '$1=="GENERATION"{print $2}' <<<"$out" | tail -1)"
-177:  [[ -n "$generation" ]] || die "GENERATION_NOT_RETURNED_$vmid" 65
-178:  printf 'QUEUE_SEALED VMID=%s GENERATION=%s DISPATCH=ONE_TARGET\n' "$vmid" "$generation"
-179:  printf 'QUEUE_DISPATCH_RESULT KIND=VM VMID=%s RESULT=SEALED GENERATION=%s\n' "$vmid" "$generation"
-180-}
-181-
-182-ACTION="${1:-}"
---
-185-    [[ "$#" == 1 ]] || die "USAGE_PLAN" 64
-186-    plan_all
-187-    ;;
-188:  freshness-plan)
-189-    [[ "$#" == 1 ]] || die "USAGE_FRESHNESS_PLAN" 64
-190:    freshness_plan
-191-    ;;
-192-  dispatch-plan)
-193-    [[ "$#" == 1 ]] || die "USAGE_DISPATCH_PLAN" 64
---
-203-    ;;
-204-  migrate)
-205-    [[ "$#" == 1 ]] || die "USAGE_MIGRATE" 64
-206:    backup_list_force "${MIGRATE_VMIDS[@]}"
-207-    ;;
-208-  all)
-209-    [[ "$#" == 1 ]] || die "USAGE_ALL" 64
-PRODUCER_FILE=/usr/local/libexec/homelab-vm-cloud-quorum-freshness-probe|SHA256=bd6257397c6ea910df2ea0dd57252b33bccd0bbd965175840486dfe5e079bf96
-2-set -Eeuo pipefail
-3-umask 077
-4-STATE_ROOT=/var/lib/homelab-backup/cloud-quorum
-5:RESTORE_ROOT=/var/lib/homelab-backup/vm-restore-validation
-6-HOST="$(hostname -s)"
-7-die(){ printf 'VM_FRESHNESS_PROBE_ERROR=%s\n' "$1" >&2; exit "${2:-65}"; }
-8-expected_owner(){
---
-10-110|112|150|170|171) printf 'pve01\n' ;;
-11-111|113|160|180|9130) printf 'pve02\n' ;;
-12-130|190|200) printf 'pve03\n' ;;
-13:*) die "VMID_NOT_ALLOWED_$1" 64 ;;
-14-esac
-15-}
-16-assert_local_identity(){
-17:local vmid="$1" owner
-18:owner="$(expected_owner "$vmid")"
-19:[[ "$HOST" == "$owner" ]] || die "OWNER_MISMATCH_${vmid}_${HOST}_EXPECTED_${owner}" 65
-20-}
-21-state_scan(){
-22:local vmid="$1" dir="$STATE_ROOT/vm${vmid}" f status
-23-[[ -d "$dir" ]] || return 0
-24-while IFS= read -r f; do
-25-[[ -s "$f" && ! -L "$f" ]] || { printf 'UNSAFE|%s\n' "$f"; continue; }
---
-29-return 0
-30-}
-31-decision(){
-32:  local vmid="$1" dir latest generation restore updated epoch row kind file sha
-33-  local -a pending=() scan=()
-34:  assert_local_identity "$vmid"; dir="$STATE_ROOT/vm${vmid}"; mapfile -t scan < <(state_scan "$vmid")
-35-  for row in "${scan[@]}"; do
-36-    kind="${row%%|*}"; file="${row#*|}"
-37-    case "$kind" in
-38-      INCOMPLETE) pending+=("$file") ;;
-39:      INVALID|UNSAFE) printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=STATE_%s\nSTATE_FILE=%s\n' "$vmid" "$kind" "$file"; return 0 ;;
-40:      *) die "STATE_SCAN_RESULT_INVALID_$vmid" 65 ;;
-41-    esac
-42-  done
-43:  (( ${#pending[@]} <= 1 )) || die "MULTIPLE_INCOMPLETE_GENERATIONS_$vmid" 65
-44:  if (( ${#pending[@]} == 1 )); then generation="$(jq -er '.generation' "${pending[0]}")"; printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_RESUME\nGENERATION=%s\nSTATE_FILE=%s\n' "$vmid" "$generation" "${pending[0]}"; return 0; fi
-45:  if [[ ! -d "$dir" ]]; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=STATE_DIR_MISSING\n' "$vmid"; return 0; fi
-46-  latest="$(find "$dir" -maxdepth 1 -type f -name '*.json' -printf '%T@|%p\n' | LC_ALL=C sort -t'|' -k1,1nr | awk -F'|' 'NR==1{print $2}')"
-47:  if [[ -z "$latest" ]]; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=STATE_MISSING\n' "$vmid"; return 0; fi
-48:  [[ -s "$latest" && ! -L "$latest" ]] || die "LATEST_STATE_UNSAFE_$vmid" 65
-49:  if ! jq -e '.schema=="homelab-cloud-quorum-payload-v1" and .status=="SEALED" and .cloud_quorum==2 and .cloud_a_verified==true and .cloud_b_verified==true and .part_hashes_verified==true and .seal_written==true and .cloud_a_seal_verified==true and .cloud_b_seal_verified==true and .local_payload_present==false and .local_cleanup=="OK"' "$latest" >/dev/null; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=LATEST_STATE_NOT_STRICT_SEALED\nSTATE_FILE=%s\n' "$vmid" "$latest"; return 0; fi
-50:  generation="$(jq -er '.generation' "$latest")"; sha="$(jq -er '.archive_sha256' "$latest")"; restore="$RESTORE_ROOT/vm${vmid}/$generation.json"
-51:  if [[ ! -s "$restore" || -L "$restore" ]]; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=RESTORE_EVIDENCE_MISSING\nGENERATION=%s\nSTATE_FILE=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$generation" "$latest" "$restore"; return 0; fi
-52:  if ! jq -e --arg l "vm${vmid}" --arg g "$generation" --arg s "$latest" --arg sha "$sha" '.schema=="homelab-vm-restore-validation-v1" and .logical_id==$l and .generation==$g and .transport_state=="SEALED" and .transport_state_file==$s and .restore_source=="Cloud A" and .parts_manifest_verified==true and .payload_sha256==$sha and .payload_sha256_verified==true and .payload_decompression_verified==true and .proxmox_config_extract_verified==true and .archive_recovery_readback_verified==true and .bounded_staging==true and .full_local_payload_written==false and .full_restore_proven==false and .result=="OK"' "$restore" >/dev/null; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=RESTORE_EVIDENCE_NOT_STRICT_OK\nGENERATION=%s\nSTATE_FILE=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$generation" "$latest" "$restore"; return 0; fi
-53-  updated="$(jq -er '.updated_at_utc' "$latest")"
-54:  if [[ ! "$updated" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ ]]; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=UPDATED_AT_FORMAT_INVALID\nGENERATION=%s\nUPDATED_AT_UTC=%s\nSTATE_FILE=%s\n' "$vmid" "$generation" "$updated" "$latest"; return 0; fi
-55:  if ! epoch="$(date -u -d "$updated" +%s 2>/dev/null)"; then printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=BACKUP_UNVERIFIED\nREASON=UPDATED_AT_INVALID\nGENERATION=%s\nUPDATED_AT_UTC=%s\nSTATE_FILE=%s\n' "$vmid" "$generation" "$updated" "$latest"; return 0; fi
-56:  [[ "$epoch" =~ ^[0-9]+$ ]] || die "SEALED_EPOCH_INVALID_$vmid" 65
-57:  printf 'FRESHNESS_STATUS=OK\nVMID=%s\nDECISION=SEALED_PROVEN\nGENERATION=%s\nUPDATED_AT_UTC=%s\nSEALED_EPOCH=%s\nSTATE_FILE=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$generation" "$updated" "$epoch" "$latest" "$restore"
-58-}
-59-ACTION="${1:-}"
-60-case "$ACTION" in
-PRODUCER_FILE=/usr/local/libexec/homelab-vm-cloud-quorum-node-worker|SHA256=91bdd116be865560a38105dffbd1a66d687232035e2359e4a5be4d225e9c61d1
-5-TRANSPORT_SHA_EXPECTED=df9e19485e5d87112bf58bf77bdddf3b9b896418dd85ff945a31cd5b6817f352
-6-STATE_ROOT=/var/lib/homelab-backup/cloud-quorum
-7-STAGE_ROOT=/mnt/staging/homelab-vm-cloud-quorum
-8:RESTORE_STATE_ROOT=/var/lib/homelab-backup/vm-restore-validation
-9:RESTORE_WORK_ROOT=/mnt/staging/homelab-vm-restore-validation
-10-LXC_TMP_ROOT=/var/tmp
-11-REMOTE_A='pve01-mail-01-crypt:homelab-backups'
-12-REMOTE_B='pve01-mail-02-crypt:homelab-backups'
---
-16-[[ -x "$TRANSPORT" && ! -L "$TRANSPORT" ]] || die TRANSPORT_MISSING 69
-17-[[ "$(sha256sum "$TRANSPORT"|awk '{print $1}')" == "$TRANSPORT_SHA_EXPECTED" ]] || die TRANSPORT_SHA_MISMATCH 65
-18-ACTIVE_RESTORE_STAGE=""
-19:cleanup_restore_stage(){ if [[ -n "$ACTIVE_RESTORE_STAGE" && "$ACTIVE_RESTORE_STAGE" == "$RESTORE_WORK_ROOT"/* && -d "$ACTIVE_RESTORE_STAGE" ]]; then rm -rf --one-file-system "$ACTIVE_RESTORE_STAGE"; fi; }
-20:trap cleanup_restore_stage EXIT
-21:active_backup_restore(){ local rc; if pgrep -af '(^|/)(vzdump|qmrestore|pctrestore|vma|zstd|rclone)([[:space:]]|$)'; then return 0; else rc=$?; [[ "$rc" == 1 ]] && return 0; die "PGREP_FAILED_$rc" 69; fi; }
-22-snapshot_count_160(){ qm listsnapshot 160 | awk '/->/ && $0 !~ /current/{n++} END{print n+0}'; }
-23-vm_lock(){ qm config "$1" | awk -F': ' '$1=="lock"{print $2; found=1} END{if(!found) print "none"}'; }
-24-expected_owner(){
---
-26-110|112|150|170|171) printf 'pve01\n' ;;
-27-111|113|160|180|9130) printf 'pve02\n' ;;
-28-130|190|200) printf 'pve03\n' ;;
-29:*) die "VMID_NOT_ALLOWED_$1" 64 ;;
-30-esac
-31-}
-32-expected_type(){
-33-case "$1" in
-34-110|111|112|113|200) printf 'lxc\n' ;;
-35-130|150|160|170|171|180|190|9130) printf 'qemu\n' ;;
-36:*) die "VMID_NOT_ALLOWED_$1" 64 ;;
-37-esac
-38-}
-39-expected_status(){
-40-if [[ "$1" == "9130" ]]; then printf 'stopped\n'; else printf 'running\n'; fi
-41-}
-42-current_status(){
-43:local vmid="$1" type="$2"
-44:if [[ "$type" == "qemu" ]]; then qm status "$vmid" | awk '{print $2}'; else pct status "$vmid" | awk '{print $2}'; fi
-45-}
-46-assert_local_identity(){
-47:local vmid="$1" owner type status expect_status
-48:owner="$(expected_owner "$vmid")"
-49:type="$(expected_type "$vmid")"
-50:[[ "$HOST" == "$owner" ]] || die "OWNER_MISMATCH_${vmid}_${HOST}_EXPECTED_${owner}" 65
-51-if [[ "$type" == "qemu" ]]; then
-52:[[ -s "/etc/pve/qemu-server/${vmid}.conf" ]] || die "QEMU_CONFIG_MISSING_$vmid" 66
-53-else
-54:[[ -s "/etc/pve/lxc/${vmid}.conf" ]] || die "LXC_CONFIG_MISSING_$vmid" 66
-55-fi
-56:status="$(current_status "$vmid" "$type")"
-57:expect_status="$(expected_status "$vmid")"
-58:[[ "$status" == "$expect_status" ]] || die "STATUS_MISMATCH_${vmid}_${status}_EXPECTED_${expect_status}" 66
-59:if [[ "$vmid" == "160" ]]; then [[ "$(snapshot_count_160)" == "0" ]] || die "VM160_SNAPSHOT_COUNT_CHANGED" 66; fi
-60:if [[ "$vmid" == "9130" ]]; then [[ "$(vm_lock 9130)" == "none" ]] || die "VM9130_LOCK_PRESENT" 66; fi
-61-VM_TYPE="$type"
-62-VM_STATUS="$status"
-63-}
-64-assert_post_identity(){
-65:local vmid="$1" type="$2" status expect_status
-66:status="$(current_status "$vmid" "$type")"
-67:expect_status="$(expected_status "$vmid")"
-68:[[ "$status" == "$expect_status" ]] || die "POST_STATUS_MISMATCH_${vmid}_${status}_EXPECTED_${expect_status}" 66
-69:if [[ "$vmid" == "160" ]]; then [[ "$(snapshot_count_160)" == "0" ]] || die "VM160_SNAPSHOT_COUNT_CHANGED_POST" 66; fi
-70:if [[ "$vmid" == "9130" ]]; then [[ "$(vm_lock 9130)" == "none" ]] || die "VM9130_LOCK_PRESENT_POST" 66; fi
-71-}
-72-latest_incomplete_state(){
-73:local vmid="$1" dir="$STATE_ROOT/vm${vmid}" f
-74-[[ -d "$dir" ]] || return 0
-75-while IFS= read -r f; do
-76-jq -e '.status!="SEALED"' "$f" >/dev/null 2>&1 && printf '%s\n' "$f"
-77-done < <(find "$dir" -maxdepth 1 -type f -name '*.json' -print | LC_ALL=C sort)
-78-}
-79:restore_dir(){ printf '%s\n' "$RESTORE_STATE_ROOT/vm$1"; }
-80:restore_ok(){
-81:  local vmid="$1" gen="$2" f state sha
-82:  f="$(restore_dir "$vmid")/$gen.json"; state="$STATE_ROOT/vm${vmid}/$gen.json"
-83-  [[ -s "$f" && ! -L "$f" && -s "$state" && ! -L "$state" ]] || return 1
-84-  sha="$(jq -er '.archive_sha256' "$state")" || return 1
-85:  jq -e --arg l "vm${vmid}" --arg g "$gen" --arg s "$state" --arg sha "$sha" '.schema=="homelab-vm-restore-validation-v1" and .logical_id==$l and .generation==$g and .transport_state=="SEALED" and .transport_state_file==$s and .restore_source=="Cloud A" and .parts_manifest_verified==true and .payload_sha256==$sha and .payload_sha256_verified==true and .payload_decompression_verified==true and .proxmox_config_extract_verified==true and .archive_recovery_readback_verified==true and .bounded_staging==true and .full_local_payload_written==false and .full_restore_proven==false and .result=="OK"' "$f" >/dev/null
-86-}
-87-prepare_cloud_a_manifest(){
-88:  local vmid="$1" gen="$2" state="$3" work="$4" base manifest expected_msha got_msha expected_count expected_size idx name size psha count total
-89-  base="$(jq -er '.remote_a_base' "$state")"; expected_msha="$(jq -er '.parts_manifest_sha256' "$state")"; expected_count="$(jq -er '.part_count' "$state")"; expected_size="$(jq -er '.archive_size_bytes' "$state")"
-90:  [[ "$base" == "${REMOTE_A%/}/vm${vmid}/$gen" ]] || die "RESTORE_A_BASE_MISMATCH_$vmid" 70
-91-  manifest="$work/PARTS.tsv"; rclone cat "${base%/}/PARTS.tsv" >"$manifest"
-92:  got_msha="$(sha256sum "$manifest"|awk '{print $1}')"; [[ "$got_msha" == "$expected_msha" ]] || die "RESTORE_A_MANIFEST_SHA_MISMATCH_$vmid" 70
-93-  count=0; total=0
-94-  while IFS=$'\t' read -r idx name size psha; do
-95:    [[ "$idx" =~ ^[0-9]{8}$ && "$name" == part-????????.bin && "$size" =~ ^[1-9][0-9]*$ && "$psha" =~ ^[0-9a-f]{64}$ ]] || die "RESTORE_A_MANIFEST_ROW_INVALID_$vmid" 70
-96:    (( size <= 536870912 )) || die "RESTORE_A_PART_EXCEEDS_BOUND_$vmid" 70
-97:    [[ "$idx" == "$(printf '%08d' "$count")" ]] || die "RESTORE_A_MANIFEST_INDEX_INVALID_$vmid" 70
-98-    total=$((total+size)); count=$((count+1))
-99-  done <"$manifest"
-100:  [[ "$count" == "$expected_count" ]] || die "RESTORE_A_PART_COUNT_MISMATCH_$vmid" 70
-101:  [[ "$total" == "$expected_size" ]] || die "RESTORE_A_MANIFEST_TOTAL_SIZE_MISMATCH_$vmid" 70
-102-  printf '%s\n' "$base"
-103-}
-104-stream_cloud_a(){
-105:  local vmid="$1" base="$2" manifest="$3" work="$4" idx name size psha part actual count
-106-  count=0; part="$work/current.part"
-107-  while IFS=$'\t' read -r idx name size psha; do
-108-    rm -f -- "$part"; rclone cat "${base%/}/payload.parts/$name" >"$part"
-109:    [[ -s "$part" && ! -L "$part" && "$(stat -c %s "$part")" == "$size" ]] || die "RESTORE_A_PART_SIZE_MISMATCH_$vmid" 70
-110:    actual="$(sha256sum "$part"|awk '{print $1}')"; [[ "$actual" == "$psha" ]] || die "RESTORE_A_PART_SHA_MISMATCH_$vmid" 70
-111-    cat -- "$part"; rm -f -- "$part"; count=$((count+1))
-112-  done <"$manifest"
-113-}
-114:restore_validate(){
-115:  local vmid="$1" gen="$2" logical state work payload_name expected_sha expected_size base manifest fifo sha_out sha_pid pipe_rc sha_rc actual_sha config config_sha members member_count cfg_member level out tmp
-116:  assert_local_identity "$vmid"; logical="vm${vmid}"; state="$STATE_ROOT/$logical/$gen.json"
-117:  [[ -s "$state" && ! -L "$state" ]] || die "RESTORE_STATE_MISSING_$vmid" 65
-118:  jq -e '.schema=="homelab-cloud-quorum-payload-v1" and .status=="SEALED" and .cloud_quorum==2 and .cloud_a_verified==true and .cloud_b_verified==true and .part_hashes_verified==true and .seal_written==true and .cloud_a_seal_verified==true and .cloud_b_seal_verified==true and .local_payload_present==false and .local_cleanup=="OK"' "$state" >/dev/null || die "RESTORE_REQUIRES_STRICT_SEALED_$vmid" 65
-119:  if restore_ok "$vmid" "$gen"; then printf 'RESTORE_VALIDATION_STATUS=OK\nVMID=%s\nGENERATION=%s\nRESULT=ALREADY_VALIDATED\nRESTORE_EVIDENCE=%s\n' "$vmid" "$gen" "$(restore_dir "$vmid")/$gen.json"; return 0; fi
-120:  [[ -z "$(active_backup_restore)" ]] || die ACTIVE_BACKUP_RESTORE_PRESENT 75
-121-  payload_name="$(jq -er '.payload_name' "$state")"; expected_sha="$(jq -er '.archive_sha256' "$state")"; expected_size="$(jq -er '.archive_size_bytes' "$state")"
-122:  [[ "$payload_name" == "vzdump-lxc-${vmid}-"*.tar.zst || "$payload_name" == "vzdump-qemu-${vmid}-"*.vma.zst ]] || die "RESTORE_PAYLOAD_NAME_INVALID_$vmid" 70
-123:  work="$RESTORE_WORK_ROOT/$logical/$gen"; if [[ -e "$work" ]]; then [[ -d "$work" && ! -L "$work" ]] || die "RESTORE_WORK_UNSAFE_$vmid" 70; rm -rf --one-file-system "$work"; fi; mkdir -p "$work"; chmod 0700 "$RESTORE_WORK_ROOT" "$RESTORE_WORK_ROOT/$logical" "$work"; ACTIVE_RESTORE_STAGE="$work"
-124:  base="$(prepare_cloud_a_manifest "$vmid" "$gen" "$state" "$work")"; manifest="$work/PARTS.tsv"; fifo="$work/archive.sha.fifo"; sha_out="$work/archive.sha256"; mkfifo -m 0600 "$fifo"
-125-  sha256sum <"$fifo" >"$sha_out" & sha_pid=$!
-126-  if [[ "$VM_TYPE" == lxc ]]; then
-127:    members="$work/members.txt"; if stream_cloud_a "$vmid" "$base" "$manifest" "$work" | tee "$fifo" | zstd -dc | tar -tf - >"$members"; then pipe_rc=0; else pipe_rc=$?; fi
-128-  else
-129:    if stream_cloud_a "$vmid" "$base" "$manifest" "$work" | tee "$fifo" | zstd -t - >/dev/null; then pipe_rc=0; else pipe_rc=$?; fi
-130-  fi
-131-  if wait "$sha_pid"; then sha_rc=0; else sha_rc=$?; fi; rm -f -- "$fifo"
-132:  (( pipe_rc == 0 && sha_rc == 0 )) || die "RESTORE_A_STREAM_VALIDATION_FAILED_${vmid}_${pipe_rc}_${sha_rc}" 70
-133:  actual_sha="$(awk 'NR==1{print $1}' "$sha_out")"; [[ "$actual_sha" == "$expected_sha" ]] || die "RESTORE_A_PAYLOAD_SHA_MISMATCH_$vmid" 70
-134-  config="$work/proxmox-config.txt"; member_count=0
-135-  if [[ "$VM_TYPE" == lxc ]]; then
-136:    [[ -s "$members" ]] || die "RESTORE_LXC_ARCHIVE_EMPTY_$vmid" 70
-137:    awk '$0 ~ /^\// || $0 ~ /(^|\/)\.\.(\/|$)/ {bad=1} END{exit bad}' "$members" || die "RESTORE_LXC_MEMBER_UNSAFE_$vmid" 70
-138:    member_count="$(wc -l <"$members")"; [[ "$member_count" =~ ^[1-9][0-9]*$ ]] || die "RESTORE_LXC_MEMBER_COUNT_INVALID_$vmid" 70
-139:    cfg_member="$(awk '$0=="./etc/vzdump/pct.conf" || $0=="etc/vzdump/pct.conf" {print; exit}' "$members")"; [[ -n "$cfg_member" ]] || die "RESTORE_LXC_CONFIG_MEMBER_MISSING_$vmid" 70
-140:    if ( set +o pipefail; stream_cloud_a "$vmid" "$base" "$manifest" "$work" | zstd -dc | tar -xOf - "$cfg_member" >"$config" ); then :; else die "RESTORE_LXC_CONFIG_EXTRACT_FAILED_$vmid" 70; fi
-141-    level="cloud-a-full-readback+part-sha+archive-sha+zstd+tar-list+config"
-142-  else
-143:    if ( set +o pipefail; stream_cloud_a "$vmid" "$base" "$manifest" "$work" | zstd -dc | vma config - >"$config" ); then :; else die "RESTORE_QEMU_CONFIG_EXTRACT_FAILED_$vmid" 70; fi
-144-    level="cloud-a-full-readback+part-sha+archive-sha+zstd+vma-config"
-145-  fi
-146:  [[ -s "$config" && ! -L "$config" ]] || die "RESTORE_CONFIG_EMPTY_$vmid" 70; config_sha="$(sha256sum "$config"|awk '{print $1}')"
-147:  out="$(restore_dir "$vmid")/$gen.json"; mkdir -p "$(dirname "$out")"; chmod 0700 "$RESTORE_STATE_ROOT" "$(dirname "$out")"; tmp="${out}.new.$$"
-148:  jq -n --arg logical "$logical" --arg generation "$gen" --argjson vmid "$vmid" --arg vm_type "$VM_TYPE" --arg state "$state" --arg sha "$expected_sha" --arg config_sha "$config_sha" --arg level "$level" --argjson member_count "$member_count" --arg at "$(date -u +%Y-%m-%dT%H:%M:%SZ)" '{schema:"homelab-vm-restore-validation-v1",logical_id:$logical,generation:$generation,vmid:$vmid,vm_type:$vm_type,transport_state:"SEALED",transport_state_file:$state,restore_source:"Cloud A",parts_manifest_verified:true,payload_sha256:$sha,payload_sha256_verified:true,payload_decompression_verified:true,proxmox_config_extract_verified:true,proxmox_config_sha256:$config_sha,lxc_member_count:$member_count,archive_recovery_readback_verified:true,bounded_staging:true,max_staged_part_bytes:536870912,full_local_payload_written:false,full_restore_proven:false,validation_level:$level,result:"OK",validated_at_utc:$at}' >"$tmp"
-149-  chmod 0600 "$tmp"; mv -f -- "$tmp" "$out"; rm -rf --one-file-system "$work"; ACTIVE_RESTORE_STAGE=""
-150:  restore_ok "$vmid" "$gen" || die "RESTORE_EVIDENCE_POSTWRITE_INVALID_$vmid" 70
-151:  printf 'RESTORE_VALIDATION_STATUS=OK\nVMID=%s\nGENERATION=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$gen" "$out"
-152-}
-153-plan(){
-154:local vmid="$1" owner type status
-155:assert_local_identity "$vmid"
-156:owner="$(expected_owner "$vmid")"
-157:type="$(expected_type "$vmid")"
-158:status="$(expected_status "$vmid")"
-159:printf 'PLAN_STATUS=OK\nVMID=%s\nOWNER=%s\nTYPE=%s\nEXPECTED_STATUS=%s\n' "$vmid" "$owner" "$type" "$status"
-160-}
-161:verify_generation(){
-162:  local vmid="$1" generation="$2"
-163:  assert_local_identity "$vmid"
-164:  restore_validate "$vmid" "$generation"
-165:  assert_post_identity "$vmid" "$VM_TYPE"
-166:  printf 'VERIFY_STATUS=OK\nVMID=%s\nGENERATION=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$generation" "$(restore_dir "$vmid")/$generation.json"
-167-}
-168-backup_one(){
-169:local vmid="$1" pending_count pending state generation payload gen_dir archive_count archive log_file before_status
-170-local -a vzdump_args
-171:assert_local_identity "$vmid"
-172-[[ -x "$TRANSPORT" ]] || die "TRANSPORT_NOT_INSTALLED" 69
-173-[[ -d /mnt/staging && ! -L /mnt/staging ]] || die "STAGING_UNSAFE" 66
-174-mkdir -p "$STAGE_ROOT"
-175-chmod 0700 "$STAGE_ROOT"
-176:[[ -z "$(active_backup_restore)" ]] || die "ACTIVE_BACKUP_RESTORE_PRESENT" 75
-177-rclone about pve01-mail-01-crypt: >/dev/null
-178-rclone about pve01-mail-02-crypt: >/dev/null
-179:mapfile -t pending < <(latest_incomplete_state "$vmid")
-180-pending_count="${#pending[@]}"
-181:(( pending_count <= 1 )) || die "MULTIPLE_INCOMPLETE_GENERATIONS_$vmid" 65
-182-if (( pending_count == 1 )); then
-183-state="${pending[0]}"
-184:generation="$(jq -er '.generation' "$state")"
-185-payload="$(jq -er '.payload_path' "$state")"
-186:printf 'RESUME=YES\nVMID=%s\nGENERATION=%s\nSTATE=%s\n' "$vmid" "$generation" "$state"
-187:"$TRANSPORT" backup-delete "vm${vmid}" "$generation" "$payload" "$REMOTE_A" "$REMOTE_B" "$STATE_ROOT"
-188-else
-189:generation="vm${vmid}-${HOST}-$(date -u +%Y%m%dT%H%M%SZ)"
-190:gen_dir="$STAGE_ROOT/vm${vmid}/$generation"
-191:[[ ! -e "$gen_dir" ]] || die "GENERATION_DIR_EXISTS_$generation" 65
-192-mkdir -p "$gen_dir"
-193-chmod 0700 "$gen_dir"
-194-log_file="$gen_dir/vzdump.log"
-195:printf 'RESUME=NO\nVMID=%s\nGENERATION=%s\n' "$vmid" "$generation"
-196-vzdump_args=(--dumpdir "$gen_dir" --mode snapshot --compress zstd --ionice 7)
-197-if [[ "$VM_TYPE" == "lxc" ]]; then
-198-[[ -d "$LXC_TMP_ROOT" && ! -L "$LXC_TMP_ROOT" ]] || die "LXC_TMP_ROOT_UNSAFE" 66
-199-[[ "$(find "$LXC_TMP_ROOT" -maxdepth 0 -printf '%m')" == "1777" ]] || die "LXC_TMP_ROOT_MODE_UNSAFE" 66
-200-vzdump_args+=(--tmpdir "$LXC_TMP_ROOT")
-201-fi
-202:if ! ( umask 0022; exec vzdump "$vmid" "${vzdump_args[@]}" ) >"$log_file" 2>&1; then
-203-rm -rf -- "$gen_dir"
-204:die "VZDUMP_FAILED_$vmid" 70
-205-fi
-206:mapfile -t archives < <(find "$gen_dir" -maxdepth 1 -type f -name "vzdump-*-${vmid}-*.zst" -print)
-207-archive_count="${#archives[@]}"
-208:[[ "$archive_count" == "1" ]] || { rm -rf -- "$gen_dir"; die "VZDUMP_ARCHIVE_COUNT_${vmid}_${archive_count}" 70; }
-209-archive="${archives[0]}"
-210:[[ -s "$archive" && ! -L "$archive" ]] || die "VZDUMP_ARCHIVE_UNSAFE_$vmid" 70
-211-zstd -t -- "$archive" >/dev/null
-212:"$TRANSPORT" backup-delete "vm${vmid}" "$generation" "$archive" "$REMOTE_A" "$REMOTE_B" "$STATE_ROOT"
-213-rm -f -- "$log_file"
-214-rmdir -- "$gen_dir" 2>/dev/null || true
-215:rmdir -- "$STAGE_ROOT/vm${vmid}" 2>/dev/null || true
-216-fi
-217:assert_post_identity "$vmid" "$VM_TYPE"
-218:state="$STATE_ROOT/vm${vmid}/$generation.json"
-219-jq -e '.status=="SEALED" and .cloud_quorum==2 and .local_payload_present==false and .local_cleanup=="OK" and .seal_written==true' "$state" >/dev/null
-220:  restore_validate "$vmid" "$generation"
-221:  printf 'BACKUP_STATUS=SEALED\nVMID=%s\nGENERATION=%s\nOWNER=%s\nTYPE=%s\nPOST_STATUS=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$generation" "$HOST" "$VM_TYPE" "$(expected_status "$vmid")" "$(restore_dir "$vmid")/$generation.json"
-222-}
-223-host_preflight(){
-224-local free a_free b_free
-225-[[ -d /mnt/staging && ! -L /mnt/staging ]] || die "STAGING_UNSAFE" 66
-226:[[ -z "$(active_backup_restore)" ]] || die "ACTIVE_BACKUP_RESTORE_PRESENT" 75
-227-free="$(df -B1 --output=avail /mnt/staging | tail -1 | tr -d ' ')"
-228-a_free="$(rclone about pve01-mail-01-crypt: --json | jq -er '.free')"
-229-b_free="$(rclone about pve01-mail-02-crypt: --json | jq -er '.free')"
---
-231-printf 'HOST_PREFLIGHT_STATUS=OK\nHOST=%s\nSTAGING_FREE_BYTES=%s\nREMOTE_A_FREE_BYTES=%s\nREMOTE_B_FREE_BYTES=%s\nACTIVE_BACKUP_RESTORE=0\n' "$HOST" "$free" "$a_free" "$b_free"
-232-}
-233-latest_sealed(){
-234:  local vmid="$1" dir latest gen
-235:  assert_local_identity "$vmid"; dir="$STATE_ROOT/vm${vmid}"
-236:  [[ -d "$dir" ]] || die "STATE_DIR_MISSING_$vmid" 65
-237-  latest="$(find "$dir" -maxdepth 1 -type f -name '*.json' -printf '%T@|%p\n' | LC_ALL=C sort -t'|' -k1,1nr | awk -F'|' 'NR==1{print $2}')"
-238:  [[ -n "$latest" && -s "$latest" && ! -L "$latest" ]] || die "LATEST_STATE_MISSING_$vmid" 65
-239:  jq -e '.status=="SEALED" and .cloud_quorum==2 and .local_payload_present==false and .local_cleanup=="OK" and .seal_written==true' "$latest" >/dev/null || die "LATEST_STATE_NOT_SEALED_$vmid" 65
-240:  gen="$(jq -er '.generation' "$latest")"; restore_ok "$vmid" "$gen" || die "LATEST_RESTORE_NOT_OK_$vmid" 65
-241:  printf 'LATEST_SEALED_STATUS=OK\nVMID=%s\nGENERATION=%s\nSTATE_FILE=%s\nRESTORE_EVIDENCE=%s\n' "$vmid" "$gen" "$latest" "$(restore_dir "$vmid")/$gen.json"
-242-}
-243-ACTION="${1:-}"
-244-case "$ACTION" in
---
-258-[[ "$#" == 2 ]] || die "USAGE_BACKUP" 64
-259-backup_one "$2"
-260-;;
-261:  restore-validate)
-262-    [[ "$#" == 3 ]] || die "USAGE_RESTORE_VALIDATE" 64
-263:    restore_validate "$2" "$3"
-264-    ;;
-265-verify)
-266-[[ "$#" == 3 ]] || die "USAGE_VERIFY" 64
-267:verify_generation "$2" "$3"
-268-;;
-269-*)
-270-die "ACTION_INVALID" 64
-PRODUCER_FILE=/usr/local/libexec/homelab-cloud-quorum-payload|SHA256=df9e19485e5d87112bf58bf77bdddf3b9b896418dd85ff945a31cd5b6817f352
-43-done
-44-
-45-# SECTION_ARGUMENTS_V1
-46:usage(){
-47:  printf 'usage: %s backup-delete LOGICAL_ID GENERATION PAYLOAD REMOTE_A_ROOT REMOTE_B_ROOT STATE_ROOT\n' "$0" >&2
-48-  printf '       %s verify-sealed LOGICAL_ID GENERATION REMOTE_A_ROOT REMOTE_B_ROOT STATE_ROOT\n' "$0" >&2
-49-}
-50-valid_remote_root(){ [[ "$1" =~ ^[A-Za-z0-9][A-Za-z0-9._-]*:[A-Za-z0-9._/-]+$ ]]; }
---
-52-ACTION="${1:-}"
-53-case "$ACTION" in
-54-  backup-delete)
-55:    [[ "$#" -eq 7 ]] || { usage; die "ARGUMENT_COUNT_INVALID" 64; }
-56-    LOGICAL_ID="$2"
-57-    GENERATION="$3"
-58-    PAYLOAD="$4"
---
-61-    STATE_ROOT="$7"
-62-    ;;
-63-  verify-sealed)
-64:    [[ "$#" -eq 6 ]] || { usage; die "ARGUMENT_COUNT_INVALID" 64; }
-65-    LOGICAL_ID="$2"
-66-    GENERATION="$3"
-67-    PAYLOAD=""
---
-70-    STATE_ROOT="$6"
-71-    ;;
-72-  *)
-73:    usage
-74-    die "ACTION_INVALID" 64
-75-    ;;
-76-esac
---
-151-  jq -e \
-152-    --arg schema "$SCHEMA" \
-153-    --arg logical_id "$LOGICAL_ID" \
-154:    --arg generation "$GENERATION" \
-155-    --arg remote_a "$REMOTE_A_ROOT" \
-156-    --arg remote_b "$REMOTE_B_ROOT" \
-157-    --argjson chunk_size "$CHUNK_SIZE_BYTES" \
-158-    '.schema==$schema and
-159-     .logical_id==$logical_id and
-160:     .generation==$generation and
-161-     .remote_a_root==$remote_a and
-162-     .remote_b_root==$remote_b and
-163-     .chunk_size_bytes==$chunk_size and
---
-187-    --arg schema "$SCHEMA" \
-188-    --arg status "PREPARING" \
-189-    --arg logical_id "$LOGICAL_ID" \
-190:    --arg generation "$GENERATION" \
-191-    --arg created "$now" \
-192-    --arg payload_path "$PAYLOAD_REAL" \
-193-    --arg payload_name "$PAYLOAD_NAME" \
---
-199-    --argjson payload_size "$PAYLOAD_SIZE" \
-200-    --argjson chunk_size "$CHUNK_SIZE_BYTES" \
-201-    --argjson part_count "$PART_COUNT" \
-202:    '{schema:$schema,status:$status,logical_id:$logical_id,generation:$generation,
-203-      created_at_utc:$created,updated_at_utc:$created,
-204-      payload_path:$payload_path,payload_name:$payload_name,
-205-      archive_size_bytes:$payload_size,archive_sha256:$payload_sha,
---
-332-    ABSENT)
-333-      compute_local_payload_identity
-334-      now="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
-335:      assert_new_remote_generation_absent
-336-      write_initial_state "$now"
-337-      state_identity_ok || die "INITIAL_STATE_IDENTITY_INVALID" 65
-338-      state_payload_identity_ok || die "INITIAL_STATE_PAYLOAD_IDENTITY_INVALID" 65
---
-391-}
-392-
-393-# SECTION_REMOTE_GENERATION_GUARD_V1
-394:remote_generation_probe(){
-395-  local label="$1" root="$2" root_listing logical_listing
-396-  [[ "$label" == "A" || "$label" == "B" ]] || die "REMOTE_PROBE_LABEL_INVALID" 64
-397-  root_listing="$WORK/remote-${label}-root.lsf"
---
-414-  fi
-415-}
-416-
-417:assert_new_remote_generation_absent(){
-418-  local a_state b_state
-419:  a_state="$(remote_generation_probe A "$REMOTE_A_ROOT")"
-420:  b_state="$(remote_generation_probe B "$REMOTE_B_ROOT")"
-421-  [[ "$a_state" == "ABSENT" ]] || die "REMOTE_A_GENERATION_ALREADY_EXISTS" 65
-422-  [[ "$b_state" == "ABSENT" ]] || die "REMOTE_B_GENERATION_ALREADY_EXISTS" 65
-423-}
---
-831-    schema:"homelab-cloud-quorum-seal-v1",
-832-    status:"SEALED",
-833-    logical_id:.logical_id,
-834:    generation:.generation,
-835-    archive_name:.payload_name,
-836-    archive_size_bytes:.archive_size_bytes,
-837-    archive_sha256:.archive_sha256,
---
-851-    .schema=="homelab-cloud-quorum-seal-v1" and
-852-    .status=="SEALED" and
-853-    (.logical_id|type=="string" and length>0) and
-854:    (.generation|type=="string" and length>0) and
-855-    (.archive_sha256|type=="string" and test("^[0-9a-f]{64}$")) and
-856-    (.parts_manifest_sha256|type=="string" and test("^[0-9a-f]{64}$")) and
-857-    .cloud_quorum==2 and
---
-920-  mark_local_deleted
-921-}
-922-
-923:seal_generation_and_mark(){
-924-  assert_state_transition_source "DELETE_AUTHORIZED"
-925-  jq -e '.local_payload_present==false and .local_cleanup=="OK"' "$STATE_FILE" >/dev/null || die "SEAL_LOCAL_DELETE_NOT_RECORDED" 65
-926-  build_seal_file
---
-929-  mark_sealed "$SEAL_SHA"
-930-}
-931-
-932:verify_sealed_generation(){
-933-  local status expected_seal_sha
-934-  status="$(state_status)"
-935-  [[ "$status" == "SEALED" ]] || die "VERIFY_SEALED_REQUIRES_SEALED_STATE" 65
---
-951-  status="$(state_status)"
-952-  case "$status" in
-953-    SEALED)
-954:      verify_sealed_generation
-955-      printf 'RESULT=SEALED_ALREADY_VERIFIED\n'
-956-      return 0
-957-      ;;
---
-974-      ;;
-975-  esac
-976-  delete_local_payload_after_authorization
-977:  seal_generation_and_mark
-978-  printf 'RESULT=SEALED\n'
-979-}
-980-
---
-983-    perform_backup_delete
-984-    ;;
-985-  verify-sealed)
-986:    verify_sealed_generation
-987-    printf 'RESULT=SEALED_VERIFIED\n'
-988-    ;;
-989-esac
-PRODUCER_STATIC_END=true
-FINAL413_FAILURE_CLASS=STORAGE_OR_CAPACITY
-DECISION=PASS_DR221_414_FINAL413_STORAGE_BLOCKER_PROVEN
-NEXT_GATE=REPAIR_ONLY_VM210_DR_STORAGE_PRECONDITION_THEN_RETRY
-CHANGES_MADE_BY_414=false
-PRODUCT_MUTATION_BY_414=false
-VM_MUTATION_BY_414=false
-CLOUD_MUTATION_BY_414=false
-HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"NEWFI-260922-NEWFDOM-DR221-FRESHBACKUP-RCA414R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}
-NEWFI414_END=true
+SPB9121_CHANGE={"preflight":{"sha_gate":"FAIL:git-read-location.conf"},"certs":{},"vhosts":{},"probes":{},"changes_made":false,"rollback_started":false,"rollback_restored":null,"status":"FAIL"}
+TASK_COMPLETE=true
+TASK_RESULT=FAIL_SPB_HOME_INGRESS_CERT_VHOST_FIX
+DECISION=HOLD_SPB_ON_AND_READ_ROLLBACK_RESULT
+HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260922-SPB-HOME-INGRESS-CERT-VHOST-FIX-9121R1","status":"FAIL","changes_made":false,"rollback_started":false,"rollback_restored":null}
 
 OUTPUT_END
 CHAT_OUTPUT_END