{
  "adapter_now": {
    "adapter": "hmn_pool_replace",
    "apply_performed": false,
    "candidate_endpoint": "109.248.198.4:37129",
    "current_endpoint": "78.31.250.16:41729",
    "decision": "dry_run_ok",
    "epoch": 1783704434,
    "interface": "vpn4",
    "iso": "2026-07-10T17:27:14+00:00",
    "mark": "0x204",
    "max_pool_age_sec": 129600,
    "mode": "--dry-run",
    "pool_is_fresh": true,
    "provider": "hidemyname",
    "reason": "dry_run_candidate_selected",
    "safety": {
      "no_ifup_ifdown": true,
      "no_route_change": true,
      "no_uci_set": true,
      "no_vm100_change": true,
      "no_wg_set": true
    },
    "schema": "router-egress-recovery-hmn-pool-replace-v1",
    "selected_pool": "/root/hmn/cache/ok-awg1-strict-foreign-latest.tsv",
    "selected_pool_age_sec": 1692,
    "selected_pool_endpoint_count": 15,
    "slot": "egress4",
    "table": "204",
    "unused_candidate_count": 10
  },
  "assessment": {
    "all_ok": false,
    "decision": "STOP_STEP_048I2R_PUBLISH_SALVAGE_AND_VPN2_AUDIT",
    "success_checks": {
      "current_adapter_dryrun_ok": true,
      "current_all_prod_strict_ok": false,
      "current_audit_readonly": true,
      "current_vm101_audit_rc_zero": true,
      "current_vpn2_strict_ok": false,
      "previous_fresh_candidate_present": true,
      "previous_fresh_pool_recent": true,
      "previous_pipeline_rc_zero": true,
      "salvage_found_previous_output": true,
      "vm100_controller_v7_running": true,
      "vm100_crosscheck_rc_zero": true,
      "vm100_peers_five": true,
      "vm121_agent_points_to_vm100": true,
      "vm121_crosscheck_rc_zero": true,
      "vm121_db_pending_zero": true
    },
    "warnings": [
      "048I2 refresh appears to have completed, but the outer wrapper failed before report publish.",
      "This salvage step is read-only.",
      "Do not proceed to recovery apply if vpn2 remains strict-failing or production fingerprint changed unexpectedly."
    ]
  },
  "mode": "PUBLISH_SALVAGE_REPORT_AND_READONLY_VPN2_AUDIT_AFTER_048I2_WRAPPER_FAILURE",
  "publish": {
    "facts_json": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-172656_step048i2r_publish_salvage_and_vpn2_audit/facts.json",
    "report_txt": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-172656_step048i2r_publish_salvage_and_vpn2_audit/report.txt",
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-172656_step048i2r_publish_salvage_and_vpn2_audit/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_048I2R_PUBLISH_SALVAGE_AND_VPN2_AUDIT",
  "summary": {
    "current_adapter_candidate": "109.248.198.4:37129",
    "current_adapter_decision": "dry_run_ok",
    "current_adapter_pool": "/root/hmn/cache/ok-awg1-strict-foreign-latest.tsv",
    "current_adapter_pool_age_sec": 1692,
    "current_adapter_reason": "dry_run_candidate_selected",
    "current_fingerprint": "6c2e41bb788f9c23eabcf221b5e2d4e2f8f0ae26a1143581c6fd39d3ca516102",
    "current_ping_strict_ok": {
      "vpn1": "true",
      "vpn2": "false",
      "vpn3": "true",
      "vpn4": "true",
      "vpn5": "true"
    },
    "current_vpn2_endpoint": "192.121.163.235:42530",
    "current_vpn2_operstate": "missing",
    "next_step": "if_vpn2_still_bad_run_readonly_vpn2_route_interface_diff_then_safe_reapply_or_replace_vpn2",
    "previous_fresh_candidate_present": "true",
    "previous_fresh_pool_recent": "true",
    "previous_pipeline_rc": "0",
    "previous_prod_fingerprint_unchanged": "false",
    "vm100_peer_count": "5",
    "vm121_db_summary": {
      "enabled_peers": 5,
      "lease_rows": 5,
      "pending_jobs": 0
    }
  }
}
