{
  "assessment": {
    "checks": {
      "agent_path_active": true,
      "agent_path_enabled": true,
      "backend_code_has_trigger_helper": true,
      "backend_health_ok": true,
      "ip15_jobs_completed_eventually": true,
      "manual_agent_service_start_not_used": true,
      "path_journal_had_entries_during_window": false,
      "pending_global_zero_now": true,
      "private_material_not_published": true,
      "reconcile_journal_had_entries_during_window": true,
      "trigger_file_exists": true
    },
    "decision": "PASS_POSTFACTO_STATE_OK_BUT_EVENT_TRIGGER_NOT_PROVEN",
    "likely_event_trigger_immediate": false,
    "likely_safety_reconcile_processed_jobs": true
  },
  "changes": {
    "manual_agent_service_start_used": "NO",
    "private_material_published": "NO",
    "vm100_changed": "NO",
    "vm101_changed": "NO",
    "vm121_changed": "NO"
  },
  "db": {
    "ip15_recent_jobs": {
      "rc": 0,
      "stderr": "",
      "stdout": "73792f95-1051-4a98-8d32-006008cee0e1|disable_peer|completed|8a3990dc-41fd-4f03-8e41-2eed2e36f5e0|2026-07-09 10:19:18.423907+00|2026-07-09 10:20:07.058906+00|2026-07-09 10:20:07.395655+00|\n729eae55-dd4d-4fea-8511-a05c6fff18ea|enable_peer|completed|8a3990dc-41fd-4f03-8e41-2eed2e36f5e0|2026-07-09 10:14:29.508492+00|2026-07-09 10:20:06.684442+00|2026-07-09 10:20:07.051794+00|\n8acffdea-3396-464e-bb21-a3d63f1ecfd7|disable_peer|completed|8479382d-81f3-44a3-8de0-b488e7f1d93e|2026-07-09 10:06:04.874633+00|2026-07-09 10:09:13.947651+00|2026-07-09 10:09:14.522247+00|\n0c33728c-7711-4153-a051-d2a9efd93d53|enable_peer|completed|8479382d-81f3-44a3-8de0-b488e7f1d93e|2026-07-09 10:02:50.849831+00|2026-07-09 10:04:09.885203+00|2026-07-09 10:04:10.292777+00|\n652f82c5-4243-4618-bf17-ccfea3e44d54|disable_peer|completed|13543224-39f7-4cfc-917d-66a16e2e0e55|2026-07-04 15:58:57.25184+00|2026-07-04 15:58:58.18531+00|2026-07-04 15:58:58.490337+00|\nca3e15c1-91ba-435c-8a40-37faa9e101c9|enable_peer|completed|13543224-39f7-4cfc-917d-66a16e2e0e55|2026-07-04 15:17:46.098791+00|2026-07-04 15:19:05.27124+00|2026-07-04 15:19:05.673759+00|"
    },
    "ip15_recent_peer": {
      "rc": 0,
      "stderr": "",
      "stdout": "8a3990dc-41fd-4f03-8e41-2eed2e36f5e0|10.253.1.15|false|2026-07-09 10:14:29.507723+00|2026-07-09 10:19:18.422938+00\n8479382d-81f3-44a3-8de0-b488e7f1d93e|10.253.1.15|false|2026-07-09 10:02:50.848261+00|2026-07-09 10:06:04.873297+00\n13543224-39f7-4cfc-917d-66a16e2e0e55|10.253.1.15|false|2026-07-04 15:17:46.096446+00|2026-07-04 15:58:57.251069+00"
    },
    "pending_global": {
      "rc": 0,
      "stderr": "",
      "stdout": "0"
    }
  },
  "files": {
    "admin_imports_helper": true,
    "backend_mounts_trigger": {
      "rc": 0,
      "stderr": "",
      "stdout": ""
    },
    "backend_path_stat": {
      "rc": 0,
      "stderr": "",
      "stdout": "File: /opt/wg-access/runtime/agent-trigger/pending.trigger\n  Size: 19        \tBlocks: 8          IO Block: 4096   regular file\nDevice: 0,46\tInode: 265994      Links: 1\nAccess: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)\nAccess: 2026-07-09 09:53:16.584424105 +0000\nModify: 2026-07-09 10:20:33.524634080 +0000\nChange: 2026-07-09 10:20:33.524634080 +0000\n Birth: 2026-07-09 09:53:16.584424105 +0000"
    },
    "helper_text_contains_trigger_write": true,
    "path_unit_text": "[Unit]\nDescription=WG Access agent event trigger path\nAfter=docker.service network-online.target\nWants=network-online.target\n\n[Path]\nPathChanged=/opt/wg-access/runtime/agent-trigger/pending.trigger\nPathModified=/opt/wg-access/runtime/agent-trigger/pending.trigger\nUnit=wg-access-agent.service\n\n[Install]\nWantedBy=multi-user.target\n",
    "trigger_dir_ls": {
      "rc": 0,
      "stderr": "",
      "stdout": "drwxrwxr-x 2 root root 4096 Jul  9 09:53 /opt/wg-access/runtime/agent-trigger\n-rw-rw-r-- 1 root root    0 Jul  9 09:56 /opt/wg-access/runtime/agent-trigger/pending.trigger"
    },
    "trigger_file_exists": true,
    "trigger_file_stat": {
      "rc": 0,
      "stderr": "",
      "stdout": "File: /opt/wg-access/runtime/agent-trigger/pending.trigger\n  Size: 0         \tBlocks: 0          IO Block: 4096   regular empty file\nDevice: 8,1\tInode: 131081      Links: 1\nAccess: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)\nAccess: 2026-07-09 09:56:40.239773935 +0000\nModify: 2026-07-09 09:56:40.239773935 +0000\nChange: 2026-07-09 09:56:40.239773935 +0000\n Birth: 2026-07-09 09:53:15.640445660 +0000"
    }
  },
  "journals": {
    "agent_since_1013": {
      "rc": 0,
      "stderr": "",
      "stdout": "Jul 09 10:14:26 wg-access-dev systemd[1]: Starting wg-access-agent.service - WG Access Agent real poller...\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.337838+00:00] sync desired enabled peers: 5\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.501643+00:00] remote stdout: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=        10.253.1.10/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw=        10.253.1.11/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw=        10.253.1.12/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: JQXornv9vzH7nn9E1laZehYLnwMXuitP+eP35Gde0D4=        10.253.1.13/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: Kl5Ox5HbG4yvDUxkRuoyZmAF3Wx5HW0lHbVS9B0vFXM=        10.253.1.14/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.501742+00:00] sync current runtime peers: 5\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.501808+00:00] sync keep peer tunnel_ip=10.253.1.10\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.501861+00:00] sync keep peer tunnel_ip=10.253.1.11\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.501927+00:00] sync keep peer tunnel_ip=10.253.1.12\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.501978+00:00] sync keep peer tunnel_ip=10.253.1.13\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.502031+00:00] sync keep peer tunnel_ip=10.253.1.14\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.742648+00:00] remote stdout: interface: wg_paid\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   public key: FD1J+KVZ965pCjgtO0YWxJsKANY9uz6v1P54JLkiZzY=\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   private key: (hidden)\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   listening port: 51830\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: peer: Kl5Ox5HbG4yvDUxkRuoyZmAF3Wx5HW0lHbVS9B0vFXM=\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   preshared key: (hidden)\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   endpoint: 10.71.100.2:56264\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   allowed ips: 10.253.1.14/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   latest handshake: 34 minutes, 17 seconds ago\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   transfer: 820 B received, 3.61 KiB sent\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: peer: JQXornv9vzH7nn9E1laZehYLnwMXuitP+eP35Gde0D4=\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   preshared key: (hidden)\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   endpoint: 10.71.100.2:39020\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   allowed ips: 10.253.1.13/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   latest handshake: 19 hours, 1 minute, 53 seconds ago\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: peer: HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw=\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   preshared key: (hidden)\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   endpoint: 10.71.100.2:41351\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   allowed ips: 10.253.1.12/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   latest handshake: 20 hours, 4 minutes ago\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   transfer: 692 B received, 3.48 KiB sent\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: peer: zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw=\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   preshared key: (hidden)\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   endpoint: 10.71.100.2:35150\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   allowed ips: 10.253.1.11/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   latest handshake: 20 hours, 17 minutes, 37 seconds ago\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: peer: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   preshared key: (hidden)\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   endpoint: 10.71.100.2:40520\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   allowed ips: 10.253.1.10/32\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   latest handshake: 21 hours, 8 minutes, 56 seconds ago\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]:   transfer: 3.38 KiB received, 17.40 KiB sent\nJul 09 10:14:26 wg-access-dev wg_access_agent.py[142076]: [2026-07-09T10:14:26.747975+00:00] no pending jobs\nJul 09 10:14:26 wg-access-dev systemd[1]: wg-access-agent.service: Deactivated successfully.\nJul 09 10:14:26 wg-access-dev systemd[1]: Finished wg-access-agent.service - WG Access Agent real poller.\nJul 09 10:20:06 wg-access-dev systemd[1]: Starting wg-access-agent.service - WG Access Agent real poller...\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.321481+00:00] sync desired enabled peers: 5\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502620+00:00] remote stdout: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=        10.253.1.10/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw=        10.253.1.11/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw=        10.253.1.12/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: JQXornv9vzH7nn9E1laZehYLnwMXuitP+eP35Gde0D4=        10.253.1.13/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: Kl5Ox5HbG4yvDUxkRuoyZmAF3Wx5HW0lHbVS9B0vFXM=        10.253.1.14/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502717+00:00] sync current runtime peers: 5\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502785+00:00] sync keep peer tunnel_ip=10.253.1.10\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502840+00:00] sync keep peer tunnel_ip=10.253.1.11\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502894+00:00] sync keep peer tunnel_ip=10.253.1.12\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502944+00:00] sync keep peer tunnel_ip=10.253.1.13\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.502998+00:00] sync keep peer tunnel_ip=10.253.1.14\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.677361+00:00] remote stdout: interface: wg_paid\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   public key: FD1J+KVZ965pCjgtO0YWxJsKANY9uz6v1P54JLkiZzY=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   private key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   listening port: 51830\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: Kl5Ox5HbG4yvDUxkRuoyZmAF3Wx5HW0lHbVS9B0vFXM=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:56264\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.14/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 39 minutes, 57 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 820 B received, 3.61 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: JQXornv9vzH7nn9E1laZehYLnwMXuitP+eP35Gde0D4=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:39020\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.13/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 19 hours, 7 minutes, 33 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:41351\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.12/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 20 hours, 9 minutes, 40 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 692 B received, 3.48 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:35150\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.11/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 20 hours, 23 minutes, 17 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:40520\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.10/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 21 hours, 14 minutes, 36 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 3.38 KiB received, 17.40 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.681903+00:00] fetched pending jobs: 2\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:06.681980+00:00] starting job_id=729eae55-dd4d-4fea-8511-a05c6fff18ea action=enable_peer\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.048664+00:00] remote stdout: interface: wg_paid\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   public key: FD1J+KVZ965pCjgtO0YWxJsKANY9uz6v1P54JLkiZzY=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   private key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   listening port: 51830\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: Kl5Ox5HbG4yvDUxkRuoyZmAF3Wx5HW0lHbVS9B0vFXM=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:56264\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.14/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 39 minutes, 58 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 820 B received, 3.61 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: JQXornv9vzH7nn9E1laZehYLnwMXuitP+eP35Gde0D4=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:39020\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.13/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 19 hours, 7 minutes, 34 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:41351\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.12/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 20 hours, 9 minutes, 41 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 692 B received, 3.48 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:35150\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.11/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 20 hours, 23 minutes, 18 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:40520\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.10/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 21 hours, 14 minutes, 37 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 3.38 KiB received, 17.40 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: y36PGDdLRkx57jZBLq2KzQQLAwdIa4JK3FqMV6QKSFE=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.15/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.049149+00:00] REAL enable_peer peer_id=8a3990dc-41fd-4f03-8e41-2eed2e36f5e0 tunnel_ip=10.253.1.15\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.056386+00:00] completed job_id=729eae55-dd4d-4fea-8511-a05c6fff18ea status=completed attempts=1\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.056465+00:00] starting job_id=73792f95-1051-4a98-8d32-006008cee0e1 action=disable_peer\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.392570+00:00] remote stdout: interface: wg_paid\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   public key: FD1J+KVZ965pCjgtO0YWxJsKANY9uz6v1P54JLkiZzY=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   private key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   listening port: 51830\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: Kl5Ox5HbG4yvDUxkRuoyZmAF3Wx5HW0lHbVS9B0vFXM=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:56264\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.14/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 39 minutes, 58 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 820 B received, 3.61 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: JQXornv9vzH7nn9E1laZehYLnwMXuitP+eP35Gde0D4=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:39020\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.13/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 19 hours, 7 minutes, 34 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: HknQ+VpqOIvsd3RxkrgaUqiR7zkS9nMfDRzDAvdqUVw=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:41351\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.12/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 20 hours, 9 minutes, 41 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 692 B received, 3.48 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: zwzkWJkpX7q5PfcT9pG2v52Es4yM0VRP3w1drj7LJmw=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:35150\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.11/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 20 hours, 23 minutes, 18 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 1.35 KiB received, 6.96 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:40520\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.10/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 21 hours, 14 minutes, 37 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 3.38 KiB received, 17.40 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.393032+00:00] REAL disable_peer peer_id=8a3990dc-41fd-4f03-8e41-2eed2e36f5e0\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.400368+00:00] completed job_id=73792f95-1051-4a98-8d32-006008cee0e1 status=completed attempts=1\nJul 09 10:20:07 wg-access-dev systemd[1]: wg-access-agent.service: Deactivated successfully.\nJul 09 10:20:07 wg-access-dev systemd[1]: Finished wg-access-agent.service - WG Access Agent real poller."
    },
    "path_since_1013": {
      "rc": 0,
      "stderr": "",
      "stdout": "-- No entries --"
    },
    "reconcile_since_1013": {
      "rc": 0,
      "stderr": "",
      "stdout": "Jul 09 10:14:26 wg-access-dev systemd[1]: Starting wg-access-reconcile.service - WG Access reconcile VM100 runtime peers from VM121 DB...\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142071]: [wg-access-reconcile] start 2026-07-09T10:14:26+00:00\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142071]: [wg-access-reconcile] source=systemd-reconcile-service\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142079]: Result=success\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142079]: ExecMainStartTimestamp=Thu 2026-07-09 10:14:26 UTC\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142079]: ExecMainExitTimestamp=Thu 2026-07-09 10:14:26 UTC\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142079]: ExecMainStatus=0\nJul 09 10:14:26 wg-access-dev wg-access-reconcile-now.sh[142071]: [wg-access-reconcile] done 2026-07-09T10:14:26+00:00\nJul 09 10:14:26 wg-access-dev systemd[1]: wg-access-reconcile.service: Deactivated successfully.\nJul 09 10:14:26 wg-access-dev systemd[1]: Finished wg-access-reconcile.service - WG Access reconcile VM100 runtime peers from VM121 DB.\nJul 09 10:20:06 wg-access-dev systemd[1]: Starting wg-access-reconcile.service - WG Access reconcile VM100 runtime peers from VM121 DB...\nJul 09 10:20:06 wg-access-dev wg-access-reconcile-now.sh[143222]: [wg-access-reconcile] start 2026-07-09T10:20:06+00:00\nJul 09 10:20:06 wg-access-dev wg-access-reconcile-now.sh[143222]: [wg-access-reconcile] source=systemd-reconcile-service\nJul 09 10:20:07 wg-access-dev wg-access-reconcile-now.sh[143234]: Result=success\nJul 09 10:20:07 wg-access-dev wg-access-reconcile-now.sh[143234]: ExecMainStartTimestamp=Thu 2026-07-09 10:20:06 UTC\nJul 09 10:20:07 wg-access-dev wg-access-reconcile-now.sh[143234]: ExecMainExitTimestamp=Thu 2026-07-09 10:20:07 UTC\nJul 09 10:20:07 wg-access-dev wg-access-reconcile-now.sh[143234]: ExecMainStatus=0\nJul 09 10:20:07 wg-access-dev wg-access-reconcile-now.sh[143222]: [wg-access-reconcile] done 2026-07-09T10:20:07+00:00\nJul 09 10:20:07 wg-access-dev systemd[1]: wg-access-reconcile.service: Deactivated successfully.\nJul 09 10:20:07 wg-access-dev systemd[1]: Finished wg-access-reconcile.service - WG Access reconcile VM100 runtime peers from VM121 DB."
    }
  },
  "mode": "READONLY_DIAGNOSE_PATH_TRIGGER_VS_RECONCILE_TIMER",
  "schema": "router-step-facts-v1",
  "step": "STEP_042E4_EVENT_TRIGGER_LATENCY_DIAGNOSIS_READONLY",
  "units": {
    "agent_path_cat": {
      "rc": 0,
      "stderr": "",
      "stdout": "# /etc/systemd/system/wg-access-agent.path\n[Unit]\nDescription=WG Access agent event trigger path\nAfter=docker.service network-online.target\nWants=network-online.target\n\n[Path]\nPathChanged=/opt/wg-access/runtime/agent-trigger/pending.trigger\nPathModified=/opt/wg-access/runtime/agent-trigger/pending.trigger\nUnit=wg-access-agent.service\n\n[Install]\nWantedBy=multi-user.target"
    },
    "agent_path_is_active": {
      "rc": 0,
      "stderr": "",
      "stdout": "active"
    },
    "agent_path_is_enabled": {
      "rc": 0,
      "stderr": "",
      "stdout": "enabled"
    },
    "agent_path_status": {
      "rc": 0,
      "stderr": "",
      "stdout": "● wg-access-agent.path - WG Access agent event trigger path\n     Loaded: loaded (/etc/systemd/system/wg-access-agent.path; enabled; preset: enabled)\n     Active: active (waiting) since Thu 2026-07-09 09:56:40 UTC; 25min ago\n   Triggers: ● wg-access-agent.service\n\nJul 09 09:56:40 wg-access-dev systemd[1]: Started wg-access-agent.path - WG Access agent event trigger path."
    },
    "agent_service_status": {
      "rc": 0,
      "stderr": "",
      "stdout": "○ wg-access-agent.service - WG Access Agent real poller\n     Loaded: loaded (/etc/systemd/system/wg-access-agent.service; static)\n     Active: inactive (dead) since Thu 2026-07-09 10:20:07 UTC; 2min 18s ago\nTriggeredBy: ● wg-access-agent.path\n    Process: 143227 ExecStart=/opt/wg-access/agent/wg_access_agent.py (code=exited, status=0/SUCCESS)\n   Main PID: 143227 (code=exited, status=0/SUCCESS)\n        CPU: 149ms\n\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: peer: fmcqSUy1fErBV5RrcoVoex2VAgaxz2i79GzK8qd88UI=\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   preshared key: (hidden)\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   endpoint: 10.71.100.2:40520\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   allowed ips: 10.253.1.10/32\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   latest handshake: 21 hours, 14 minutes, 37 seconds ago\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]:   transfer: 3.38 KiB received, 17.40 KiB sent\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.393032+00:00] REAL disable_peer peer_id=8a3990dc-41fd-4f03-8e41-2eed2e36f5e0\nJul 09 10:20:07 wg-access-dev wg_access_agent.py[143227]: [2026-07-09T10:20:07.400368+00:00] completed job_id=73792f95-1051-4a98-8d32-006008cee0e1 status=completed attempts=1\nJul 09 10:20:07 wg-access-dev systemd[1]: wg-access-agent.service: Deactivated successfully.\nJul 09 10:20:07 wg-access-dev systemd[1]: Finished wg-access-agent.service - WG Access Agent real poller."
    },
    "reconcile_timer_list": {
      "rc": 0,
      "stderr": "",
      "stdout": "Thu 2026-07-09 10:25:17 UTC 2min 51s left Thu 2026-07-09 10:20:06 UTC 2min 20s ago wg-access-reconcile.timer            wg-access-reconcile.service"
    },
    "reconcile_timer_status": {
      "rc": 0,
      "stderr": "",
      "stdout": "● wg-access-reconcile.timer - WG Access reconcile boot and safety timer\n     Loaded: loaded (/etc/systemd/system/wg-access-reconcile.timer; enabled; preset: enabled)\n     Active: active (waiting) since Thu 2026-07-09 10:01:01 UTC; 21min ago\n    Trigger: Thu 2026-07-09 10:25:17 UTC; 2min 51s left\n   Triggers: ● wg-access-reconcile.service\n\nJul 09 10:01:01 wg-access-dev systemd[1]: Started wg-access-reconcile.timer - WG Access reconcile boot and safety timer."
    }
  },
  "vm121": {
    "backend_container": "wgaccess-backend",
    "backend_health": {
      "rc": 0,
      "stderr": "",
      "stdout": "{\"status\":\"ok\",\"service\":\"wg-access-backend\",\"environment\":\"dev\"}"
    },
    "pg_container": "wgaccess-postgres"
  }
}
