{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "SUPPORT-261006-PVE01-EFFECTIVE-POLICY-DNS-RECONCILE-99667R1", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", "component": "pve01-effective-policy-dns-reconcile", "started_at_utc": "2026-10-06T04:25:28Z", "finished_at_utc": "2026-10-06T04:25:32Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "0e4b8beb77dda3ee2623286db36545e7455544623c3b0157f2b6539d99028c71", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "change_declared": false, "result_contract_valid": true, "result_contract_status": null, "result_contract_error": null, "command_rc": 0, "changes_made": false, "rollback_started": false, "rollback_restored": null, "mutation_outcome": "NO_MUTATION", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, "raw_evidence_sha256": "0bc72556d59d2e4e81792a650417377c9b3a8e97ebb782c8395359fe0ae55687", "sanitized_output_sha256": "0bc72556d59d2e4e81792a650417377c9b3a8e97ebb782c8395359fe0ae55687", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "PVE01_EFFECTIVE_POLICY_DNS_RECONCILE=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNETWORK_PROBES_ONLY=true\nNODE_HOSTNAME=pve01\nNODE_KERNEL=7.0.12-1-pve\nFAILED_UNIT_COUNT=3\nBACKUP_ENGINE_FOUND=true\nBACKUP_ENGINE_BASENAME=legacy_engine.py\nBACKUP_ENGINE_SHA=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7\nBACKUP_ENGINE_PATH_SHA=fa7629bf6b6d134d2701c19ee57801aca5eab13a8ed300e40fd6f4971c079350\nBACKUP_ENGINE_DIR_BASENAME=backup-v2-accepted-486r1\nBACKUP_ENGINE_DIR_SHA=cd28576c43a35b6049ce1cee5ae2d1e329b5a1a70e35760d473ca90733f982f4\nLOAD_TARGETS_FUNC_FOUND=true\nLOAD_TARGETS_FUNC_LINE_COUNT=6\nREC|LOAD_TARGETS_SOURCE|1|def load_targets():\nREC|LOAD_TARGETS_SOURCE|2|j=json.loads(TARGETS_PATH.read_text())\nREC|LOAD_TARGETS_SOURCE|3|if j.get('STR_SHA_df0ad6e43880')!=1 or not isinstance(j.get('STR_SHA_26cafb94003a'),list): raise BackupError('STR_SHA_bdd028399360')\nREC|LOAD_TARGETS_SOURCE|4|ids=[x.get('STR_SHA_6d21042eb1a3') for x in j['STR_SHA_26cafb94003a']]\nREC|LOAD_TARGETS_SOURCE|6|return j['STR_SHA_26cafb94003a']\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=STATE_ROOT|SRC=STATE_ROOT=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=CONFIG_ROOT|SRC=CONFIG_ROOT=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=TARGETS_PATH|SRC=TARGETS_PATH=CONFIG_ROOT/'targets.json'\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=WORK_ROOT|SRC=WORK_ROOT=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=ENGINE_PATH|SRC=ENGINE_PATH=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=OPERATOR_KEY|SRC=OPERATOR_KEY=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=ROUTER_LEGACY_SCRIPT|SRC=ROUTER_LEGACY_SCRIPT=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=GUEST266|SRC=GUEST266=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=P270|SRC=P270=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=P282|SRC=P282=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=P265|SRC=P265=pathlib.Path('PATH_REDACTED\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=HISTORICAL_RELEASE_GRAPH|SRC=HISTORICAL_RELEASE_GRAPH=[\n (pathlib.Path('PATH_REDACTED,'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),\n (pathlib.Path('PATH_REDACTED,'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),\n (pathlib.Path('PATH_REDACTED,'a83d03a86b93a855716658652dd073fcb281cd387fc6\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=HISTORICAL_PYTHONPATH|SRC=HISTORICAL_PYTHONPATH=[\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathlib.Path('PATH_REDACTED,\n pathl\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=_HISTORICAL_HELPER|SRC=_HISTORICAL_HELPER = r'''import importlib,importlib.util,json,pathlib,sys\nmode=sys.argv[1]\nif mode=='import_all':\n out={}\n for name in ('guest266','pve265','pve270','pve282'):\n m=importlib.import_module(name);out[name]=str(pathlib.Path(m.__file__).resolve())\n print(json.dumps(out,sort_keys=True,sep\nREC|ENGINE_GLOBAL_ASSIGN|NAMES=US_REMOTE_SCRIPT|SRC=US_REMOTE_SCRIPT=r'''import io,os,sqlite3,sys,tarfile,time,json,hashlib\npaths=['PATH_REDACTED,'PATH_REDACTED,'store.db','geonames_20260602.db','idp.db']\nnon=['GeoLite2-City_20260602.mmdb']\nout=sys.stdout.buffer\nwith tarfile.open(fileobj=out,mode='w|') as tf:\n for p in paths:\n if os.path.isfile(p\nTARGETS_JSON_CANDIDATE_COUNT=2\nREC|TARGETS_JSON|BASENAME=targets.json|SHA256=6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e|PATH_SHA=78945aa86e6fd0af21cb7d621dfcbacde9d9c1993fa7d6cdbf79b0ceddeab0c4|PARENT_BASENAME=assets|SAME_DIR_AS_ENGINE=false|VM160_RECORD_COUNT=1\nREC|TARGETS_VM160_RECORD|FILE_PATH_SHA=78945aa86e6fd0af21cb7d621dfcbacde9d9c1993fa7d6cdbf79b0ceddeab0c4|KEYPATH_SHA=d26374da9a98d2a6e47c2ce6519fa375be7a78266b09bbab5b427c964635beac|KEYS=id,kind,lifecycle,logical_id,owner|LOGICAL_ID=vm160|STATE_ID=|VMID=|TYPE=|GUEST_TYPE=|ENABLED=\nREC|TARGETS_JSON|BASENAME=targets.json|SHA256=6ecf034ca03b52a1e6beceeae81d86a623885462c095d50b133aea4048a4626e|PATH_SHA=2693eefedcea364c148c402ace02172ef36cf177720b12cc9de100f7b020def5|PARENT_BASENAME=baseline|SAME_DIR_AS_ENGINE=false|VM160_RECORD_COUNT=1\nREC|TARGETS_VM160_RECORD|FILE_PATH_SHA=2693eefedcea364c148c402ace02172ef36cf177720b12cc9de100f7b020def5|KEYPATH_SHA=d26374da9a98d2a6e47c2ce6519fa375be7a78266b09bbab5b427c964635beac|KEYS=id,kind,lifecycle,logical_id,owner|LOGICAL_ID=vm160|STATE_ID=|VMID=|TYPE=|GUEST_TYPE=|ENABLED=\nREC|GIT_TARGETS_VM160|REPO=homelab-admin__homelab-ops|COMMIT=2c6929e99577|REL=changes/CR-2026-0109-skladchik-core-apps-migration/assets/pve01/etc/homelab-backup/targets.json|SHA256=2f526330152d49461ff66f50adab57d1a195ea5d1b4c292945d523411b8a68a8\nREC|GIT_TARGETS_VM160|REPO=w2-gitea-main-verify-0109|COMMIT=7be93d868063|REL=changes/CR-2026-0109-skladchik-core-apps-migration/assets/pve01/etc/homelab-backup/targets.json|SHA256=2f526330152d49461ff66f50adab57d1a195ea5d1b4c292945d523411b8a68a8\nREC|GIT_TARGETS_VM160|REPO=w2-gitea-remote-verify-0109|COMMIT=2c6929e99577|REL=changes/CR-2026-0109-skladchik-core-apps-migration/assets/pve01/etc/homelab-backup/targets.json|SHA256=2f526330152d49461ff66f50adab57d1a195ea5d1b4c292945d523411b8a68a8\nVPN_DEPLOYED_SHA=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82\nVPN_HOST_COUNT=5\nPVE01_PUBLIC_DNS_EXAMPLE_RC=0\nPVE01_VPN_DNS_RESOLVE_COUNT=0\n" }