CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-V2-CURRENT-FAILURE-RCA-1221R1
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=homelab-backup-v2-current-failure-rca
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=d4cfa85a3f59165d51b64505096167a15ce486f1a2105a55cd0c206b16d5353a
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=de7467ab7d2c1584968349e75f34c054b7b406741bd4ab8a3a6e0e559ecf7d2a
SANITIZED_OUTPUT_SHA256=ebca4b307aeed79780cce791fc44145115b68a88d817904d875aaae99b5dbbef
OUTPUT_BEGIN
BACKUP_V2_CURRENT_FAILURE_RCA_BEGIN=true
COMMAND_ID=SUPPORT-260927-HOMELAB-BACKUP-V2-CURRENT-FAILURE-RCA-1221R1
MODE=read-only
COMPONENT=homelab-backup-v2-current-failure-rca
MUTATION_BOUNDARY=NONE_READ_ONLY_NO_SYSTEMD_ACTION_NO_BACKUP_NO_AUDIT_RUN_NO_LOCK_BREAK_NO_RETENTION_NO_DELETE_NO_MAIL_NO_GIT_WRITE_NO_NETBIRD_SKLADCHIK_CHANGE
=== AUTHORITY ===
HOST=pve01
CLUSTER_QUORATE=Yes
REFERENCE_REGISTER_AUTHORITY=RUNNER_ENFORCED
REFERENCE_SHA256_EXPECTED=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_AUTHORITY=RUNNER_ENFORCED
ERROR_REGISTER_SHA256_EXPECTED=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d
=== IMMUTABLE_HISTORY ===
SOURCE_1211_STATUS=OK
SOURCE_1211_RC=0
SOURCE_1211_DECISION=PASS_BACKUP_RPO_ADAPTIVE_CLOSE
SOURCE_1211_NEXT_GATE=NONE
SOURCE_1211_TASK_RESULT=PASS_HOMELAB_BACKUP_RPO_ADAPTIVE_CLOSE
SOURCE_1220_STATUS=OK
SOURCE_1220_RC=0
SOURCE_1220_DECISION=PASS_BACKUP_ALERT_DEBOUNCE
SOURCE_1220_NEXT_GATE=NONE
SOURCE_73337_STATUS=OK
SOURCE_73337_DECISION=PASS_NETBIRD_SKLADCHIK_POSTREPAIR_FINAL_ACCEPTANCE
SOURCE_73337_NEXT_GATE=NONE
SOURCE_CONTEXT_PRESENT=true
SOURCE_CONTEXT_BACKUP_V2_FAILED=true
SOURCE_CONTEXT_BACKUP_AUDIT_FAILED=true
=== CURRENT_FAILED_UNITS ===
● homelab-backup-audit.service loaded failed failed Homelab unified backup and DR audit
● homelab-backup-v2.service    loaded failed failed Homelab Backup V2 manifest-driven scheduler
=== BACKUP_V2_SERVICE_SHOW ===
Result=exit-code
ExecMainStartTimestamp=Sun 2026-09-27 21:08:52 MSK
ExecMainExitTimestamp=Sun 2026-09-27 21:08:59 MSK
ExecMainCode=1
ExecMainStatus=1
ExecStart={ path=/usr/local/sbin/homelab-backup-v2 ; argv[]=/usr/local/sbin/homelab-backup-v2 scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:08:52 MSK] ; stop_time=[Sun 2026-09-27 21:08:59 MSK] ; pid=19346 ; code=exited ; status=1 }
Id=homelab-backup-v2.service
Description=Homelab Backup V2 manifest-driven scheduler
LoadState=loaded
ActiveState=failed
SubState=failed
FragmentPath=/etc/systemd/system/homelab-backup-v2.service
DropInPaths=
UnitFileState=static
ActiveEnterTimestamp=
InactiveEnterTimestamp=Sun 2026-09-27 21:08:59 MSK
BACKUP_V2_FRAGMENT_PATH=/etc/systemd/system/homelab-backup-v2.service
BACKUP_V2_UNIT_SHA256=1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565
BACKUP_V2_UNIT_META=644:root:root:2026-09-15 00:28:03.719796025 +0300
=== BACKUP_V2_SERVICE_CAT ===
# /etc/systemd/system/homelab-backup-v2.service
[Unit]
Description=Homelab Backup V2 manifest-driven scheduler
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
User=root
Group=root
UMask=0077
ExecStart=/usr/local/sbin/homelab-backup-v2 scheduled
Nice=10
IOSchedulingClass=best-effort
IOSchedulingPriority=7
TimeoutStartSec=8h
BACKUP_V2_EXECSTART_RAW={ path=/usr/local/sbin/homelab-backup-v2 ; argv[]=/usr/local/sbin/homelab-backup-v2 scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:08:52 MSK] ; stop_time=[Sun 2026-09-27 21:08:59 MSK] ; pid=19346 ; code=exited ; status=1 }
BACKUP_V2_EXECSTART_PATH=/usr/local/sbin/homelab-backup-v2
BACKUP_V2_EXECSTART_SHA256=5077444065c732451cb84898680f62361b21a24ef9eb4f191253e82ead524ea2
BACKUP_V2_EXECSTART_META=750:root:root:2026-09-17 10:33:39.880371590 +0300
=== BACKUP_V2_EXECSTART_SOURCE_BEGIN ===
#!/usr/bin/python3
from __future__ import annotations
import hashlib, importlib, os, pathlib, stat, sys
ACCEPTED=pathlib.Path('/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b')
EXPECTED={'fresh_lxc_helper.py': 'dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011', 'producer_exec_helper.py': 'b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3', 'lxc_adapter.py': '3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d', 'qemu_adapter.py': '1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b', 'scheduler_adapter.py': 'a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96', 'entry504.py': 'ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793'}
def sha(p):
 h=hashlib.sha256()
 with open(p,'rb',buffering=0) as f:
  while True:
   b=f.read(1048576)
   if not b: break
   h.update(b)
 return h.hexdigest()
def main():
 st=os.lstat(ACCEPTED)
 if not stat.S_ISDIR(st.st_mode) or stat.S_ISLNK(st.st_mode) or st.st_uid!=0 or st.st_gid!=0 or stat.S_IMODE(st.st_mode)!=0o500: raise SystemExit('RELEASE_ROOT_IDENTITY')
 names=sorted(p.name for p in ACCEPTED.iterdir())
 if names!=sorted(EXPECTED): raise SystemExit('RELEASE_FILESET')
 for name,want in EXPECTED.items():
  p=ACCEPTED/name; s=os.lstat(p)
  if not stat.S_ISREG(s.st_mode) or stat.S_ISLNK(s.st_mode) or s.st_uid!=0 or s.st_gid!=0 or stat.S_IMODE(s.st_mode)!=0o400 or sha(p)!=want: raise SystemExit('RELEASE_FILE_IDENTITY_'+name)
 sys.dont_write_bytecode=True
 sys.path.insert(0,str(ACCEPTED))
 e=importlib.import_module('entry504')
 return int(e.main())
if __name__=='__main__': raise SystemExit(main())
=== BACKUP_V2_EXECSTART_SOURCE_END ===
=== BACKUP_V2_TIMER_SHOW ===
NextElapseUSecRealtime=
LastTriggerUSec=Sun 2026-09-27 21:08:52 MSK
Result=success
Id=homelab-backup-v2.timer
LoadState=loaded
ActiveState=active
SubState=waiting
FragmentPath=/etc/systemd/system/homelab-backup-v2.timer
DropInPaths=
UnitFileState=enabled
BACKUP_V2_TIMER_FRAGMENT_PATH=/etc/systemd/system/homelab-backup-v2.timer
BACKUP_V2_TIMER_SHA256=5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d
=== BACKUP_V2_TIMER_CAT ===
# /etc/systemd/system/homelab-backup-v2.timer
[Unit]
Description=Homelab Backup V2 scheduler timer

[Timer]
OnActiveSec=20min
OnUnitActiveSec=30min
RandomizedDelaySec=10min
Unit=homelab-backup-v2.service

[Install]
WantedBy=timers.target
=== BACKUP_AUDIT_SERVICE_SHOW ===
Result=exit-code
ExecMainStartTimestamp=Sun 2026-09-27 21:05:58 MSK
ExecMainExitTimestamp=Sun 2026-09-27 21:06:02 MSK
ExecMainCode=1
ExecMainStatus=1
ExecStart={ path=/usr/local/sbin/homelab-backup-audit ; argv[]=/usr/local/sbin/homelab-backup-audit scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:05:58 MSK] ; stop_time=[Sun 2026-09-27 21:06:02 MSK] ; pid=16838 ; code=exited ; status=1 }
Id=homelab-backup-audit.service
Description=Homelab unified backup and DR audit
LoadState=loaded
ActiveState=failed
SubState=failed
FragmentPath=/etc/systemd/system/homelab-backup-audit.service
DropInPaths=
UnitFileState=static
ActiveEnterTimestamp=
InactiveEnterTimestamp=Sun 2026-09-27 21:06:02 MSK
BACKUP_AUDIT_FRAGMENT_PATH=/etc/systemd/system/homelab-backup-audit.service
BACKUP_AUDIT_UNIT_SHA256=7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa
BACKUP_AUDIT_UNIT_META=644:root:root:2026-08-11 08:46:44.076278347 +0300
=== BACKUP_AUDIT_SERVICE_CAT ===
# /etc/systemd/system/homelab-backup-audit.service
[Unit]
Description=Homelab unified backup and DR audit
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/homelab-backup-audit scheduled
User=root
Group=root
UMask=0077
Nice=10
IOSchedulingClass=best-effort
IOSchedulingPriority=7
BACKUP_AUDIT_EXECSTART_RAW={ path=/usr/local/sbin/homelab-backup-audit ; argv[]=/usr/local/sbin/homelab-backup-audit scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:05:58 MSK] ; stop_time=[Sun 2026-09-27 21:06:02 MSK] ; pid=16838 ; code=exited ; status=1 }
BACKUP_AUDIT_EXECSTART_PATH=/usr/local/sbin/homelab-backup-audit
BACKUP_AUDIT_EXECSTART_SHA256=f7b936fa997bdefdd0c3c5d1d96e496888ebebc8ea85a60ed3bf5bcc9bf4962a
BACKUP_AUDIT_EXECSTART_META=755:root:root:2026-09-22 12:19:10.163905297 +0300
=== BACKUP_AUDIT_EXECSTART_SOURCE_BEGIN ===
#!/usr/bin/env python3
import sys,os,json,time,subprocess,pathlib,re,datetime
MODE=sys.argv[1] if len(sys.argv)>1 else "all"
if MODE not in ("all","write-health","scheduled","contract"):
    print("AUDIT_ERROR=USAGE_all_write-health_scheduled_contract",file=sys.stderr); sys.exit(64)
if MODE=="contract":
    print("AUDIT_CONTRACT=v2-plus-sealed-quorum")
    print("AUDIT_SCHEMA=homelab-backup-audit-v3")
    sys.exit(0)

REG=pathlib.Path("/etc/homelab-backup/targets.json")
STATE=pathlib.Path("/var/lib/homelab-backup-v2/state")
QROOT=pathlib.Path("/var/lib/homelab-backup/cloud-quorum")
VMREST=pathlib.Path("/var/lib/homelab-backup/vm-restore-validation")
APPREST=pathlib.Path("/var/lib/homelab-backup/app-restore-validation")
REGH="/usr/local/libexec/homelab-backup-target-registry"
APPQ="/usr/local/sbin/homelab-app-cloud-quorum-queue"
GFSH="/usr/local/libexec/homelab-backup-gfs-policy"
GFSP="/etc/homelab-backup/gfs-retention.json"
RET="/usr/local/sbin/homelab-backup-retention-gc"
WT="/root/homelab-ops-cr-2026-1005"
BRANCH="cr-2026-1005-backup-v2-health-alerting-remediation"
DRSEAL=pathlib.Path("/var/lib/homelab-admin/seals/site-dr-final-acceptance-v1.json")
CLOUDB_HEALTH=pathlib.Path("/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt")
HEALTHS=[pathlib.Path("/var/lib/homelab-health/backup-audit-v2.json"),pathlib.Path("/var/lib/homelab-health/backup-audit.json")]

def run(cmd,timeout=60,env=None):
    try:
        p=subprocess.run(cmd,text=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,timeout=timeout,env=env)
        return p.returncode,p.stdout,p.stderr
    except subprocess.TimeoutExpired as e:
        return 124,e.stdout or "",e.stderr or ""

def collect(obj,out):
    if isinstance(obj,dict):
        if isinstance(obj.get("logical_id"),str): out.append(obj)
        for v in obj.values(): collect(v,out)
    elif isinstance(obj,list):
        for v in obj: collect(v,out)

def parse_epoch(obj):
    for k in ("sealed_epoch","last_success_epoch","updated_epoch"):
        v=obj.get(k)
        if isinstance(v,(int,float)) and v>0: return int(v)
    for k in ("sealed_at_utc","updated_at_utc","completed_at_utc"):
        v=obj.get(k)
        if isinstance(v,str) and v:
            try:
                return int(datetime.datetime.fromisoformat(v.replace("Z","+00:00")).timestamp())
            except Exception: pass
    return None

def latest_legacy(logical,kind):
    d=QROOT/logical
    best=None; best_epoch=-1
    if not d.is_dir(): return None
    for p in d.glob("*.json"):
        try: obj=json.loads(p.read_text(encoding="utf-8"))
        except Exception: continue
        epoch=parse_epoch(obj)
        score=epoch if epoch is not None else int(p.stat().st_mtime)
        if score>best_epoch:
            best_epoch=score; best=(p,obj,score)
    if not best: return None
    p,obj,epoch=best
    gen=obj.get("generation")
    strict=(obj.get("status")=="SEALED" and obj.get("cloud_quorum")==2 and obj.get("cloud_a_verified") is True and obj.get("cloud_b_verified") is True and obj.get("part_hashes_verified") is True and obj.get("seal_written") is True and obj.get("local_payload_present") is False and obj.get("local_cleanup")=="OK")
    rroot=VMREST if kind=="VM" else APPREST
    rev=(rroot/logical/(str(gen)+".json")) if gen else None
    restore=False
    if rev and rev.is_file():
        try:
            rj=json.loads(rev.read_text(encoding="utf-8"))
            restore=(rj.get("result")=="OK")
        except Exception: pass
    age=max(0,int(time.time()-epoch)) if epoch else None
    return {"generation":gen,"strict":strict,"restore_ok":restore,"age_seconds":age,"state_file":str(p),"obj":obj}

def unit_ok(unit):
    a=run(["systemctl","is-active",unit],10)[1].strip()
    e=run(["systemctl","is-enabled",unit],10)[1].strip()
    return a=="active" and e=="enabled",a,e

def parse_app_plan(txt):
    d={}
    for line in txt.splitlines():
        if line.startswith("QUEUE_FRESHNESS_PLAN APP="):
            r={}
            for tok in line.split()[1:]:
                if "=" in tok:
                    k,v=tok.split("=",1); r[k]=v
            if r.get("APP"): d[r["APP"]]=r.get("DECISION")
    return d

issues=[]; targets=[]; now=int(time.time())
try: robj=json.loads(REG.read_text(encoding="utf-8"))
except Exception:
    print("AUDIT_ERROR=REGISTRY_UNREADABLE",file=sys.stderr); sys.exit(69)
