{
  "assessment": {
    "all_ok": true,
    "success_checks": {
      "backend_container_found": true,
      "backend_health_ok": true,
      "backend_helper_compile_ok": true,
      "backend_trigger_bind_mount_ok": true,
      "enabled_peer_count_five": true,
      "manual_agent_service_start_not_used": true,
      "old_agent_path_inactive": true,
      "pending_global_zero": true,
      "pg_dump_created": true,
      "postgres_container_found": true,
      "private_material_not_published": true,
      "reconcile_timer_active": true,
      "reconcile_timer_enabled": true,
      "watcher_active": true,
      "watcher_enabled": true
    }
  },
  "backend_container": {
    "helper_compile": {
      "rc": 0,
      "stderr": "",
      "stdout": ""
    },
    "mounts": {
      "rc": 0,
      "stderr": "",
      "stdout": "[{\"Type\":\"bind\",\"Source\":\"/opt/wg-access/runtime/agent-trigger\",\"Destination\":\"/opt/wg-access/runtime/agent-trigger\",\"Mode\":\"rw\",\"RW\":true,\"Propagation\":\"rprivate\"},{\"Type\":\"bind\",\"Source\":\"/opt/wg-access/backend\",\"Destination\":\"/app\",\"Mode\":\"rw\",\"RW\":true,\"Propagation\":\"rprivate\"}]"
    },
    "name": "wgaccess-backend",
    "trigger_dir_stat": {
      "rc": 0,
      "stderr": "",
      "stdout": "File: /opt/wg-access/runtime/agent-trigger\n  Size: 4096      \tBlocks: 8          IO Block: 4096   directory\nDevice: 8,1\tInode: 131080      Links: 3\nAccess: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (    0/    root)\nAccess: 2026-07-09 09:53:15.640445660 +0000\nModify: 2026-07-09 10:24:32.438771049 +0000\nChange: 2026-07-09 10:45:37.269059309 +0000\n Birth: 2026-07-09 09:53:15.640445660 +0000\n  File: /opt/wg-access/runtime/agent-trigger/events\n  Size: 4096      \tBlocks: 8          IO Block: 4096   directory\nDevice: 8,1\tInode: 131079      Links: 2\nAccess: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (    0/    root)\nAccess: 2026-07-09 11:09:00.329388122 +0000\nModify: 2026-07-09 11:08:59.613404663 +0000\nChange: 2026-07-09 11:08:59.613404663 +0000\n Birth: 2026-07-09 10:24:32.438771049 +0000"
    }
  },
  "changes": {
    "db_dump_created": "YES",
    "manual_agent_service_start_used": "NO",
    "private_material_published": "NO",
    "vm100_changed": "NO",
    "vm101_changed": "NO",
    "vm121_changed": "YES_CHECKPOINT_FILES_AND_DB_DUMP_ONLY"
  },
  "checkpoint": {
    "manifest_path_vm121": "/opt/wg-access/status/STEP_042K_CHECKPOINT_AGENT_AUTOMATION_AND_REBOOT_RECOVERY_OK_20260709-111005.json",
    "manifest_sha256": "77792a543870daedae8f4f5ab03d2d682571ab78deb984e8deb207c9f3755407"
  },
  "db": {
    "enabled_peer_count": 5,
    "pending_global": 0,
    "pg_container": "wgaccess-postgres",
    "pg_dump_command_rc": 0,
    "pg_dump_path_vm121": "/opt/wg-access/backups/STEP_042K_CHECKPOINT_AGENT_AUTOMATION_AND_REBOOT_RECOVERY_OK_20260709-111005/wgaccess-db-20260709-111005.sql.gz",
    "pg_dump_sha256": "83c51eaa5fc8acb6d2a87f103e36331945f0fd4f93ea9b3ed2c15759008ca345",
    "pg_dump_size_bytes": 12399,
    "pg_dump_stderr_tail": "",
    "recent_jobs_summary": {
      "rc": 0,
      "stderr": "",
      "stdout": "disable_peer|completed|23\nenable_peer|completed|32"
    }
  },
  "errors": [],
  "mode": "VM121_CONTROL_PLANE_CHECKPOINT_WITH_DB_DUMP_NOT_PUBLISHED",
  "schema": "router-step-facts-v1",
  "services": {
    "backend_health": {
      "rc": 0,
      "stderr": "",
      "stdout": "{\"status\":\"ok\",\"service\":\"wg-access-backend\",\"environment\":\"dev\"}"
    },
    "old_agent_path_active": {
      "rc": 3,
      "stderr": "",
      "stdout": "inactive"
    },
    "old_agent_path_enabled": {
      "rc": 1,
      "stderr": "",
      "stdout": "disabled"
    },
    "reconcile_timer_active": {
      "rc": 0,
      "stderr": "",
      "stdout": "active"
    },
    "reconcile_timer_enabled": {
      "rc": 0,
      "stderr": "",
      "stdout": "enabled"
    },
    "reconcile_timer_list": {
      "rc": 0,
      "stderr": "",
      "stdout": "Thu 2026-07-09 11:14:55 UTC 4min 50s left Thu 2026-07-09 11:09:44 UTC 21s ago      wg-access-reconcile.timer            wg-access-reconcile.service"
    },
    "watcher_active": {
      "rc": 0,
      "stderr": "",
      "stdout": "active"
    },
    "watcher_enabled": {
      "rc": 0,
      "stderr": "",
      "stdout": "enabled"
    }
  },
  "snapshot_name": "S042K_OK_20260709_1110",
  "step": "STEP_042K_CHECKPOINT_AGENT_AUTOMATION_AND_REBOOT_RECOVERY_OK",
  "timestamp": "20260709-111005",
  "watcher": {
    "recent_journal_tail": {
      "rc": 0,
      "stderr": "",
      "stdout": "Jul 09 10:40:23 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:40:23Z] wg-access-trigger-watch: new_events=1 first=host-test-1783593622592192232.trigger:131091:1783593622588056744:20\nJul 09 10:40:23 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:40:23Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:40:23 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:40:23Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 10:45:53 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:45:53Z] wg-access-trigger-watch: new_events=1 first=event-1783593953692216166-cf5eb8c928e648cc8eccaa4106128b03.trigger:145790:1783593953688708840:20\nJul 09 10:45:53 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:45:53Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:45:53 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:45:53Z] wg-access-trigger-watch: wg-access-agent.service start failed rc=1 stdout='' stderr='Job for wg-access-agent.service failed because the control process exited with error code.\\nSee \"systemctl status wg-access-agent.service\" and \"journalctl -xeu wg-access-agent.service\" for details.\\n'\nJul 09 10:47:56 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:47:56Z] wg-access-trigger-watch: new_events=1 first=event-1783594076311494704-9c8e0f44d5b849fab78bd8e9f47ed4ca.trigger:145842:1783594076310062723:20\nJul 09 10:47:56 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:47:56Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:47:57 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:47:57Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 10:49:55 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:49:55Z] wg-access-trigger-watch: new_events=1 first=event-1783594194822815906-e9b98a1066fe47f6aef89a625241cf8c.trigger:145791:1783594194819464384:20\nJul 09 10:49:55 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:49:55Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:49:56 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:49:56Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 10:49:59 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:49:59Z] wg-access-trigger-watch: new_events=1 first=event-1783594199475340237-f0d88a82bafc4b7ea6d7db352214a58a.trigger:131075:1783594199471361692:20\nJul 09 10:49:59 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:49:59Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:50:00 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:50:00Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 10:53:07 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:53:07Z] wg-access-trigger-watch: new_events=1 first=event-1783594386269100623-ff56ad0e0c8a4ca7a928445cd44e3af3.trigger:131089:1783594386263202595:20\nJul 09 10:53:07 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:53:07Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:53:07 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:53:07Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 10:58:29 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:58:29Z] wg-access-trigger-watch: new_events=1 first=event-1783594709497599222-55b0727e0f1c474886ade8629e74ea6f.trigger:145846:1783594709491886037:20\nJul 09 10:58:29 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:58:29Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 10:58:30 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T10:58:30Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 11:03:45 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T11:03:45Z] wg-access-trigger-watch: new_events=1 first=event-1783595024561000232-1c24b484437a46d2944a901321810067.trigger:145847:1783595024556668076:20\nJul 09 11:03:45 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T11:03:45Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 11:03:46 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T11:03:46Z] wg-access-trigger-watch: wg-access-agent.service start requested OK\nJul 09 11:09:00 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T11:09:00Z] wg-access-trigger-watch: new_events=1 first=event-1783595339616720512-874e3aae400d41c3aed9beb57f427847.trigger:145848:1783595339613404663:20\nJul 09 11:09:00 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T11:09:00Z] wg-access-trigger-watch: starting wg-access-agent.service reason=new_events=1\nJul 09 11:09:01 wg-access-dev wg-access-trigger-watch.py[147081]: [2026-07-09T11:09:01Z] wg-access-trigger-watch: wg-access-agent.service start requested OK"
    },
    "script_stat": {
      "rc": 0,
      "stderr": "",
      "stdout": "File: /usr/local/sbin/wg-access-trigger-watch.py\n  Size: 3722      \tBlocks: 8          IO Block: 4096   regular file\nDevice: 8,1\tInode: 28173       Links: 1\nAccess: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)\nAccess: 2026-07-09 10:37:59.167454945 +0000\nModify: 2026-07-09 10:37:58.411472872 +0000\nChange: 2026-07-09 10:37:58.411472872 +0000\n Birth: 2026-07-09 10:37:58.411472872 +0000"
    },
    "unit_cat": {
      "rc": 0,
      "stderr": "",
      "stdout": "# /etc/systemd/system/wg-access-trigger-watch.service\n[Unit]\nDescription=WG Access host-side trigger watcher\nAfter=network-online.target docker.service\nWants=network-online.target\n\n[Service]\nType=simple\nExecStart=/usr/local/sbin/wg-access-trigger-watch.py\nRestart=always\nRestartSec=2\nUser=root\n\n[Install]\nWantedBy=multi-user.target"
    }
  }
}