rows=[]; collect(robj,rows)
active={}
for r in rows:
    lid=r.get("logical_id")
    if lid and str(r.get("lifecycle","")).upper()=="ACTIVE":
        active[lid]={"logical_id":lid,"kind":str(r.get("kind","")).upper(),"id":str(r.get("id")) if r.get("id") is not None else None}

vmrc,vmo,_=run([REGH,"freshness-seconds","VM"],20)
aprc,apo,_=run([REGH,"freshness-seconds","APP"],20)
vm_sla=int(vmo.strip()) if vmrc==0 and vmo.strip().isdigit() else 72000
app_sla=int(apo.strip()) if aprc==0 and apo.strip().isdigit() else 72000

rrc,rout,_=run(["pvesh","get","/cluster/resources","--type","vm","--output-format","json"],30)
resources={}
if rrc==0:
    try:
        for x in json.loads(rout): resources[str(x.get("vmid"))]=x
    except Exception: pass

qrc,qout,qerr=run([APPQ,"freshness-plan"],180)
app_dec=parse_app_plan(qout if qrc==0 else "")
if qrc!=0: issues.append({"severity":"CRITICAL","code":"APP_FRESHNESS_PLAN_FAILED","logical_id":"-","root_cause":"APP_QUEUE_RC_"+str(qrc)})

for lid,r in sorted(active.items()):
    kind=r["kind"]; ident=r["id"]; rec={"logical_id":lid,"kind":kind,"state":"UNVERIFIED"}
    if kind=="VM":
        typ=str(resources.get(ident,{}).get("type","qemu"))
        sid=("ct"+ident) if typ=="lxc" else ("vm"+ident)
        v2=None
        try: v2=json.loads((STATE/(sid+".json")).read_text(encoding="utf-8"))
        except Exception: pass
        v2_ok=False; v2_age=None; repcount=None
        if isinstance(v2,dict):
            ls=v2.get("last_success_epoch")
            v2_age=max(0,int(now-ls)) if isinstance(ls,(int,float)) and ls>0 else None
            reps=v2.get("replicas"); repcount=len(reps) if isinstance(reps,(list,dict)) else None
            v2_ok=(v2.get("result")=="SUCCESS" and v2_age is not None and v2_age<vm_sla and repcount==2)
            cf=v2.get("consecutive_failures")
            if isinstance(cf,int) and cf>=3:
                issues.append({"severity":"HIGH","code":"RETRY_EXHAUSTION","logical_id":lid,"root_cause":"CONSECUTIVE_FAILURES_"+str(cf)})
        legacy=latest_legacy(lid,"VM")
        legacy_ok=bool(legacy and legacy["strict"] and legacy["restore_ok"] and legacy["age_seconds"] is not None and legacy["age_seconds"]<vm_sla)
        fresh=v2_ok or legacy_ok
        source=("V2" if v2_ok else ("SEALED_QUORUM" if legacy_ok else "NONE"))
        rec.update({"state":"FRESH" if fresh else "STALE","source":source,"v2_age_seconds":v2_age,"legacy_age_seconds":legacy["age_seconds"] if legacy else None,"replica_count":repcount,"state_id":sid,"generation":(v2.get("generation") if v2_ok and isinstance(v2,dict) else (legacy["generation"] if legacy else None))})
        if not fresh: issues.append({"severity":"HIGH","code":"RPO_BREACH","logical_id":lid,"root_cause":"NO_FRESH_V2_OR_SEALED_QUORUM"})
        if legacy:
            obj=legacy["obj"]
            if obj.get("local_payload_present") is True:
                issues.append({"severity":"CRITICAL","code":"LOCAL_PAYLOAD_LEAK","logical_id":lid,"root_cause":"LATEST_STATE_LOCAL_PAYLOAD_PRESENT"})
            if obj.get("status")!="SEALED" and legacy["age_seconds"] is not None and legacy["age_seconds"]<172800:
                issues.append({"severity":"HIGH","code":"INCOMPLETE_GENERATION","logical_id":lid,"root_cause":"LATEST_RECENT_STATE_NOT_SEALED"})
    elif kind=="APP":
        dec=app_dec.get(ident)
        fresh=(dec in ("SKIP_FRESH","BACKUP_FRESH"))
        legacy=latest_legacy(lid,"APP")
        if legacy and legacy["age_seconds"] is not None and legacy["age_seconds"]<app_sla and legacy["strict"] and legacy["restore_ok"]:
            fresh=True
        rec.update({"state":"FRESH" if fresh else "STALE","decision":dec,"legacy_age_seconds":legacy["age_seconds"] if legacy else None,"generation":legacy["generation"] if legacy else None})
        if not fresh: issues.append({"severity":"HIGH","code":"RPO_BREACH","logical_id":lid,"root_cause":"APP_QUORUM_NOT_FRESH"})
        if legacy:
            obj=legacy["obj"]
            if obj.get("local_payload_present") is True:
                issues.append({"severity":"CRITICAL","code":"LOCAL_PAYLOAD_LEAK","logical_id":lid,"root_cause":"LATEST_STATE_LOCAL_PAYLOAD_PRESENT"})
            if obj.get("status")!="SEALED" and legacy["age_seconds"] is not None and legacy["age_seconds"]<172800:
                issues.append({"severity":"HIGH","code":"INCOMPLETE_GENERATION","logical_id":lid,"root_cause":"LATEST_RECENT_STATE_NOT_SEALED"})
    elif kind=="CONTROL":
        try: obj=json.loads((STATE/(lid+".json")).read_text(encoding="utf-8"))
        except Exception: obj=None
        fresh=False; age=None
        if isinstance(obj,dict):
            ls=obj.get("last_success_epoch"); age=max(0,int(now-ls)) if isinstance(ls,(int,float)) and ls>0 else None
            fresh=(obj.get("result")=="SUCCESS" and age is not None and age<86400)
        rec.update({"state":"FRESH" if fresh else "STALE","age_seconds":age,"generation":obj.get("generation") if isinstance(obj,dict) else None})
        if not fresh: issues.append({"severity":"HIGH","code":"RPO_BREACH","logical_id":lid,"root_cause":"CONTROL_STATE_NOT_FRESH"})
    targets.append(rec)

if len(targets)!=len(active):
    issues.append({"severity":"CRITICAL","code":"LIFECYCLE_COVERAGE_GAP","logical_id":"-","root_cause":"ACTIVE_TARGET_COUNT_MISMATCH"})

for unit,code in [
    ("homelab-backup-v2.timer","V2_TIMER_BAD"),
    ("homelab-app-cloud-quorum-queue.timer","APP_TIMER_BAD"),
    ("homelab-backup-retention-gc.timer","RETENTION_TIMER_BAD"),
    ("homelab-alertmanager-backup-health.timer","ALERT_TIMER_BAD"),
]:
    ok,a,e=unit_ok(unit)
    if not ok: issues.append({"severity":"HIGH","code":code,"logical_id":unit,"root_cause":"UNIT_"+a+"_"+e})

for lock in ["/run/homelab-backup-heavy.lock","/run/lock/homelab-app-cloud-quorum-queue.lock","/run/lock/homelab-vm-cloud-quorum-queue.lock","/run/lock/homelab-backup-dispatcher.lock"]:
    p=pathlib.Path(lock)
    if p.exists():
        lrc,_,_=run(["flock","-n",str(p),"-c","true"],5)
        if lrc!=0: issues.append({"severity":"HIGH","code":"LOCK_BUSY","logical_id":lock,"root_cause":"ACTIVE_OR_ORPHAN_LOCK"})

env=os.environ.copy(); env["HOMELAB_BACKUP_GFS_POLICY"]=GFSP; env["HOMELAB_BACKUP_TARGET_REGISTRY"]=str(REG)
grc,gout,_=run([GFSH,"validate"],20,env)
if grc!=0 or "GFS_POLICY=OK" not in gout:
    issues.append({"severity":"CRITICAL","code":"GFS_INVALID","logical_id":"-","root_cause":"GFS_VALIDATE_FAILED"})
rr,_,_=run([RET,"contract"],120)
if rr!=0: issues.append({"severity":"HIGH","code":"RETENTION_CONTRACT_BAD","logical_id":"-","root_cause":"RETENTION_CONTRACT_RC_"+str(rr)})
rhp=pathlib.Path("/var/lib/homelab-health/backup-retention-safe-gc.json")
if not rhp.is_file():
    issues.append({"severity":"HIGH","code":"RETENTION_HEALTH_MISSING","logical_id":"-","root_cause":"RETENTION_HEALTH_FILE_MISSING"})
else:
    try:
        rh=json.loads(rhp.read_text(encoding="utf-8"))
        if rh.get("status")!="OK": issues.append({"severity":"HIGH","code":"RETENTION_HEALTH_BAD","logical_id":"-","root_cause":"RETENTION_HEALTH_NOT_OK"})
    except Exception: issues.append({"severity":"HIGH","code":"RETENTION_HEALTH_BAD","logical_id":"-","root_cause":"RETENTION_HEALTH_UNREADABLE"})

cloud={}
for label,remote in [("A","pve01-mail-01-crypt:homelab-backups"),("B","pve01-mail-02-crypt:homelab-backups")]:
    lrc,lo,_=run(["rclone","lsf",remote,"--max-depth","1","--dirs-only"],60)
    arc,ao,_=run(["rclone","about",remote,"--json"],60)
    rec={"readable":lrc==0,"top_dirs":len([x for x in lo.splitlines() if x.strip()])}
    if arc==0:
        try:
            j=json.loads(ao); rec.update({k:j.get(k) for k in ("total","used","free")})
            if j.get("total") and j.get("free") is not None:
                frac=j["free"]/j["total"]; rec["free_fraction"]=round(frac,6)
                if frac<0.15: issues.append({"severity":"HIGH","code":"CAPACITY_LOW","logical_id":"cloud-"+label,"root_cause":"FREE_LT_15_PERCENT"})
        except Exception: pass
    if lrc!=0: issues.append({"severity":"CRITICAL","code":"CLOUD_UNREADABLE","logical_id":"cloud-"+label,"root_cause":"RCLONE_LSF_FAILED"})
    cloud[label]=rec

try: dr=json.loads(DRSEAL.read_text(encoding="utf-8"))
except Exception: dr=None
if not isinstance(dr,dict) or dr.get("status")!="SEALED":
    issues.append({"severity":"CRITICAL","code":"DR_SEAL_MISSING","logical_id":"-","root_cause":"SITE_DR_FINAL_SEAL_NOT_SEALED"})

cloudb_ok=False
try:
    import pathlib as _pathlib, json as _json, subprocess as _subprocess, hashlib as _hashlib
    _state_root=_pathlib.Path("/var/lib/homelab-backup/cloud-quorum/app-skladchik-reports-monitor")
    _restore_root=_pathlib.Path("/var/lib/homelab-backup/app-restore-validation/app-skladchik-reports-monitor")
    _states=sorted([p for p in _state_root.glob("*.json") if p.is_file() and not p.is_symlink()],key=lambda p:p.stat().st_mtime,reverse=True)
    for _sp in _states:
        try: _st=_json.loads(_sp.read_text(encoding="utf-8"))
        except Exception: continue
        if not (
            _st.get("schema")=="homelab-cloud-quorum-payload-v1" and
            _st.get("logical_id")=="app-skladchik-reports-monitor" and
            _st.get("status")=="SEALED" and _st.get("cloud_quorum")==2 and
            _st.get("cloud_a_verified") is True and _st.get("cloud_b_verified") is True and
            _st.get("part_hashes_verified") is True and _st.get("seal_written") is True and
            _st.get("cloud_a_seal_verified") is True and _st.get("cloud_b_seal_verified") is True and
            _st.get("local_payload_present") is False and _st.get("local_cleanup")=="OK"):
            continue
        _gen=_st.get("generation"); _archive_sha=_st.get("archive_sha256")
        _manifest_sha=_st.get("parts_manifest_sha256"); _part_count=_st.get("part_count")
        _archive_size=_st.get("archive_size_bytes"); _remote_b=_st.get("remote_b_base")
        if not (isinstance(_gen,str) and isinstance(_archive_sha,str) and len(_archive_sha)==64 and
                isinstance(_manifest_sha,str) and len(_manifest_sha)==64 and isinstance(_part_count,int) and
                _part_count>0 and isinstance(_archive_size,int) and _archive_size>0 and isinstance(_remote_b,str)):
            continue
        _evp=_restore_root/(_gen+".json")
        try: _ev=_json.loads(_evp.read_text(encoding="utf-8"))
        except Exception: continue
        if not (
            _ev.get("schema")=="homelab-app-restore-validation-v1" and
            _ev.get("logical_id")=="app-skladchik-reports-monitor" and
            _ev.get("generation")==_gen and _ev.get("transport_state")=="SEALED" and
            _ev.get("restore_source")=="Cloud A" and _ev.get("payload_sha256")==_archive_sha and
            _ev.get("payload_sha256_verified") is True and _ev.get("result")=="OK"):
            continue
        _mp=_subprocess.run(["rclone","cat",_remote_b.rstrip("/")+"/PARTS.tsv"],stdout=_subprocess.PIPE,stderr=_subprocess.PIPE,timeout=60)
        if _mp.returncode!=0 or _hashlib.sha256(_mp.stdout).hexdigest()!=_manifest_sha: continue
        _rows=[]; _valid=True
        try:
            for _line in _mp.stdout.decode("utf-8","strict").splitlines():
                if not _line: continue
                _f=_line.split("\t")
                if len(_f)!=4: _valid=False; break
                _idx,_name,_size_s,_psha=_f
                if not (_idx.isdigit() and len(_idx)==8 and _size_s.isdigit() and len(_psha)==64):
                    _valid=False; break
                _size=int(_size_s)
                _pp=_subprocess.run(["rclone","cat",_remote_b.rstrip("/")+"/payload.parts/"+_name],stdout=_subprocess.PIPE,stderr=_subprocess.PIPE,timeout=120)
                if _pp.returncode!=0 or len(_pp.stdout)!=_size or _hashlib.sha256(_pp.stdout).hexdigest()!=_psha:
                    _valid=False; break
                _rows.append((_size,_pp.stdout))
        except Exception:
            _valid=False
        if not _valid or len(_rows)!=_part_count or sum(x[0] for x in _rows)!=_archive_size: continue
        _payload=b"".join(x[1] for x in _rows)
        if _hashlib.sha256(_payload).hexdigest()!=_archive_sha: continue
        cloudb_ok=True
        break
except Exception:
    cloudb_ok=False
if not cloudb_ok:
    issues.append({"severity":"CRITICAL","code":"CLOUD_B_RESTORE_DRILL_BAD","logical_id":"app-skladchik-reports-monitor","root_cause":"CANONICAL_CLOUD_B_PAYLOAD_OR_RESTORE_EVIDENCE_NOT_OK"})

source={"local_head":None,"remote_head":None,"pushurl_disabled":False}
hrc,ho,_=run(["git","-C",WT,"rev-parse","HEAD"],10)
if hrc==0: source["local_head"]=ho.strip()
frc,fo,_=run(["git","-C",WT,"config","--get","remote.origin.url"],10)
prc,po,_=run(["git","-C",WT,"config","--get","remote.origin.pushurl"],10)
source["pushurl_disabled"]=(prc==0 and po.strip()=="DISABLED")
if frc==0 and fo.strip():
    lrc,lo,_=run(["git","ls-remote",fo.strip(),"refs/heads/"+BRANCH],30)
    if lrc==0 and lo.strip(): source["remote_head"]=lo.split()[0]
if source["remote_head"]!=source["local_head"]:
    issues.append({"severity":"MEDIUM","code":"SOURCE_OFFHOST_MISSING","logical_id":"-","root_cause":"CR_BRANCH_SHA_NOT_EXACT"})

status="GREEN" if not issues else "RED"
for t in targets:
    print("TARGET|"+"|".join(f"{k}={v}" for k,v in t.items() if v is not None))
for i in issues:
    print("ISSUE|severity={severity}|code={code}|logical_id={logical_id}|root_cause={root_cause}".format(**i))
print(f"SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS={status}|ACTIVE_COUNT={len(active)}|ISSUE_COUNT={len(issues)}|CLOUD_A={'OK' if cloud.get('A',{}).get('readable') else 'BAD'}|CLOUD_B={'OK' if cloud.get('B',{}).get('readable') else 'BAD'}|CLOUD_B_DRILL={'OK' if cloudb_ok else 'BAD'}|DR_PROVEN={'YES' if isinstance(dr,dict) and dr.get('status')=='SEALED' else 'NO'}|SOURCE_OFFHOST={'OK' if source['remote_head']==source['local_head'] else 'PENDING'}")
health={"schema":"homelab-backup-audit-v3","status":status,"generated_at_epoch":now,"targets":targets,"issues":issues,"cloud":cloud,"source":source,"cloud_b_restore_drill":cloudb_ok,"dr_proven":bool(isinstance(dr,dict) and dr.get("status")=="SEALED")}
if MODE in ("write-health","scheduled"):
    for hp in HEALTHS:
        hp.parent.mkdir(parents=True,exist_ok=True)
        tmp=hp.with_name(hp.name+".tmp")
        tmp.write_text(json.dumps(health,separators=(",",":"),sort_keys=True)+"\n",encoding="utf-8")
        os.chmod(tmp,0o644); os.replace(tmp,hp)
sys.exit(0 if not issues else 1)
=== BACKUP_AUDIT_EXECSTART_SOURCE_END ===
=== BACKUP_AUDIT_TIMER_SHOW ===
NextElapseUSecRealtime=Sun 2026-09-27 21:36:58 MSK
LastTriggerUSec=Sun 2026-09-27 21:05:58 MSK
Result=success
Id=homelab-backup-audit.timer
LoadState=loaded
ActiveState=active
SubState=waiting
FragmentPath=/etc/systemd/system/homelab-backup-audit.timer
DropInPaths=
UnitFileState=enabled
BACKUP_AUDIT_TIMER_FRAGMENT_PATH=/etc/systemd/system/homelab-backup-audit.timer
BACKUP_AUDIT_TIMER_SHA256=987695f83ee993bd4d716b8365308211110ac4c684f0bd9b17dfdb1e523e466a
=== BACKUP_AUDIT_TIMER_CAT ===
# /etc/systemd/system/homelab-backup-audit.timer
[Unit]
Description=Run homelab unified backup and DR audit

[Timer]
OnCalendar=*-*-* *:05,35:00
RandomizedDelaySec=2min
Persistent=true
AccuracySec=1min
Unit=homelab-backup-audit.service

[Install]
WantedBy=timers.target
=== BACKUP_V2_JOURNAL_LAST12H ===
2026-09-27T16:56:08.780555+03:00 pve01 homelab-backup-v2[3412388]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T16:56:08.785999+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T16:56:08.786073+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T16:56:08.786211+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T16:56:08.786299+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.475s CPU time, 159M memory peak.
2026-09-27T17:32:01.150519+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T17:32:01.367425+03:00 pve01 homelab-backup-v2[3534166]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T17:32:08.781016+03:00 pve01 homelab-backup-v2[3534166]: SCHEDULE_TARGET=ct110
2026-09-27T17:32:08.788194+03:00 pve01 homelab-backup-v2[3534166]: Traceback (most recent call last):
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:                                               ~~~~^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     return int(e.main())
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:                ~~~~~~^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     try:return legacy.scheduled_run()
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     try: backup_target(t,green_verify=False)
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     return _legacy_backup_target(t,green_verify)
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T17:32:08.790489+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:     if not ok: raise AdapterError(code)
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T17:32:08.790789+03:00 pve01 homelab-backup-v2[3534166]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T17:32:08.796247+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T17:32:08.796375+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T17:32:08.796599+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T17:32:08.796748+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.495s CPU time, 158.9M memory peak.
2026-09-27T18:10:32.219042+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T18:10:32.428144+03:00 pve01 homelab-backup-v2[3649069]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T18:10:39.922344+03:00 pve01 homelab-backup-v2[3649069]: SCHEDULE_TARGET=ct110
2026-09-27T18:10:39.924676+03:00 pve01 homelab-backup-v2[3649069]: Traceback (most recent call last):
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:                                               ~~~~^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     return int(e.main())
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:                ~~~~~~^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     try:return legacy.scheduled_run()
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     try: backup_target(t,green_verify=False)
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     return _legacy_backup_target(t,green_verify)
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T18:10:39.926992+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:     if not ok: raise AdapterError(code)
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:10:39.927246+03:00 pve01 homelab-backup-v2[3649069]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T18:10:39.932727+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T18:10:39.932833+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T18:10:39.933016+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T18:10:39.933162+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.569s CPU time, 158.3M memory peak.
2026-09-27T18:45:53.216419+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T18:45:53.422759+03:00 pve01 homelab-backup-v2[3761852]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T18:46:00.905490+03:00 pve01 homelab-backup-v2[3761852]: SCHEDULE_TARGET=ct110
2026-09-27T18:46:00.907841+03:00 pve01 homelab-backup-v2[3761852]: Traceback (most recent call last):
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:                                               ~~~~^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     return int(e.main())
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:                ~~~~~~^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     try:return legacy.scheduled_run()
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     try: backup_target(t,green_verify=False)
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     return _legacy_backup_target(t,green_verify)
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T18:46:00.910101+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:     if not ok: raise AdapterError(code)
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T18:46:00.910381+03:00 pve01 homelab-backup-v2[3761852]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T18:46:00.915984+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T18:46:00.916074+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T18:46:00.916269+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T18:46:00.916375+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.545s CPU time, 158M memory peak.
2026-09-27T19:23:42.217808+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T19:23:42.430410+03:00 pve01 homelab-backup-v2[3884916]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T19:23:49.946116+03:00 pve01 homelab-backup-v2[3884916]: SCHEDULE_TARGET=ct110
2026-09-27T19:23:49.948389+03:00 pve01 homelab-backup-v2[3884916]: Traceback (most recent call last):
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:                                               ~~~~^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     return int(e.main())
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:                ~~~~~~^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     try:return legacy.scheduled_run()
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     try: backup_target(t,green_verify=False)
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     return _legacy_backup_target(t,green_verify)
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T19:23:49.950794+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:     if not ok: raise AdapterError(code)
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:23:49.951058+03:00 pve01 homelab-backup-v2[3884916]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T19:23:49.956363+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T19:23:49.956493+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T19:23:49.956756+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T19:23:49.956958+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.609s CPU time, 158.3M memory peak.
2026-09-27T19:54:51.296351+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T19:54:51.506093+03:00 pve01 homelab-backup-v2[3986164]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T19:54:58.948362+03:00 pve01 homelab-backup-v2[3986164]: SCHEDULE_TARGET=ct110
2026-09-27T19:54:58.950867+03:00 pve01 homelab-backup-v2[3986164]: Traceback (most recent call last):
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:                                               ~~~~^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     return int(e.main())
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:                ~~~~~~^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     try:return legacy.scheduled_run()
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     try: backup_target(t,green_verify=False)
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     return _legacy_backup_target(t,green_verify)
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T19:54:58.953354+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:     if not ok: raise AdapterError(code)
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T19:54:58.953685+03:00 pve01 homelab-backup-v2[3986164]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T19:54:58.959423+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T19:54:58.959554+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T19:54:58.959787+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T19:54:58.959933+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.562s CPU time, 158.8M memory peak.
2026-09-27T20:34:07.719648+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T20:34:07.927815+03:00 pve01 homelab-backup-v2[4110155]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T20:34:15.120080+03:00 pve01 homelab-backup-v2[4110155]: SCHEDULE_TARGET=ct110
2026-09-27T20:34:15.126647+03:00 pve01 homelab-backup-v2[4110155]: Traceback (most recent call last):
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:                                               ~~~~^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     return int(e.main())
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:                ~~~~~~^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     try:return legacy.scheduled_run()
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     try: backup_target(t,green_verify=False)
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     return _legacy_backup_target(t,green_verify)
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T20:34:15.128859+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:     if not ok: raise AdapterError(code)
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T20:34:15.129121+03:00 pve01 homelab-backup-v2[4110155]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T20:34:15.134576+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T20:34:15.134707+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T20:34:15.134976+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T20:34:15.135160+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.264s CPU time, 158.1M memory peak.
2026-09-27T21:08:52.217797+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
2026-09-27T21:08:52.428399+03:00 pve01 homelab-backup-v2[19346]: SELFTEST_REPLACEMENT486=PASS
2026-09-27T21:08:59.769061+03:00 pve01 homelab-backup-v2[19346]: SCHEDULE_TARGET=ct110
2026-09-27T21:08:59.771818+03:00 pve01 homelab-backup-v2[19346]: Traceback (most recent call last):
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/usr/local/sbin/homelab-backup-v2", line 26, in <module>
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     if __name__=='__main__': raise SystemExit(main())
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:                                               ~~~~^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/usr/local/sbin/homelab-backup-v2", line 25, in main
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     return int(e.main())
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:                ~~~~~~^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/entry504.py", line 186, in main
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     return wrapper.main([sys.argv[0],*argv])
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:            ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 94, in main
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     if cmd=='scheduled':return _scheduled_locked()
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:                                ~~~~~~~~~~~~~~~~~^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 85, in _scheduled_locked
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     try:return legacy.scheduled_run()
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:                ~~~~~~~~~~~~~~~~~~~~^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 960, in scheduled_run
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     try: backup_target(t,green_verify=False)
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:          ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/wrapper.py", line 42, in backup_target
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     return _legacy_backup_target(t,green_verify)
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 908, in backup_target
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:                          ~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-accepted-486r1/legacy_engine.py", line 873, in capture_target
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:     if typ=='pve_guest': return capture_pve_guest(t,gen,work)
2026-09-27T21:08:59.774470+03:00 pve01 homelab-backup-v2[19346]:                                 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 204, in capture_pve_guest
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:     p=plan_only(legacy,t,scratch); local=pathlib.Path(work)/'payload.bin'; cap=int(p['job']['archive_cap_bytes'])
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 85, in plan_only
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:     a=_helper(_live_inputs(legacy,node,vmid,scratch)); b=_helper(_live_inputs(legacy,node,vmid,scratch))
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 69, in _helper
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:     _need(p.returncode==0 and not p.stderr and 0<len(p.stdout)<=262144,'FRESH_HELPER_FAILED')
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:   File "/opt/homelab-backup-v2/releases/backup-v2-overlay-504r1-ca6876fa9c3b/lxc_adapter.py", line 16, in _need
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:     if not ok: raise AdapterError(code)
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]:                ^^^^^^^^^^^^^^^^^^^^^^^^
2026-09-27T21:08:59.774878+03:00 pve01 homelab-backup-v2[19346]: lxc_adapter.AdapterError: FRESH_HELPER_FAILED
2026-09-27T21:08:59.781673+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T21:08:59.781935+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
2026-09-27T21:08:59.782142+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
2026-09-27T21:08:59.782292+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 7.416s CPU time, 158.7M memory peak.
=== BACKUP_AUDIT_JOURNAL_LAST12H ===
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T16:36:15.498349+03:00 pve01 homelab-backup-audit[3360337]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T16:36:15.501790+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T16:36:15.501873+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T16:36:15.502049+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T16:36:15.502186+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.495s CPU time, 148.1M memory peak.
2026-09-27T17:06:58.226832+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=27405|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=27238|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=27339|generation=app-immich-pve01-20260927T063041Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=27386|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=213356|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=264783|legacy_age_seconds=2017649|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=262764|replica_count=2|state_id=ct111
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=246256|legacy_age_seconds=2056144|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=244237|replica_count=2|state_id=ct113
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=238847|replica_count=2|state_id=vm130
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=242299|legacy_age_seconds=2017766|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=237600|replica_count=2|state_id=vm160
2026-09-27T17:07:02.370777+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=214391|legacy_age_seconds=962387|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=218821|legacy_age_seconds=991919|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=214989|replica_count=2|state_id=vm190
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=206246|replica_count=2|state_id=vm9130
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:07:02.371206+03:00 pve01 homelab-backup-audit[3448254]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T17:07:02.374459+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T17:07:02.374532+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T17:07:02.374666+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T17:07:02.374773+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.583s CPU time, 148.1M memory peak.
2026-09-27T17:36:01.157822+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=29148|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=28981|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=29082|generation=app-immich-pve01-20260927T063041Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=29129|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=215099|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=266526|legacy_age_seconds=2019392|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=264507|replica_count=2|state_id=ct111
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=247999|legacy_age_seconds=2057887|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=245980|replica_count=2|state_id=ct113
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=240590|replica_count=2|state_id=vm130
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=244042|legacy_age_seconds=2019508|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=239343|replica_count=2|state_id=vm160
2026-09-27T17:36:05.154322+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=216134|legacy_age_seconds=964129|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=220564|legacy_age_seconds=993661|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=216732|replica_count=2|state_id=vm190
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=207989|replica_count=2|state_id=vm9130
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T17:36:05.154721+03:00 pve01 homelab-backup-audit[3547298]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T17:36:05.158603+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T17:36:05.158677+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T17:36:05.158839+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T17:36:05.158955+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.532s CPU time, 148.4M memory peak.
2026-09-27T18:05:32.217062+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=30920|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=30753|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=30854|generation=app-immich-pve01-20260927T063041Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=30901|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=216870|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=268297|legacy_age_seconds=2021164|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=266278|replica_count=2|state_id=ct111
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=249770|legacy_age_seconds=2059659|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=247751|replica_count=2|state_id=ct113
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=242361|replica_count=2|state_id=vm130
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=245813|legacy_age_seconds=2021280|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=241114|replica_count=2|state_id=vm160
2026-09-27T18:05:36.160395+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=217905|legacy_age_seconds=965901|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=222335|legacy_age_seconds=995433|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=218503|replica_count=2|state_id=vm190
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=209760|replica_count=2|state_id=vm9130
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:05:36.160956+03:00 pve01 homelab-backup-audit[3634668]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T18:05:36.165406+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T18:05:36.165481+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T18:05:36.165634+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T18:05:36.165787+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.671s CPU time, 148.7M memory peak.
2026-09-27T18:37:01.175931+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=32808|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=32641|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=32742|generation=app-immich-pve01-20260927T063041Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=32789|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=218759|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=270186|legacy_age_seconds=2023052|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=268167|replica_count=2|state_id=ct111
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=251659|legacy_age_seconds=2061547|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=249640|replica_count=2|state_id=ct113
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=244250|replica_count=2|state_id=vm130
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=247702|legacy_age_seconds=2023168|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=243003|replica_count=2|state_id=vm160
2026-09-27T18:37:05.292583+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=219794|legacy_age_seconds=967789|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=224224|legacy_age_seconds=997321|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=220392|replica_count=2|state_id=vm190
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=211649|replica_count=2|state_id=vm9130
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T18:37:05.293286+03:00 pve01 homelab-backup-audit[3734472]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T18:37:05.298114+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T18:37:05.298186+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T18:37:05.298351+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T18:37:05.298479+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.586s CPU time, 148.3M memory peak.
2026-09-27T19:06:32.216653+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=34579|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=34412|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=34513|generation=app-immich-pve01-20260927T063041Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=34560|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=220530|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=271957|legacy_age_seconds=2024823|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=269938|replica_count=2|state_id=ct111
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=253430|legacy_age_seconds=2063318|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=251411|replica_count=2|state_id=ct113
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=246021|replica_count=2|state_id=vm130
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=249473|legacy_age_seconds=2024939|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=244774|replica_count=2|state_id=vm160
2026-09-27T19:06:36.464162+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=221565|legacy_age_seconds=969560|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=225995|legacy_age_seconds=999092|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=222163|replica_count=2|state_id=vm190
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=213420|replica_count=2|state_id=vm9130
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:06:36.464739+03:00 pve01 homelab-backup-audit[3833726]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T19:06:36.470296+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T19:06:36.470374+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T19:06:36.470553+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T19:06:36.470670+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.553s CPU time, 148.5M memory peak.
2026-09-27T19:36:58.228215+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=36405|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=36238|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=36339|generation=app-immich-pve01-20260927T063041Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=36386|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=222356|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=273783|legacy_age_seconds=2026649|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=271764|replica_count=2|state_id=ct111
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=255256|legacy_age_seconds=2065144|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=253237|replica_count=2|state_id=ct113
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=247847|replica_count=2|state_id=vm130
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=251299|legacy_age_seconds=2026766|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=246600|replica_count=2|state_id=vm160
2026-09-27T19:37:02.093343+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=223391|legacy_age_seconds=971387|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=227821|legacy_age_seconds=1000919|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=223989|replica_count=2|state_id=vm190
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=215246|replica_count=2|state_id=vm9130
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T19:37:02.093711+03:00 pve01 homelab-backup-audit[3923461]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T19:37:02.096988+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T19:37:02.097068+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T19:37:02.097221+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T19:37:02.097338+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.622s CPU time, 147.8M memory peak.
2026-09-27T20:06:11.547120+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=38159|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=37992|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=38093|generation=app-immich-pve01-20260927T063041Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=38140|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=224109|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=275536|legacy_age_seconds=2028403|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=273517|replica_count=2|state_id=ct111
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=257009|legacy_age_seconds=2066898|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=254990|replica_count=2|state_id=ct113
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=249600|replica_count=2|state_id=vm130
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=253052|legacy_age_seconds=2028519|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=248353|replica_count=2|state_id=vm160
2026-09-27T20:06:15.522209+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=225144|legacy_age_seconds=973140|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=229574|legacy_age_seconds=1002672|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=225742|replica_count=2|state_id=vm190
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=216999|replica_count=2|state_id=vm9130
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:06:15.522779+03:00 pve01 homelab-backup-audit[4022565]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T20:06:15.527700+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T20:06:15.527780+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T20:06:15.527939+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T20:06:15.528053+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.537s CPU time, 148.2M memory peak.
2026-09-27T20:36:01.195601+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=39948|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=39781|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=39882|generation=app-immich-pve01-20260927T063041Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=39929|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=225899|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=277326|legacy_age_seconds=2030192|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=275307|replica_count=2|state_id=ct111
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=258799|legacy_age_seconds=2068687|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=256780|replica_count=2|state_id=ct113
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=251390|replica_count=2|state_id=vm130
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=254842|legacy_age_seconds=2030308|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=250143|replica_count=2|state_id=vm160
2026-09-27T20:36:05.449739+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=226934|legacy_age_seconds=974929|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=231364|legacy_age_seconds=1004461|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=227532|replica_count=2|state_id=vm190
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=218789|replica_count=2|state_id=vm9130
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T20:36:05.450336+03:00 pve01 homelab-backup-audit[4111037]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T20:36:05.453431+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T20:36:05.453517+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T20:36:05.453690+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T20:36:05.453817+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.469s CPU time, 149.1M memory peak.
2026-09-27T21:05:58.227407+03:00 pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=41745|generation=app-filebrowser-pve01-20260927T063003Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=41578|generation=app-hbarhub-pve01-20260927T063154Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=41679|generation=app-immich-pve01-20260927T063041Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=41726|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=227696|generation=control-bootstrap-v2-pve01-20260916T120057Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=279123|legacy_age_seconds=2031989|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=277104|replica_count=2|state_id=ct111
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=260596|legacy_age_seconds=2070484|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=258577|replica_count=2|state_id=ct113
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=253187|replica_count=2|state_id=vm130
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=256639|legacy_age_seconds=2032105|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=251940|replica_count=2|state_id=vm160
2026-09-27T21:06:02.093992+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=228731|legacy_age_seconds=976726|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=233161|legacy_age_seconds=1006258|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=229329|replica_count=2|state_id=vm190
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=220586|replica_count=2|state_id=vm9130
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
2026-09-27T21:06:02.094425+03:00 pve01 homelab-backup-audit[16838]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=12|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
2026-09-27T21:06:02.097889+03:00 pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1/FAILURE
2026-09-27T21:06:02.097963+03:00 pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
2026-09-27T21:06:02.098141+03:00 pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
2026-09-27T21:06:02.098271+03:00 pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.560s CPU time, 148.2M memory peak.
=== BACKUP_V2_TIMER_JOURNAL_LAST12H ===
-- No entries --
=== BACKUP_AUDIT_TIMER_JOURNAL_LAST12H ===
-- No entries --
=== HEALTH_FILES ===
/var/lib/homelab-health/actual-backup.txt|269|2026-07-09T15:53:45.2480051850+0300
/var/lib/homelab-health/actual-budget-backup.txt|269|2026-07-09T15:53:45.2480051850+0300
/var/lib/homelab-health/alertmanager-backup.txt|282|2026-07-09T10:50:17.8267126930+0300
/var/lib/homelab-health/alertmanager-two-cloud-backup.txt|200|2026-07-10T21:46:36.9609141470+0300
/var/lib/homelab-health/appbackupctl-routing.txt|821|2026-07-13T03:29:40.0025776360+0300
/var/lib/homelab-health/app-cloud-quorum-cutover.json|642|2026-08-09T03:52:48.2998893820+0300
/var/lib/homelab-health/app-cloud-quorum-freshness.json|645|2026-08-09T05:01:58.0175936120+0300
/var/lib/homelab-health/app-stacks-batch-backup.txt|150|2026-07-09T10:22:35.5302603170+0300
/var/lib/homelab-health/audiobookshelf-backup.txt|238|2026-07-09T21:22:25.6704869300+0300
/var/lib/homelab-health/authentik-backup.txt|762|2026-08-30T21:08:08.4598216350+0300
/var/lib/homelab-health/backup-audit.json|4767|2026-09-27T21:19:36.3326216640+0300
/var/lib/homelab-health/backup-audit-v2.json|4767|2026-09-27T21:19:36.3324532240+0300
/var/lib/homelab-health/backup-boot-drill.json|198|2026-09-27T06:42:01.0723048770+0300
/var/lib/homelab-health/backup-coverage-matrix.txt|817|2026-08-30T21:08:08.5395091560+0300
/var/lib/homelab-health/backup-framework.txt|811|2026-08-30T21:08:08.8508639000+0300
/var/lib/homelab-health/backup.json|275|2026-07-24T07:04:41.7238021220+0300
/var/lib/homelab-health/backup-last-run.log|1584|2026-07-24T07:04:41.7134440520+0300
/var/lib/homelab-health/backup-lock-fd-hardening.json|511|2026-08-10T17:49:25.3726464960+0300
/var/lib/homelab-health/backup-matrix-cluster-desired-state-sync.txt|887|2026-07-13T20:51:32.4163384480+0300
/var/lib/homelab-health/backup-matrix-cluster-final-seal.txt|1445|2026-07-13T20:51:32.4223385400+0300
/var/lib/homelab-health/backup-matrix-cluster-preseal-convergence.txt|943|2026-07-13T20:48:14.6313253050+0300
/var/lib/homelab-health/backup-matrix-desired-state-persistence.txt|648|2026-07-13T20:40:37.0653547720+0300
/var/lib/homelab-health/backup-matrix-vm-health-feedback-fix.txt|628|2026-07-13T20:29:02.8967807310+0300
/var/lib/homelab-health/backup-observability-history.jsonl|567074|2026-09-21T07:07:33.8042913730+0300
/var/lib/homelab-health/backup-restore-dashboard.txt|847|2026-07-03T00:45:30.9413791610+0300
/var/lib/homelab-health/backup-retention-safe-gc.json|837|2026-09-27T03:28:46.3398424010+0300
/var/lib/homelab-health/backup-scheduler-fairness-granularity.json|761|2026-08-10T20:50:58.4167551150+0300
/var/lib/homelab-health/backup-scheduler-rpo-hardening.json|397|2026-08-10T13:51:49.3759866230+0300
/var/lib/homelab-health/backup-sla.txt|765|2026-08-30T21:08:08.6016047590+0300
/var/lib/homelab-health/backup.txt|218|2026-07-24T07:04:41.7214441740+0300
/var/lib/homelab-health/backup-unified-audit.json|1562|2026-09-21T07:36:42.4120671030+0300
/var/lib/homelab-health/beszel-backup.txt|269|2026-07-09T11:38:36.1186130800+0300
/var/lib/homelab-health/beszel-two-cloud-backup.txt|189|2026-07-10T22:05:25.8570406280+0300
/var/lib/homelab-health/blackbox-exporter-backup.txt|296|2026-07-09T11:04:19.9613236750+0300
/var/lib/homelab-health/blackbox-exporter-two-cloud-backup.txt|209|2026-07-10T22:20:26.1397323180+0300
/var/lib/homelab-health/bookstack-backup.txt|218|2026-07-09T20:58:33.5284046710+0300
/var/lib/homelab-health/cadvisor-backup.txt|275|2026-07-09T11:25:57.2660677240+0300
/var/lib/homelab-health/calibre-web-backup.txt|225|2026-07-09T21:46:20.9338292150+0300
/var/lib/homelab-health/cluster-admin-backup-webpanel-final-seal.txt|386|2026-07-09T08:24:54.0720153050+0300
/var/lib/homelab-health/cluster-admin-incident-engine-backup.txt|249|2026-07-11T02:30:49.6252637080+0300
/var/lib/homelab-health/cluster-admin-stage1-preapply-backup.txt|926|2026-07-13T03:11:06.7005119340+0300
/var/lib/homelab-health/cluster-admin-stage2-preapply-backup.txt|1727|2026-07-13T04:24:04.9957556580+0300
/var/lib/homelab-health/cluster-admin-stage3-postapply-backup.txt|972|2026-07-13T06:44:42.7609957740+0300
/var/lib/homelab-health/cluster-admin-stage3-preapply-backup.txt|1118|2026-07-13T06:15:56.2396234100+0300
/var/lib/homelab-health/cluster-admin-stage4f-preapply-backup.txt|692|2026-07-14T10:54:50.6815482590+0300
/var/lib/homelab-health/cluster-admin-stage4h-collector-baseline-audit.txt|268|2026-07-14T20:29:41.0475984260+0300
/var/lib/homelab-health/cluster-admin-vm-mail-cloud-backup.txt|217|2026-07-09T08:07:47.2134520460+0300
/var/lib/homelab-health/control-backup.json|618|2026-09-25T05:51:02.1400147120+0300
/var/lib/homelab-health/control-bootstrap-cloud-quorum.json|762|2026-08-11T00:11:00.7261255060+0300
/var/lib/homelab-health/control-bootstrap-v2-cloud-quorum.json|774|2026-08-11T02:50:11.0810440440+0300
/var/lib/homelab-health/crypto-portfolio-backup.txt|353|2026-07-13T11:12:13.3023976030+0300
/var/lib/homelab-health/crypto-portfolio-remove-grt-prechange-backup.txt|1647|2026-07-13T08:10:44.7277816120+0300
/var/lib/homelab-health/crypto-portfolio-remove-grt-recovery-audit.txt|330|2026-07-13T08:39:10.8547948980+0300
/var/lib/homelab-health/crypto-portfolio-ui-preapply-backup.txt|1851|2026-07-13T10:42:57.1487691660+0300
/var/lib/homelab-health/deep-service-backup-audit.txt|292|2026-07-10T00:12:45.3264837560+0300
/var/lib/homelab-health/desired-state-remote-git-audit.txt|643|2026-07-08T12:27:26.7886643440+0300
/var/lib/homelab-health/dockge-backup.txt|264|2026-07-09T13:12:46.6093796530+0300
/var/lib/homelab-health/dockge-stacks-backup.txt|271|2026-07-09T13:12:46.6093796530+0300
/var/lib/homelab-health/dozzle-backup.txt|270|2026-07-09T11:32:11.0687583470+0300
/var/lib/homelab-health/duty-admin-residual-audit.txt|497|2026-07-08T08:40:40.2615024670+0300
/var/lib/homelab-health/edge-vm-vzdump-backup.txt|779|2026-08-30T21:08:08.6216014400+0300
/var/lib/homelab-health/extended-appbackup.txt|785|2026-08-30T21:08:08.6614147780+0300
/var/lib/homelab-health/filebrowser-backup.txt|706|2026-08-30T21:08:08.3634753160+0300
/var/lib/homelab-health/final-global-green-audit.txt|918|2026-07-08T10:27:09.8992163430+0300
/var/lib/homelab-health/final-green-freeze-audit.txt|1001|2026-07-08T10:52:21.5920659640+0300
/var/lib/homelab-health/gitea-backup.txt|746|2026-08-30T21:08:08.4803668090+0300
/var/lib/homelab-health/gotify-backup.txt|206|2026-07-09T23:39:37.9114415990+0300
/var/lib/homelab-health/grafana-backup.txt|294|2026-07-09T10:46:00.9056083920+0300
/var/lib/homelab-health/hapusya-site-backup-path-mapping.txt|424|2026-07-13T15:10:58.1382215430+0300
/var/lib/homelab-health/hapusya-site-backup.txt|499|2026-07-13T15:10:58.1372215280+0300
/var/lib/homelab-health/hapusya-site-preapply-backup.txt|388|2026-07-13T14:03:06.0152234300+0300
/var/lib/homelab-health/hapusya-site-v2-preapply-backup.txt|533|2026-07-13T14:34:59.2083653510+0300
/var/lib/homelab-health/hbarhub-cloud-quorum.json|1086|2026-08-09T06:55:29.6374215870+0300
/var/lib/homelab-health/healthchecks-backup.txt|265|2026-07-09T11:51:31.1083861380+0300
/var/lib/homelab-health/homeassistant-backup.txt|236|2026-07-09T22:04:04.0733864250+0300
/var/lib/homelab-health/homebox-backup.txt|251|2026-07-09T19:01:20.7901933280+0300
/var/lib/homelab-health/homelab-backup-baseline.txt|2679|2026-06-17T23:02:13.9525590360+0300
/var/lib/homelab-health/homepage-homelab-router-audit/homepage-homelab-router-audit-core-apps-live-homepage.txt|21247|2026-07-02T23:09:46.5463851050+0300
/var/lib/homelab-health/homepage-homelab-router-audit/homepage-homelab-router-audit-edge-vm.txt|94629|2026-07-02T23:09:35.7812228200+0300
/var/lib/homelab-health/homepage-homelab-router-audit/homepage-homelab-router-audit-monitoring.txt|1829|2026-07-02T23:09:57.2135459070+0300
/var/lib/homelab-health/immich-backup.txt|278|2026-07-09T23:09:25.0745502100+0300
/var/lib/homelab-health/immich-media-backup.txt|726|2026-08-30T21:08:08.9945117990+0300
/var/lib/homelab-health/independent-external-runner-audit.txt|762|2026-07-08T12:13:28.4829706890+0300
/var/lib/homelab-health/it-tools-backup.txt|225|2026-07-09T22:13:14.6980274280+0300
/var/lib/homelab-health/jellyfin-backup.txt|214|2026-07-09T21:16:17.6627935760+0300
/var/lib/homelab-health/karakeep-backup.txt|214|2026-07-09T22:28:35.5724369860+0300
/var/lib/homelab-health/legacy-monitoring-backups-migrated.txt|151|2026-07-10T23:00:03.1168349530+0300
/var/lib/homelab-health/linkding-backup.txt|214|2026-07-09T20:00:19.8381943590+0300
/var/lib/homelab-health/live-tail-audit.txt|260|2026-07-08T13:48:38.7184424100+0300
/var/lib/homelab-health/mealie-backup.txt|250|2026-07-09T19:17:35.0170448070+0300
/var/lib/homelab-health/memos-backup.txt|664|2026-08-30T21:08:09.0152895290+0300
/var/lib/homelab-health/minio-backup.txt|245|2026-07-09T15:13:16.8761117060+0300
/var/lib/homelab-health/minio-console-backup.txt|245|2026-07-09T15:13:16.8761117060+0300
/var/lib/homelab-health/n8n-backup.txt|194|2026-07-09T22:39:24.2375519320+0300
/var/lib/homelab-health/netbird-vps-backup.txt|312|2026-07-01T04:31:05.4336469050+0300
/var/lib/homelab-health/netbox-backup.txt|252|2026-07-09T13:23:55.6935309890+0300
/var/lib/homelab-health/node-exporter-backup.txt|331|2026-07-09T11:14:05.4352326180+0300
/var/lib/homelab-health/node-red-backup.txt|214|2026-07-09T22:46:45.7324363630+0300
/var/lib/homelab-health/npmplus-edge-backup.txt|267|2026-07-09T13:02:56.5714256630+0300
/var/lib/homelab-health/npmplus-kuma-config-backup.txt|819|2026-08-30T21:08:08.4404105770+0300
/var/lib/homelab-health/ntfy-backup.txt|198|2026-07-09T23:39:41.3274938750+0300
/var/lib/homelab-health/p1-safe-data-backup.txt|198|2026-07-07T01:09:37.3328266250+0300
/var/lib/homelab-health/p2-media-backup.txt|269|2026-07-07T03:57:33.0001246560+0300
/var/lib/homelab-health/paperless-backup.txt|684|2026-07-18T01:52:29.8931662090+0300
/var/lib/homelab-health/paperless-core-guard-audit.txt|426|2026-07-08T08:27:02.9011355390+0300
/var/lib/homelab-health/prometheus-npmplus-kuma-final-repair-20260709T072619Z/npmplus-kuma-config-backup.txt.bak|299|2026-07-08T07:58:18.9509332240+0300
/var/lib/homelab-health/prometheus-npmplus-kuma-supersede-repair-20260709T073019Z/npmplus-kuma-config-backup.txt.bak|90|2026-07-09T10:26:20.1729271960+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/app-stacks-batch-backup.txt.bak|708|2026-06-17T22:58:22.7151498450+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/authentik-backup.txt.bak|239|2026-07-02T04:56:59.8937654010+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/gitea-backup.txt.bak|253|2026-07-02T05:13:41.7132409470+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/immich-media-backup.txt.bak|360|2026-06-30T08:15:40.0322698110+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/memos-backup.txt.bak|229|2026-07-02T08:37:15.3995135020+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/paperless-backup.txt.bak|247|2026-07-01T09:06:29.8668525040+0300
/var/lib/homelab-health/prometheus-stale-repair-20260709T071928Z/vaultwarden-backup.txt.bak|249|2026-07-02T05:31:55.2819771530+0300
/var/lib/homelab-health/proxmox-pve01-backup.txt|276|2026-07-09T15:29:41.9851382980+0300
/var/lib/homelab-health/pve01-backup.txt|276|2026-07-09T15:29:41.9851382980+0300
/var/lib/homelab-health/remote-failed-unit-audit.txt|337|2026-07-08T08:20:29.6041867030+0300
/var/lib/homelab-health/review-surface-registry-audit.txt|645|2026-07-08T09:20:13.6454507410+0300
/var/lib/homelab-health/scrutiny-cloud-quorum.json|1114|2026-08-09T20:44:13.9730975280+0300
/var/lib/homelab-health/searxng-backup.txt|278|2026-07-09T12:39:46.4043274480+0300
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/actual-backup.txt ===
HEALTH_FILE_SHA256=72d1b31e22e22ac91af66e3d8ae46b20b3b9297809ace524eece22031458fb05
STATUS=OK TS=2026-07-09T12:53:43Z TYPE=actual-budget-backup JOB=homelab-pve01-app-actual-budget-20260709T051713Z SOURCE=latest-appbackup SIZE=2011 LOCAL_BACKUP_DELETED=true JSON=/var/lib/homelab-backup/apps/latest-actual-budget.json NOTE=service-readiness-backup-proof
=== HEALTH_FILE_END=/var/lib/homelab-health/actual-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/actual-budget-backup.txt ===
HEALTH_FILE_SHA256=72d1b31e22e22ac91af66e3d8ae46b20b3b9297809ace524eece22031458fb05
STATUS=OK TS=2026-07-09T12:53:43Z TYPE=actual-budget-backup JOB=homelab-pve01-app-actual-budget-20260709T051713Z SOURCE=latest-appbackup SIZE=2011 LOCAL_BACKUP_DELETED=true JSON=/var/lib/homelab-backup/apps/latest-actual-budget.json NOTE=service-readiness-backup-proof
=== HEALTH_FILE_END=/var/lib/homelab-health/actual-budget-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/alertmanager-backup.txt ===
HEALTH_FILE_SHA256=f5a8a0ad29606ebbdcdcb52a997e9ee07ddec9ab7eab6bb0932c3f4e14eba97a
STATUS=OK TS=2026-07-09T07:50:16Z TYPE=alertmanager-backup JOB=homelab-pve01-app-alertmanager-20260709T075016Z SOURCE=alertmanager_config SIZE=1842 SHA256=58fb1b3467a962acff44bf75cb274e3a17c06afdbd3a25314a904f75c8048728 LOCAL_BACKUP_DELETED=true NOTE=service-readiness-backup-proof
=== HEALTH_FILE_END=/var/lib/homelab-health/alertmanager-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/alertmanager-two-cloud-backup.txt ===
HEALTH_FILE_SHA256=d90562fac18f643e765e60e54c673839c4ea57e580896241beb0ecc0ea45dea2
STATUS=OK TS=2026-07-10T18:46:36Z TYPE=alertmanager-two-cloud-backup BAD=0 JOB=homelab-pve01-app-alertmanager-20260710T184605Z ARCHIVE_SIZE_BYTES=1107 LOCAL_STAGING_DELETED=true OFFHOST=OK RESTORE=OK
=== HEALTH_FILE_END=/var/lib/homelab-health/alertmanager-two-cloud-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/appbackupctl-routing.txt ===
HEALTH_FILE_SHA256=d8ddbdb46b42bcefb4f03b50ef4b88bdc5e3cd1cea087dd035fd90fd78e1a252
STATUS=OK TS=2026-07-13T00:29:36Z TYPE=appbackupctl-routing BAD=0 RESULT=APPLIED PRODUCTION_CHANGED=BACKUP_CLI_ROUTING_AND_DESIRED_STATE_ONLY PRODUCTION_DATABASE_CHANGED=NO PRODUCTION_SCHEMA_CHANGED=NO SERVICE_RESTARTED=NO CLOUD_WRITE_RUN=NO DEFAULT_ROUTE=dockge-stacks CLUSTER_ADMIN_ROUTE=homelab-cluster-admin-incident-engine-backup.service UNSUPPORTED_TARGET_POLICY=REFUSE_RC_2 ROUTE_TEST_DOCKGE=OK ROUTE_TEST_CLUSTER_ADMIN=OK ROUTE_TEST_DEFAULT=OK ROUTE_TEST_UNSUPPORTED=OK FRAMEWORK_CHECK=OK UNSUPPORTED_ROUTE_BACKUP_CREATED=NO LIVE_MATCH_DESIRED_STATE=YES PVE01_FAILED_UNITS=0 OVERALL=OK DUTY_ADMIN=OK STAGE1_CLOSED=YES STAGE2_READY=YES OLD_HEAD=bd5eb856a8d61a5fb83c2bcaf74cb8ac98f075c5 NEW_HEAD=4d0d03395d2baf4024ad7c9d5870f21bdaee9f99 CHANGE_SET=/var/lib/homelab-change-sets/appbackupctl-routing/20260713T002936Z
=== HEALTH_FILE_END=/var/lib/homelab-health/appbackupctl-routing.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/app-cloud-quorum-cutover.json ===
HEALTH_FILE_SHA256=e3a13d5865a12e757e07441db761bd70bd8732a4ebc8c7baa6b5ee3f194747a2
=== HEALTH_FILE_END=/var/lib/homelab-health/app-cloud-quorum-cutover.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/app-cloud-quorum-freshness.json ===
HEALTH_FILE_SHA256=9edfa77eba5184eb88c5374dc4f662e9d730d2bfbc0b8197b7eb377064f50c2e
=== HEALTH_FILE_END=/var/lib/homelab-health/app-cloud-quorum-freshness.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/app-stacks-batch-backup.txt ===
HEALTH_FILE_SHA256=9218b8b34426e4ce79310c8713e165e9e1ebee79f426f29eb2efe155076b3c36
STATUS=OK TS=2026-07-09T07:19:28Z TYPE=app-stacks-batch-backup SOURCE=backup-sla STATUS_SOURCE=OK NOTE=legacy-health-refresh-for-prometheus-readiness
=== HEALTH_FILE_END=/var/lib/homelab-health/app-stacks-batch-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/audiobookshelf-backup.txt ===
HEALTH_FILE_SHA256=fb81212dd08251ede49f921b0fb61b86a8f4446af80bdd42172acbbaf60b8e32
STATUS=OK TS=2026-07-09T18:22:24Z TYPE=audiobookshelf-backup BAD=0 APP=audiobookshelf JOB=homelab-pve01-app-audiobookshelf-20260709T051713Z SIZE=23094 LOCAL_BACKUP_DELETED=true JSON=/var/lib/homelab-backup/apps/latest-audiobookshelf.json
=== HEALTH_FILE_END=/var/lib/homelab-health/audiobookshelf-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/authentik-backup.txt ===
HEALTH_FILE_SHA256=8888712fdc8c5fd18ef0b691eb5d379fbd71af8f5dbda4e917b5a1493d12c046
STATUS=FAIL
SERVICE=homelab-appbackup-postgres-batch.service
=== HEALTH_FILE_END=/var/lib/homelab-health/authentik-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-audit.json ===
HEALTH_FILE_SHA256=166a7a7128bfafdfc61fb07b6a2ed5b4e5b530dd122d767e1a87d743b8d8bf47
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-audit.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-audit-v2.json ===
HEALTH_FILE_SHA256=166a7a7128bfafdfc61fb07b6a2ed5b4e5b530dd122d767e1a87d743b8d8bf47
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-audit-v2.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-boot-drill.json ===
HEALTH_FILE_SHA256=0f14d45a32a4d83bc1d80c212e9ba1f6e5dfe8913572e98366951dae7602fe32
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-boot-drill.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-coverage-matrix.txt ===
HEALTH_FILE_SHA256=48b3b20a0dc225b93e0f7b8b1c2746649eb6f965d12f996030cc8ec8791604ff
STATUS=FAIL
SERVICE=homelab-backup-coverage-matrix.service
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-coverage-matrix.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-framework.txt ===
HEALTH_FILE_SHA256=192caeb6ecfd0d386aa32fcf838229854ea73f3abb7d46343cd8f1b4acf7b2ab
STATUS=FAIL
SERVICE=homelab-verified-backup-health.service
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-framework.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup.json ===
HEALTH_FILE_SHA256=550e7a326c46e3e765a6db01da2ddcaddd83808adfa638d980685286bebb45cb
=== HEALTH_FILE_END=/var/lib/homelab-health/backup.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-last-run.log ===
HEALTH_FILE_SHA256=8618b97d2ffa65b7cc2218710c2add4283285038eaca633a7bffbda898d1e5c7
STATUS=OK
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-last-run.log ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-lock-fd-hardening.json ===
HEALTH_FILE_SHA256=d64d18259e58525a9549f6d2b40b331ea6cc7b7057fd17050aebc585d73731a5
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-lock-fd-hardening.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-matrix-cluster-desired-state-sync.txt ===
HEALTH_FILE_SHA256=c2530de4aaee5f4c2746d4e97b7e6d9ab70c3f4059afc9bacc75fd5e1980d659
STATUS=OK TS=2026-07-13T17:51:31Z TYPE=backup-matrix-cluster-desired-state-sync BAD=0 PRE_SYNC_HEAD=af26ec3c4829b1330d49656205ac580ce1706263 GENERATED_SYNC_HEAD=597119391e7b265b85fd9a76644e4e33af47e469 GENERATED_SYNC_MODE=NEW_GENERATED_COMMIT GENERATED_SYNC_COMMIT_DELTA=1 MATRIX_STATUS=OK JOBS_TOTAL=35 JOBS_OK=31 JOBS_BAD=0 JOBS_UNMAPPED=0 JOBS_DISABLED=4 CLUSTER_PASSPORT=OK FINAL_READINESS=OK OVERALL=OK CLUSTER_ADMIN=OK PROBE_OK=4 PROBE_BAD=0 FAILED_UNITS=0 DESIRED_STATE_DIRTY=0 MATRIX_SHA256=7613bcb25d32e61fac114da13af81e38354ec22a012a6deeaa168ee4cc454f87 MATRIX_STATE_SHA256=14a31112aac5d577ae01df567921b093b2fedcf7189c4cc8f009216ee0749380 PRESEAL_SHA256=7ea1f710cd311bd51dba05a313b4c540f57d97407f008881e502fc213b4b3c99 BACKUP_RUN=NO RESTORE_RUN=NO CLOUD_WRITE_RUN=NO RETENTION_RUN=NO EVIDENCE_ROOT=/var/lib/homelab-change-sets/backup-matrix-cluster-final-seal/20260713T175131Z
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-matrix-cluster-desired-state-sync.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-matrix-cluster-final-seal.txt ===
HEALTH_FILE_SHA256=dcd06c2ff207c2922fc68d4df4b42ffa4b6680785e532783772e764feb828aa1
STATUS=OK TS=2026-07-13T17:51:31Z TYPE=backup-matrix-cluster-final-seal BAD=0 CURRENT_STAGE_COMPLETE=YES MATRIX_STATUS=OK JOBS_TOTAL=35 JOBS_OK=31 JOBS_BAD=0 JOBS_UNMAPPED=0 JOBS_DISABLED=4 READ_WRITE_OVERLAP=0 VM_BACKUP_HEALTH=OK VM_FULL_BACKUP=OK EDGE_VM_CANONICAL_BACKUP=homelab-edge-vm-offhost-freshness.timer OLD_EDGE_TIMER_REENABLED=NO CLUSTER_PASSPORT=OK FINAL_READINESS=OK FINAL_READINESS_PASS=53 FINAL_READINESS_FAIL=0 OVERALL=OK CLUSTER_ADMIN=OK PROBE_OK=4 PROBE_BAD=0 WEBPANEL=OK FAILED_UNITS=0 CLUSTER_NODES=3 QUORATE=YES GENERATED_SYNC_HEAD=597119391e7b265b85fd9a76644e4e33af47e469 DESIRED_STATE_DIRTY=0 MATRIX_SHA256=7613bcb25d32e61fac114da13af81e38354ec22a012a6deeaa168ee4cc454f87 MATRIX_STATE_SHA256=14a31112aac5d577ae01df567921b093b2fedcf7189c4cc8f009216ee0749380 CLUSTER_PASSPORT_SHA256=1b8b924ae0e5ce6872fe5671318094ce494806c2db7efe28299b5ff49adc0d0d FINAL_READINESS_SHA256=ac5159fa8c497afe021b5cb232f08cfec0e1a4d516d8aae966ba03f7034f1412 OVERALL_SHA256=6ae529bfdf5811f686d3b53978f453ce4f8757c74fc1be105de219b13a61ba46 PRESEAL_SHA256=7ea1f710cd311bd51dba05a313b4c540f57d97407f008881e502fc213b4b3c99 EVIDENCE_MANIFEST_SHA256=b4c68312026e1328b208a74090891f4809ab31ec69069e94a3d6902429bf3566 BACKUP_RUN=NO RESTORE_RUN=NO CLOUD_WRITE_RUN=NO RETENTION_RUN=NO NEXT_ACTION=AUDIT_AND_MIGRATE_SPECIAL_VM_EMERGENCY_AND_NON_APP_BACKUP_FAMILIES EVIDENCE_ROOT=/var/lib/homelab-change-sets/backup-matrix-cluster-final-seal/20260713T175131Z
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-matrix-cluster-final-seal.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-matrix-cluster-preseal-convergence.txt ===
HEALTH_FILE_SHA256=7ea1f710cd311bd51dba05a313b4c540f57d97407f008881e502fc213b4b3c99
STATUS=OK TS=2026-07-13T17:48:14Z TYPE=backup-matrix-cluster-preseal-convergence BAD=0 MATRIX_STATUS=OK JOBS_TOTAL=35 JOBS_BAD=0 JOBS_UNMAPPED=0 JOBS_DISABLED=4 CLUSTER_PASSPORT=OK FINAL_READINESS=OK OVERALL=OK CLUSTER_ADMIN=OK PROBE_OK=4 PROBE_BAD=0 WEBPANEL=OK FAILED_UNITS=0 DESIRED_STATE_HEAD=af26ec3c4829b1330d49656205ac580ce1706263 DESIRED_STATE_DIRTY=0 MATRIX_SHA256=7613bcb25d32e61fac114da13af81e38354ec22a012a6deeaa168ee4cc454f87 MATRIX_STATE_SHA256=3791fa78cdfb56cd7027f89350dff245abcffc4f935adfc336ceeea00854ac89 CLUSTER_PASSPORT_SHA256=1b8b924ae0e5ce6872fe5671318094ce494806c2db7efe28299b5ff49adc0d0d FINAL_READINESS_SHA256=ac5159fa8c497afe021b5cb232f08cfec0e1a4d516d8aae966ba03f7034f1412 OVERALL_SHA256=6ae529bfdf5811f686d3b53978f453ce4f8757c74fc1be105de219b13a61ba46 BACKUP_RUN=NO RESTORE_RUN=NO CLOUD_WRITE_RUN=NO RETENTION_RUN=NO EVIDENCE_ROOT=/var/lib/homelab-change-sets/backup-matrix-cluster-preseal-resume/20260713T174748Z
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-matrix-cluster-preseal-convergence.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-matrix-desired-state-persistence.txt ===
HEALTH_FILE_SHA256=3d5bdf5d8ec15131c0d801287f324cbe0b6099e1fd079776ce0e3df8a5fa6144
STATUS=OK TS=2026-07-13T17:40:37Z TYPE=backup-matrix-desired-state-persistence BAD=0 GENERATED_HEAD=af26ec3c4829b1330d49656205ac580ce1706263 GENERATED_PARENT=25568fab24c0594418b3676dc511c8234b4e1ae5 GENERATOR_SHA256=19da7f049b4f7f7286faf292c5419c37cc1e1768c2d8fe36b257ab0cf9c18874 MATRIX_SHA256=7613bcb25d32e61fac114da13af81e38354ec22a012a6deeaa168ee4cc454f87 DESIRED_MATRIX_SHA256=7613bcb25d32e61fac114da13af81e38354ec22a012a6deeaa168ee4cc454f87 MATRIX_STATUS=OK JOBS_BAD=0 FAILED_UNITS=0 BACKUP_RUN=NO RESTORE_RUN=NO CLOUD_WRITE_RUN=NO RETENTION_RUN=NO ROLLBACK=/var/lib/homelab-incidents/backup-matrix-desired-state-persistence-20260713T174036Z
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-matrix-desired-state-persistence.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-matrix-vm-health-feedback-fix.txt ===
HEALTH_FILE_SHA256=b359a93e09405221e25670600e4b45503ac30c7a8ada2f4e06f0cd9734a6e803
STATUS=OK TS=2026-07-13T17:29:02Z TYPE=backup-matrix-vm-health-feedback-fix BAD=0 VM_BACKUP_HEALTH_TIMER=homelab-edge-vm-offhost-freshness.timer OLD_TIMER_REENABLED=NO MATRIX_STATUS=OK JOBS_TOTAL=35 JOBS_BAD=0 JOBS_UNMAPPED=0 JOBS_DISABLED=4 READ_WRITE_OVERLAP=0 HEAVY_BACKUP_RUN=NO LIVE_SCRIPT_SHA256=a795ad5cacd48ac72e85c3a7908ad456d1e7c563ef4399e6957725146463faf2 MATRIX_CONFIG_SHA256=7613bcb25d32e61fac114da13af81e38354ec22a012a6deeaa168ee4cc454f87 MATRIX_STATE_SHA256=75f8c749e25df7842ea3be2679119b922c94c2f5ea99700b56c823cfbaedd539 ROLLBACK=/var/lib/homelab-incidents/vm-backup-health-matrix-feedback-fix-20260713T172901Z
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-matrix-vm-health-feedback-fix.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-observability-history.jsonl ===
HEALTH_FILE_SHA256=24fa8197552d64778c83071fb94a64accd398075ce5d1e675dcdf6c97a84c36b
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-observability-history.jsonl ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-restore-dashboard.txt ===
HEALTH_FILE_SHA256=51b95b7465dc040ff080c8a8341b23c9c0fdd90cfe0675ccd3f705b55590d815
STATUS=OK
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-restore-dashboard.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-retention-safe-gc.json ===
HEALTH_FILE_SHA256=429bf10cf8e0315c9e9257288f59297540e3dc4ba2a940a304bf21ba642cdfb2
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-retention-safe-gc.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-scheduler-fairness-granularity.json ===
HEALTH_FILE_SHA256=5ae14f32dd777dbf4c6dee305db5767e69b9d47edac900d014ad243d8b108fbb
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-scheduler-fairness-granularity.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-scheduler-rpo-hardening.json ===
HEALTH_FILE_SHA256=e73927d669e1d066d03cd711449f9533ce018da041a86432c8550624a5a6c55f
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-scheduler-rpo-hardening.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-sla.txt ===
HEALTH_FILE_SHA256=4762bb7cfb98ab1311adbd1e80287f7e18f79983656a888a056ed730ecdf0372
STATUS=FAIL
SERVICE=homelab-backup-sla-health.service
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-sla.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup.txt ===
HEALTH_FILE_SHA256=88d791f9955261ebe5a65303dc418c70dca25ba23c29a92769a6785a9cd9e5bb
STATUS=OK
=== HEALTH_FILE_END=/var/lib/homelab-health/backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/backup-unified-audit.json ===
HEALTH_FILE_SHA256=5da55c119b77511b150a6c2c7380842551293e5d3d12e807ab25291a4d9031b6
=== HEALTH_FILE_END=/var/lib/homelab-health/backup-unified-audit.json ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/beszel-backup.txt ===
HEALTH_FILE_SHA256=951a25a876714a6b36934a96ae7f85bab06b480633c052b0850ba02d5e0e106c
STATUS=OK TS=2026-07-09T08:38:10Z TYPE=beszel-backup JOB=homelab-pve01-app-beszel-20260709T083810Z SOURCE=beszel_stack_data SIZE=20030 SHA256=a3d7069dce01b7e7b336268cfe383dc1b0842a974bd5dc9f455442ed86c912e4 LOCAL_BACKUP_DELETED=true NOTE=service-readiness-backup-proof
=== HEALTH_FILE_END=/var/lib/homelab-health/beszel-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/beszel-two-cloud-backup.txt ===
HEALTH_FILE_SHA256=31278a684937710c66cdabb2c4eff0c0fda078e7fef976ab8f4c49ea5778a5ca
STATUS=OK TS=2026-07-10T19:05:25Z TYPE=beszel-two-cloud-backup BAD=0 JOB=homelab-pve01-app-beszel-20260710T190453Z ARCHIVE_SIZE_BYTES=20068 LOCAL_STAGING_DELETED=true OFFHOST=OK RESTORE=OK
=== HEALTH_FILE_END=/var/lib/homelab-health/beszel-two-cloud-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/blackbox-exporter-backup.txt ===
HEALTH_FILE_SHA256=2c46d63ab44ad8bd8f161a547103d8aef937643044b8b326e2b1ff609e9178d0
STATUS=OK TS=2026-07-09T08:04:14Z TYPE=blackbox-exporter-backup JOB=homelab-pve01-app-blackbox-exporter-20260709T080414Z SOURCE=blackbox_exporter_config SIZE=512 SHA256=31d9f2a61d820629c0e173c0e1a24cd65e24d1ef55ba0670d7fda06225cb8146 LOCAL_BACKUP_DELETED=true NOTE=service-readiness-backup-proof
=== HEALTH_FILE_END=/var/lib/homelab-health/blackbox-exporter-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/blackbox-exporter-two-cloud-backup.txt ===
HEALTH_FILE_SHA256=ab822f689cc4b7c38a0eed3c6a3164993ceb54fa05033250c68d934d3df0f259
STATUS=OK TS=2026-07-10T19:20:26Z TYPE=blackbox-exporter-two-cloud-backup BAD=0 JOB=homelab-pve01-app-blackbox-exporter-20260710T191958Z ARCHIVE_SIZE_BYTES=592 LOCAL_STAGING_DELETED=true OFFHOST=OK RESTORE=OK
=== HEALTH_FILE_END=/var/lib/homelab-health/blackbox-exporter-two-cloud-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/bookstack-backup.txt ===
HEALTH_FILE_SHA256=80a1b54e2027c39a6b2c298e558d1352b976e0cd1795cf8f26ae9249b8c2e1dd
STATUS=OK TS=2026-07-09T17:58:30Z TYPE=bookstack-backup BAD=0 APP=bookstack JOB=homelab-pve01-app-bookstack-20260709T024714Z SIZE=18108 LOCAL_BACKUP_DELETED=true JSON=/var/lib/homelab-backup/apps/latest-bookstack.json
=== HEALTH_FILE_END=/var/lib/homelab-health/bookstack-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/cadvisor-backup.txt ===
HEALTH_FILE_SHA256=cb0bcacf449ab29e8954014fb689d1022527f0b67aae0d4f0c808358cae55e07
STATUS=OK TS=2026-07-09T08:25:56Z TYPE=cadvisor-backup JOB=homelab-pve01-app-cadvisor-20260709T082556Z SOURCE=cadvisor_stack_proxy SIZE=1384 SHA256=33e419912291daab19f8039dfe8971f277be0fe577eb3d0e538263bdf918eac8 LOCAL_BACKUP_DELETED=true NOTE=service-readiness-backup-proof
=== HEALTH_FILE_END=/var/lib/homelab-health/cadvisor-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/calibre-web-backup.txt ===
HEALTH_FILE_SHA256=2e841d7edd46668242924dae527480ead9c298abeb30a4c96734c382b09c90d7
STATUS=OK TS=2026-07-09T18:46:20Z TYPE=calibre-web-backup BAD=0 APP=calibre-web JOB=homelab-pve01-app-calibre-web-20260709T051713Z SIZE=6630 LOCAL_BACKUP_DELETED=true JSON=/var/lib/homelab-backup/apps/latest-calibre-web.json
=== HEALTH_FILE_END=/var/lib/homelab-health/calibre-web-backup.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/cluster-admin-backup-webpanel-final-seal.txt ===
HEALTH_FILE_SHA256=9739e2a0d2bbb859b25255fd7acae984ee05a16fb79cd9e59ff81529c4acf3fd
STATUS=OK TS=2026-07-09T05:24:54Z TYPE=cluster-admin-backup-webpanel-final-seal BAD=0 VMID=180 URL=http://[PRIVATE_IP]:8080/ BACKUP=MAIL_CLOUD_2COPY_VERIFY_OK WEBPANEL=OK WEBPANEL_SYNC=OK OVERALL_HARDGATE=YES FINAL_READINESS_HARDGATE=YES FAILED_UNITS=pve01:0,pve02:0,pve03:0,edge:0 DIRTY_COUNT=0 REPORT=/var/lib/homelab-ideal-cluster/cluster-admin-backup-webpanel-final-seal-latest.md
=== HEALTH_FILE_END=/var/lib/homelab-health/cluster-admin-backup-webpanel-final-seal.txt ===
=== HEALTH_FILE_BEGIN=/var/lib/homelab-health/cluster-admin-incident-engine-backup.txt ===
HEALTH_FILE_SHA256=5f56ac6b48e94a81f7a9ffa073525dc255b1fede76fcc04f7b629e0f51cb98ed
STATUS=OK TS=2026-07-10T23:30:49Z TYPE=cluster-admin-incident-engine-backup BAD=0 JOB=homelab-pve01-app-cluster-admin-incident-engine-20260710T232958Z ARCHIVE_SIZE_BYTES=157380 LOCAL_STAGING_DELETED=true OFFHOST=OK RESTORE=OK POST_FIX_CODE=included
=== HEALTH_FILE_END=/var/lib/homelab-health/cluster-admin-incident-engine-backup.txt ===
=== KNOWN_LOCKS ===
LOCK_PATH=/run/homelab-backup-heavy.lock|EXISTS=true|TYPE=regular empty file|MODE=600|OWNER=root:root|SIZE=0|MTIME=2026-09-27 09:30:02.179976746 +0300
LOCK_PATH=/run/lock/homelab-app-cloud-quorum-queue.lock|EXISTS=true|TYPE=regular empty file|MODE=600|OWNER=root:root|SIZE=0|MTIME=2026-09-27 09:30:02.178976732 +0300
LOCK_PATH=/run/lock/homelab-backup-dispatcher.lock|EXISTS=true|TYPE=regular empty file|MODE=600|OWNER=root:root|SIZE=0|MTIME=2026-09-27 03:27:41.596907725 +0300
LOCK_PATH=/run/lock/homelab-vm-cloud-quorum-queue.lock|EXISTS=true|TYPE=regular empty file|MODE=600|OWNER=root:root|SIZE=0|MTIME=2026-09-27 03:27:41.597907739 +0300
=== LSLOCKS_BACKUP_RELEVANT ===
bash              67693 FLOCK WRITE /var/lib/homelab-chat-run/state/runner.lock
=== PROCESSES_BACKUP_RELEVANT ===
  67693   67651       7 S bash            bash /usr/local/sbin/homelab-chat-run SUPPORT-260927-HOMELAB-BACKUP-V2-CURRENT-FAILURE-RCA-1221R1 read-only homelab-backup-v2-current-failure-rca -- bash /run/workers2-1221-inner.QapARP.sh
=== RECENT_BACKUP_RUNTIME_PATHS ===
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-ALERT-PROBE-RCA-READONLY-1079R1-20260921T092230Z.log|f|600|3374|2026-09-21T12:22:33.9904995860+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-BUSY-RCA-READONLY-1077R1-20260921T090714Z.log|f|600|4675|2026-09-21T12:07:14.9658291400+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CLOSURE-AUDIT-READONLY-1037R1-20260921T025435Z.log|f|600|95758|2026-09-21T05:54:36.9962461680+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CLOSURE-BLOCKERS-PREFLIGHT-READONLY-1042R1-20260921T031257Z.log|f|600|32761|2026-09-21T06:12:59.2845594700+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CLOSURE-READINESS-READONLY-1038R1-20260921T030111Z.log|f|600|16786|2026-09-21T06:01:11.3360807040+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CLOSURE-READINESS-READONLY-1039R1-20260921T030506Z.log|f|600|37051|2026-09-21T06:05:15.6206965100+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CLOUDB-PREFLIGHT-RCA-READONLY-1064R1-20260921T062601Z.log|f|600|17240|2026-09-21T09:26:05.0428301780+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CONSOLIDATED-REMEDIATION-1043R1-20260921T032137Z.log|f|600|881|2026-09-21T06:22:24.4479912050+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-CONSOLIDATED-REMEDIATION-1045R1-20260921T033019Z.log|f|600|4230|2026-09-21T06:34:46.0370354250+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1001R1-20260921T004930Z.log|f|600|288398|2026-09-21T03:49:50.3834510560+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DEEP-AUDIT-READONLY-1002R1-20260921T010029Z.log|f|600|244012|2026-09-21T04:00:33.8430279660+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1106R1-20260921T213144Z.log|f|600|15137|2026-09-22T00:31:44.6634903820+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log|f|600|10695|2026-09-22T01:38:16.6920923780+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-SOURCE-RCA-READONLY-1105R1-20260921T212123Z.log|f|600|57180|2026-09-22T00:21:23.4392786410+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-CLOSURE-1049R1-20260921T040144Z.log|f|600|2279|2026-09-21T07:54:57.2452803520+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-CLOSURE-COMPACT-1057R1-20260921T053355Z.log|f|600|668|2026-09-21T08:34:05.7002079550+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-1063R1-20260921T060402Z.log|f|600|732|2026-09-21T09:04:10.1311851670+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-CORRECTED-1065R1-20260921T063236Z.log|f|600|925|2026-09-21T09:43:29.1943993320+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-FIREWALL-1068R1-20260921T070125Z.log|f|600|993|2026-09-21T10:03:30.0942983230+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-FIREWALL-1068R1-20260921T070538Z.log|f|600|230|2026-09-21T10:05:38.5732110880+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-FIREWALL-1069R1-20260921T070918Z.log|f|600|993|2026-09-21T10:14:08.0477960260+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1072R1-20260921T072901Z.log|f|600|968|2026-09-21T10:29:09.4052028590+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1074R1-20260921T073807Z.log|f|600|39413|2026-09-21T10:38:25.9554804810+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1076R1-20260921T080153Z.log|f|600|854|2026-09-21T12:01:55.5720746100+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1078R1-20260921T091352Z.log|f|600|1055|2026-09-21T12:14:02.3538935720+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1080R1-20260921T093638Z.log|f|600|1112|2026-09-21T14:17:36.3447345310+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1082R1-20260921T120000Z.log|f|600|1220|2026-09-21T15:02:15.5841944040+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-FINAL-SEAL-LOCALMAIL-1085R1-20260921T122608Z.log|f|600|1174|2026-09-21T18:26:24.3474285530+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-CONTROLLED-APPLY-1023R1-20260921T021429Z.log|f|600|1443|2026-09-21T05:14:29.6846711960+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-CONTROLLED-PACKAGE-1018R1-20260921T015820Z.log|f|600|913|2026-09-21T04:58:20.8770096400+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-CONTROLLED-PACKAGE-1020R1-20260921T020630Z.log|f|600|1027|2026-09-21T05:06:31.0423642480+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-DESIGN-CORRECTION-1016R1-20260921T015007Z.log|f|600|2063|2026-09-21T04:50:07.6438460660+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-DIRTY-TASK-RCA-READONLY-1030R1-20260921T023051Z.log|f|600|19645|2026-09-21T05:30:52.1201869690+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-PACKAGE-RCA-READONLY-1019R1-20260921T020155Z.log|f|600|3740|2026-09-21T05:01:55.6265352550+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-PARTIAL-RCA-READONLY-1013R1-20260921T013951Z.log|f|600|15269|2026-09-21T04:39:51.6859874850+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-POLICY-PROVENANCE-READONLY-1014R1-20260921T014306Z.log|f|600|396144|2026-09-21T04:43:08.0868882250+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-PREFLIGHT-RCA-READONLY-1022R1-20260921T021032Z.log|f|600|2293|2026-09-21T05:10:32.6171698800+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-SAFE-CONTROLLED-APPLY-1028R1-20260921T022544Z.log|f|600|1358|2026-09-21T05:25:44.6646428160+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-TASK-STRUCTURE-RCA-READONLY-1029R1-20260921T022826Z.log|f|600|10258|2026-09-21T05:28:26.4520340160+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-TIMER-HOLD-APPLY-1032R1-20260921T023654Z.log|f|600|8979|2026-09-21T05:36:54.6605452330+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GFS-TIMER-HOLD-APPLY-1036R1-20260921T025110Z.log|f|600|5037|2026-09-21T05:51:11.6762279620+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-GIT-PUSH-ROUTE-RCA-READONLY-1024R1-20260921T021742Z.log|f|600|9085|2026-09-21T05:17:45.3875616000+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-MONITORING-ROUTE-RCA-READONLY-1071R1-20260921T072134Z.log|f|600|2993|2026-09-21T10:21:49.6456622840+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-NODEWORKER-CONTRACT-RCA-READONLY-1104R1-20260921T210614Z.log|f|600|110628|2026-09-22T00:06:14.6816791370+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-OWNER-RCA-READONLY-1092R1-20260921T160726Z.log|f|600|2028|2026-09-21T19:07:26.8993332660+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1032-RCA-READONLY-1033R1-20260921T023945Z.log|f|600|2764|2026-09-21T05:39:45.9840773400+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1034-RCA-READONLY-1035R1-20260921T024819Z.log|f|600|4924|2026-09-21T05:48:20.0586751760+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1043-SOURCE-LAYOUT-RCA-READONLY-1044R1-20260921T032455Z.log|f|600|6815|2026-09-21T06:24:55.6232481560+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1045-V2-RCA-READONLY-1046R1-20260921T034639Z.log|f|600|16887|2026-09-21T06:46:41.1596266740+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1049-RCA-READONLY-1051R1-20260921T050519Z.log|f|600|118669|2026-09-21T08:06:12.0382792970+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1053-EXECUTION-RCA-READONLY-1055R1-20260921T052428Z.log|f|600|4053|2026-09-21T08:24:28.9786004860+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1065-SMTP-RCA-READONLY-1067R1-20260921T065500Z.log|f|600|5373|2026-09-21T09:55:01.6407246930+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1074-STATE-ALERT-RCA-READONLY-1075R1-20260921T074658Z.log|f|600|3172|2026-09-21T10:47:07.0072301360+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1082-LOCALMAIL-RCA-READONLY-1083R1-20260921T121759Z.log|f|600|2235|2026-09-21T15:18:00.7292233390+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-POST1098-RPO-RCA-READONLY-1099R1-20260921T195421Z.log|f|600|4349|2026-09-21T22:54:21.6937855720+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-PREAUDIT-RPO-RCA-READONLY-1097R1-20260921T174252Z.log|f|600|3736|2026-09-21T20:42:52.3265938580+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RCA-READONLY-1003R1-20260921T010723Z.log|f|600|89152|2026-09-21T04:07:24.1871533600+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-DESIGN-1007R1-20260921T012505Z.log|f|600|18086|2026-09-21T04:25:05.6488868470+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-DESIGN-CONTINUE-1012R1-20260921T013802Z.log|f|600|20097|2026-09-21T04:38:02.2123706110+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PARTIAL-RCA-READONLY-1008R1-20260921T012751Z.log|f|600|9112|2026-09-21T04:27:51.5203448640+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-REMEDIATION-PREPARE-1005R1-20260921T011815Z.log|f|600|7494|2026-09-21T04:18:16.8548290240+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-RPO-REFRESH-1098R1-20260921T175001Z.log|f|600|14751|2026-09-21T22:50:09.5840153920+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-SCHEDULER-CONTRACT-RCA-READONLY-1103R1-20260921T205811Z.log|f|600|11960|2026-09-21T23:58:11.3474158980+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-SMTP-NETWORK-RCA-READONLY-1070R1-20260921T071806Z.log|f|600|2254|2026-09-21T10:18:16.7324956110+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-SMTP-ROUTE-RCA-READONLY-1062R1-20260921T054523Z.log|f|600|996|2026-09-21T08:45:24.2093284680+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-TARGETED-CONTINUATION-1047R1-20260921T035039Z.log|f|600|1408|2026-09-21T06:50:41.8321908310+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-V2-FAILURE-RCA-READONLY-1004R1-20260921T011146Z.log|f|600|63283|2026-09-21T04:11:47.0510551260+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-V2-WRAPPER-TOPOLOGY-READONLY-1010R1-20260921T013218Z.log|f|600|7990|2026-09-21T04:32:18.9353005800+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-VM9130-RCA-READONLY-1048R1-20260921T035327Z.log|f|600|36784|2026-09-21T06:53:38.2198028290+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-VM-RPO-REFRESH-1101R1-20260921T201110Z.log|f|600|11176|2026-09-21T23:31:24.5782119800+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-VM-SCHEDULER-RCA-READONLY-1102R1-20260921T205357Z.log|f|600|10872|2026-09-21T23:53:57.9095974080+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-WAIT-AND-FINAL-SEAL-1096R1-20260921T173141Z.log|f|600|996|2026-09-21T20:31:43.7200714460+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260921-HOMELAB-BACKUP-WAIT-OWNER-THEN-RPO-READONLY-1100R1-20260921T200314Z.log|f|600|3196|2026-09-21T23:03:14.5757560650+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1111R2-METADATA-RCA-1112R1-20260922T052641Z.log|f|600|4494|2026-09-22T08:26:42.0084481470+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1112-AMBIGUITY-RCA-1113R1-20260922T053223Z.log|f|600|14459|2026-09-22T08:32:23.1666695920+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1113-FINAL-RCA-1114R1-20260922T054044Z.log|f|600|6465|2026-09-22T08:40:44.5440702080+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1114-DUE-RESTORE-RCA-1115R1-20260922T054758Z.log|f|600|23751|2026-09-22T08:47:58.4367505750+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1115-ROOT-RCA-1116R1-20260922T055735Z.log|f|600|37866|2026-09-22T08:57:35.3494344140+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1116-CONTRACT-PIPE-RCA-1117R1-20260922T060529Z.log|f|600|27868|2026-09-22T09:05:29.5424839130+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1118R2-SSH-TARGET-RCA-1119R1-20260922T081851Z.log|f|600|3631|2026-09-22T11:18:51.5379257340+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1119-SSH-NET-RCA-1120R3-20260922T083745Z.log|f|600|5069|2026-09-22T11:37:45.0835015480+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-1120R3-PROBE-RCA-1121R1-20260922T084512Z.log|f|600|5874|2026-09-22T11:45:12.0350626550+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-AUDIT-VMQUEUE-RCA-1110R1-20260922T044454Z.log|f|600|24315|2026-09-22T07:44:54.7780943710+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-CLASSIFIED-BLOCKER-REPAIR-1111R2-20260922T052100Z.log|f|600|1737|2026-09-22T08:21:00.6330178780+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-COMBINED-REPAIR-1118R2-20260922T063815Z.log|f|600|3290|2026-09-22T09:38:15.0766805420+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-FINAL-CLOSURE-1125R1-20260922T092527Z.log|f|600|4532|2026-09-22T12:25:27.3385976020+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-LIVE-PRECLOSURE-RCA-1109R1-20260922T043717Z.log|f|600|7392|2026-09-22T07:37:17.3673709690+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-MOLDOVA-CONTROL-RCA-1123R1-20260922T090502Z.log|f|600|94509|2026-09-22T12:05:02.8275671640+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-NETBIRD-LIFECYCLE-RCA-1122R1-20260922T085837Z.log|f|600|46497|2026-09-22T11:58:37.7049034170+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-QUIESCENT-FINAL-CLOSURE-1126R1-20260922T114011Z.log|f|600|2678|2026-09-22T14:40:11.5757166040+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260922-HOMELAB-BACKUP-RETIRE-USNETBIRD-COMBINED-1124R2-20260922T091925Z.log|f|600|4396|2026-09-22T12:19:25.4742680920+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260923-HOMELAB-MOLDOVA-DETACH-BACKUPV2-1134R1-20260923T211657Z.log|f|600|1800|2026-09-24T00:16:57.0715810860+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260924-HOMELAB-MOLDOVA-BACKUP-SSH-EXECUTOR-RCA-1145R1-20260923T221036Z.log|f|600|6575|2026-09-24T01:10:37.0398137110+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260924-HOMELAB-MOLDOVA-DETACH-BACKUPV2-1136R1-20260923T212505Z.log|f|600|3487|2026-09-24T00:25:05.2038922470+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-ALERT-DEBOUNCE-1220R1-20260925T085340Z.log|f|600|1928|2026-09-25T11:53:41.6547670350+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-ALERT-NOISE-RCA-1219R1-20260925T084334Z.log|f|600|15692|2026-09-25T11:43:34.8969414320+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-CARRIER-DIRECT-1215R1-20260925T031244Z.log|f|600|255|2026-09-25T06:12:44.9474130820+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-CARRIER-PROOF-1204R1-20260925T014746Z.log|f|600|630|2026-09-25T04:47:46.8031698750+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-CONTROL-CHANGE-1207R1-20260925T015838Z.log|f|600|1395|2026-09-25T04:58:43.6927759370+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-FINAL-VERIFY-1208R1-20260925T020244Z.log|f|600|1212|2026-09-25T05:02:44.7423025140+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-FINAL-VERIFY-FIX-1209R1-20260925T020527Z.log|f|600|2037|2026-09-25T05:06:52.1009276460+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-LOCKS-SOURCE-RCA-1218R1-20260925T045801Z.log|f|600|5297|2026-09-25T07:58:06.4664540580+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-RPO-ADAPTIVE-CLOSE-1211R1-20260925T021609Z.log|f|600|2708|2026-09-25T05:33:58.8968024960+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-RPO-FINAL-CLOSE-1210R1-20260925T021236Z.log|f|600|1881|2026-09-25T05:12:40.6850362770+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-SOURCE-OFFHOST-RCA-1217R1-20260925T031608Z.log|f|600|5683|2026-09-25T06:16:09.4934364280+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-V2-LEGACY-MAIL-AUDIT-1201R1-20260925T013531Z.log|f|600|159674|2026-09-25T04:35:33.4304429130+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260925-HOMELAB-BACKUP-V2-SPB-MAIL-RCA-1206R1-20260925T015118Z.log|f|600|38217|2026-09-25T04:51:19.9202864040+0300
/var/lib/homelab-chat-run/raw/SUPPORT-260927-HOMELAB-BACKUP-V2-CURRENT-FAILURE-RCA-1221R1-20260927T182259Z.log|f|600|160447|2026-09-27T21:23:07.7235472910+0300
/var/lib/homelab-cluster-admin-vm-mail-cloud-backup|d|755|4096|2026-07-09T08:01:05.4023758660+0300
/var/lib/homelab-extended-appbackup|d|755|4096|2026-07-07T04:24:04.9453535490+0300
/var/lib/homelab-health/app-cloud-quorum-cutover.json|f|644|642|2026-08-09T03:52:48.2998893820+0300
/var/lib/homelab-health/app-cloud-quorum-freshness.json|f|644|645|2026-08-09T05:01:58.0175936120+0300
/var/lib/homelab-health/backup-audit-v2.json|f|644|4767|2026-09-27T21:19:36.3324532240+0300
/var/lib/homelab-health/control-bootstrap-cloud-quorum.json|f|600|762|2026-08-11T00:11:00.7261255060+0300
/var/lib/homelab-health/control-bootstrap-v2-cloud-quorum.json|f|600|774|2026-08-11T02:50:11.0810440440+0300
/var/lib/homelab-health/hbarhub-cloud-quorum.json|f|644|1086|2026-08-09T06:55:29.6374215870+0300
/var/lib/homelab-health/homelab-backup-baseline.txt|f|644|2679|2026-06-17T23:02:13.9525590360+0300
/var/lib/homelab-health/scrutiny-cloud-quorum.json|f|644|1114|2026-08-09T20:44:13.9730975280+0300
/var/lib/homelab-health/vm-cloud-quorum-cutover.json|f|644|519|2026-08-08T17:32:43.9422671550+0300
/var/lib/homelab-health/vm-cloud-quorum-freshness.json|f|644|602|2026-08-09T04:36:44.0769273960+0300
/var/lib/homelab-incidents/hapusya-backup-map-prechange-20260713T121043Z/homelab-backup-paths.map.before|f|640|1214|2026-07-11T08:10:58.0016867890+0300
/var/lib/homelab-incidents/vm-backup-health-matrix-feedback-fix-20260713T172901Z/homelab-backup-matrix|d|750|4096|2026-07-13T20:26:37.1793090260+0300
/var/lib/homelab-moldova-retire/SUPPORT-260924-HOMELAB-MOLDOVA-DETACH-BACKUPV2-1136R1|d|700|4096|2026-09-24T00:25:05.1356358240+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-AUTOHEAL-NEUTRALIZE-461-b61faeb9c96bedd2ba0652d4b07c6a1e3e610ed9db98be1bf795e7e2bb6580bf.txt|f|644|3374|2026-07-24T18:26:57.4061166400+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-BAD-JOBS-ROOTCAUSE-431-5d06fe790e0ef488be403d4fcd6f009d200d0525060b55c376d920e6d812d039.txt|f|644|60237|2026-07-24T12:55:31.9939624710+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-COVERAGE-EVIDENCE-453-ff9b7ddc7c079824c7cda1c7bbce1b9d736cdff30f8b1ff97e8c4e1b7b964ab3.txt|f|644|57908|2026-07-24T14:47:59.6657000530+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-COVERAGE-INVENTORY-452-50c82bf82d7a843ebc39b3d67d3364b4aa71cadfa460b5f9733e37cd887bd431.txt|f|644|57307|2026-07-24T14:36:08.3324758630+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-CURRENT-STATE-SEAL-459-3066e9e9a27e8675ce91eff6b56e87435bb26496b4f4daf4700a3ffed88b1f56.txt|f|644|16447|2026-07-24T18:03:39.1347995510+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-GUEST-WRITERS-AUDIT-457-eb436b355342e5971deb8d67cc183df3c61b77e044b5e317e7466c9e2b8f50b0.txt|f|644|1036|2026-07-24T17:13:23.7907478370+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-HOST-WRITERS-FREEZE-456-e5422ea2022beaeebef92b9d52fe2769e7de6df103a8b7e9db4d9613e8cf2943.txt|f|644|18461|2026-07-24T17:00:34.9861683220+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-MATRIX-BAD-JOBS-DISCOVERY-430-f666db7189a763f1d31e5eed855669d83a09931ab7f8faf935607b7ae1fa104d.txt|f|644|5176|2026-07-24T12:53:01.6989905840+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-MATRIX-FAILURE-AUDIT-429-f2ff11cc569aa73a09e504b8313c5aed036f5066c6b40de24b2b6b02d1a9af00.txt|f|644|23066|2026-07-24T12:47:51.7444328570+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-NO-LOCAL-INVARIANT-AUDIT-432-cbd4fb8cf7f2f0acfdc1289bd782fa2d9800c0552e7acfc0c0746a902999c804.txt|f|644|28688|2026-07-24T13:02:46.4883199870+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-PLAN-GITEA-PUBLISH-464-653469c773a4be5ede1ede4da0915f06d8e6743096dd121abe09bc3b8de93405.txt|f|644|981|2026-07-24T20:28:18.0610295360+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-PLAN-GITEA-PUBLISH-465-36c8524b264ed22b9142c7a1ff1e33e088eeb99ab5955e5fc7b702fd63a48010.txt|f|644|940|2026-07-24T20:36:38.1150344670+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-PURGE-PREFLIGHT-454-e6ad11c4cb644d006a013488fa485dc543011e998247e493e85bd84350399899.txt|f|644|42132|2026-07-24T16:23:10.3631942910+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-PVE02-FREEZE-CORRECTION-458-7ecd8ca38ca4ebed0263fdc3d065aae4b59c208341049f487b8687b9c97d8b2f.txt|f|644|1548|2026-07-24T17:17:53.5832498170+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-REENABLE-CLOUD-ROOTCAUSE-460-9eb071ed4f5abb6fa9c4c3c6747b3ec9c16b75b11ad97ac870657f88cb3acc8f.txt|f|644|58860|2026-07-24T18:15:10.8527085600+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-STEP0-CORRECTED-SEAL-463-74eeb151df3a434d9b7c03ad7a22afa43ca3ffd2d30f9e84ecc6ce150d5f7674.txt|f|644|9570|2026-07-24T20:20:15.3195447930+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-STEP0-FINAL-SEAL-462-7c5ee74b24666f59a8e2c583e4b72ecdbe4c06bb6540b6bab44f1f1d9f925c79.txt|f|644|9467|2026-07-24T20:14:33.9380757500+0300
/var/lib/homelab-reader-v3/results/HOMELAB-BACKUP-WRITERS-FREEZE-455-ea8cd1b8922533ab1927c064860a5447361c78964f4488aa57d2556b00465c66.txt|f|644|794|2026-07-24T16:51:06.1297029910+0300
/var/lib/homelab-stage3-preapply-appbackup|d|755|4096|2026-07-13T06:11:16.7663552980+0300
/var/lib/homelab-vm-backup|d|755|4096|2026-07-24T14:08:28.0223128820+0300
/var/lib/homelab-vm-full-backup|d|700|4096|2026-07-24T03:10:18.4226228910+0300
/var/lib/node_exporter/textfile_collector/homelab-backup-coverage.prom|f|644|1303|2026-06-26T21:20:04.9819513330+0300
/var/lib/node_exporter/textfile_collector/homelab_backup_freshness.prom|f|644|666|2026-07-24T00:05:04.2520756770+0300
/var/lib/systemd/timers/stamp-homelab-alertmanager-backup-health.timer|f|644|0|2026-09-27T21:19:32.2155220000+0300
/var/lib/systemd/timers/stamp-homelab-alertmanager-backup.timer|f|644|0|2026-07-24T06:39:49.6894500000+0300
/var/lib/systemd/timers/stamp-homelab-appbackup-dockge-stacks.timer|f|644|0|2026-07-24T03:48:15.4042490000+0300
/var/lib/systemd/timers/stamp-homelab-appbackup-mariadb-batch.timer|f|644|0|2026-07-24T05:54:15.4048540000+0300
/var/lib/systemd/timers/stamp-homelab-appbackup-npmplus-edge.timer|f|644|0|2026-07-24T04:17:28.1887750000+0300
/var/lib/systemd/timers/stamp-homelab-appbackup-postgres-batch.timer|f|644|0|2026-07-24T05:18:04.2054590000+0300
/var/lib/systemd/timers/stamp-homelab-appbackup-sqlite-batch.timer|f|644|0|2026-07-24T04:46:28.3994650000+0300
/var/lib/systemd/timers/stamp-homelab-app-cloud-quorum-queue.timer|f|644|0|2026-09-27T19:30:01.1853280000+0300
/var/lib/systemd/timers/stamp-homelab-authentik-backup.timer|f|644|0|2026-07-03T04:51:39.4014610000+0300
/var/lib/systemd/timers/stamp-homelab-auto-backup.timer|f|644|0|2026-07-19T03:45:37.4503520000+0300
/var/lib/systemd/timers/stamp-homelab-backup-audit.timer|f|644|0|2026-09-27T21:05:58.2257570000+0300
/var/lib/systemd/timers/stamp-homelab-backup-coverage-matrix.timer|f|644|0|2026-07-24T08:37:50.1995050000+0300
/var/lib/systemd/timers/stamp-homelab-backup-freshness.timer|f|644|0|2026-07-24T00:05:04.2054020000+0300
/var/lib/systemd/timers/stamp-homelab-backup-healthcheck.timer|f|644|0|2026-07-24T07:04:28.4531710000+0300
/var/lib/systemd/timers/stamp-homelab-backup-matrix-refresh.timer|f|644|0|2026-07-21T02:10:30.1908510000+0300
/var/lib/systemd/timers/stamp-homelab-backup-sla-health.timer|f|644|0|2026-07-24T08:20:04.2052010000+0300
/var/lib/systemd/timers/stamp-homelab-beszel-backup.timer|f|644|0|2026-07-24T06:50:28.1887810000+0300
/var/lib/systemd/timers/stamp-homelab-blackbox-exporter-backup.timer|f|644|0|2026-07-24T07:04:58.1885410000+0300
/var/lib/systemd/timers/stamp-homelab-cluster-admin-incident-engine-backup.timer|f|644|0|2026-07-24T07:28:04.2052360000+0300
/var/lib/systemd/timers/stamp-homelab-control-backup.timer|f|644|0|2026-09-16T22:09:16.3210180000+0300
/var/lib/systemd/timers/stamp-homelab-crypto-portfolio-backup.timer|f|644|0|2026-07-24T06:35:48.1886410000+0300
/var/lib/systemd/timers/stamp-homelab-edge-vm-vzdump-backup.timer|f|644|0|2026-07-12T06:32:35.7440010000+0300
/var/lib/systemd/timers/stamp-homelab-emergency-backup.timer|f|644|0|2026-07-24T03:13:28.3788040000+0300
/var/lib/systemd/timers/stamp-homelab-extended-appbackup.timer|f|644|0|2026-07-24T05:58:49.6387590000+0300
/var/lib/systemd/timers/stamp-homelab-gitea-backup.timer|f|644|0|2026-07-03T05:15:39.4018060000+0300
/var/lib/systemd/timers/stamp-homelab-gitea-secondary-backup.timer|f|644|0|2026-07-24T04:27:33.5353450000+0300
/var/lib/systemd/timers/stamp-homelab-legacy-monitoring-backups.timer|f|644|0|2026-07-24T07:15:31.2105280000+0300
/var/lib/systemd/timers/stamp-homelab-npmplus-kuma-config-backup.timer|f|644|0|2026-07-03T04:26:00.4220920000+0300
/var/lib/systemd/timers/stamp-homelab-vaultwarden-backup.timer|f|644|0|2026-07-03T05:32:00.4219990000+0300
/var/lib/systemd/timers/stamp-homelab-verified-backup-health.timer|f|644|0|2026-07-24T06:45:28.4347180000+0300
/var/lib/systemd/timers/stamp-homelab-vm-backup-health.timer|f|644|0|2026-07-24T07:43:04.2054760000+0300
/var/lib/systemd/timers/stamp-homelab-vm-backup-policy.timer|f|644|0|2026-07-24T08:26:18.1885340000+0300
/var/lib/systemd/timers/stamp-homelab-vm-cloud-quorum-queue.timer|f|644|0|2026-09-16T20:32:57.2920650000+0300
/var/lib/systemd/timers/stamp-homelab-vm-full-backup.timer|f|644|0|2026-07-24T02:15:04.2060750000+0300
=== CURRENT_SUMMARY ===
CURRENT_BACKUP_V2_RESULT=exit-code
CURRENT_BACKUP_V2_EXEC_STATUS=1
CURRENT_BACKUP_V2_ACTIVE=failed
CURRENT_BACKUP_AUDIT_RESULT=exit-code
CURRENT_BACKUP_AUDIT_EXEC_STATUS=1
CURRENT_BACKUP_AUDIT_ACTIVE=failed
CURRENT_FAILED_STATE_PRESENT=true
TASK_RESULT=PASS_HOMELAB_BACKUP_V2_CURRENT_FAILURE_RCA_COLLECTED
DECISION=PASS_BACKUP_V2_CURRENT_FAILURE_RCA_COLLECTED
NEXT_GATE=READ_EXACT_1221_AND_FIX_ONLY_PROVEN_BACKUP_CAUSE
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260927-HOMELAB-BACKUP-V2-CURRENT-FAILURE-RCA-1221R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}

OUTPUT_END
CHAT_OUTPUT_END
