{
  "assessment": {
    "all_ok": true,
    "decision": "PASS_STEP_048E_GENERIC_SLOT_HEALTH_MONITOR_DRYRUN_INSTALL",
    "success_checks": {
      "all_slots_good": true,
      "all_slots_hmn_adapter": true,
      "enable_ok": true,
      "init_enabled": true,
      "last_json_exists": true,
      "manual_bad_count_zero": true,
      "manual_enabled_count_five": true,
      "manual_good_count_five": true,
      "manual_mode_dryrun": true,
      "manual_overall_ok": true,
      "manual_rc_zero": true,
      "manual_schema_v1": true,
      "restart_ok": true,
      "service_running": true,
      "slot_rows_five": true,
      "status_jsonl_has_lines": true,
      "status_kv_exists": true,
      "vm101_script_rc_zero": true
    },
    "warnings": [
      "This installs generic egress slot health monitor in dry-run/status-only mode.",
      "It monitors slots from /etc/router-egress-slots.d/slots.conf, not hardcoded vpn1..vpn5.",
      "It does not run recovery, replace tunnels, change routes, or touch VM100/VM121.",
      "Provider-specific repair remains a separate later adapter layer."
    ]
  },
  "manual_run": {
    "bad_count": 0,
    "enabled_count": 5,
    "epoch": 1783691233,
    "good_count": 5,
    "iso": "2026-07-10T13:47:13+00:00",
    "missing_count": 0,
    "mode": "--dry-run",
    "overall_ok": true,
    "schema": "router-egress-slot-health-v1",
    "slots": [
      {
        "dscp": "cs4",
        "fail_reasons": "",
        "health_targets": "1.1.1.1,8.8.8.8",
        "iface_exists": true,
        "interface": "vpn1",
        "mark": "0x201",
        "operstate": "unknown",
        "provider": "hidemyname",
        "repair_adapter": "hmn_pool_replace",
        "route_ok": true,
        "slot_id": "egress1",
        "status": "good",
        "strict_count": 3,
        "strict_timeout": 2,
        "table": "201",
        "target_results": "1.1.1.1,rc=0,recv=3,avg=53.950|8.8.8.8,rc=0,recv=3,avg=50.613|"
      },
      {
        "dscp": "cs5",
        "fail_reasons": "",
        "health_targets": "1.1.1.1,8.8.8.8",
        "iface_exists": true,
        "interface": "vpn2",
        "mark": "0x202",
        "operstate": "unknown",
        "provider": "hidemyname",
        "repair_adapter": "hmn_pool_replace",
        "route_ok": true,
        "slot_id": "egress2",
        "status": "good",
        "strict_count": 3,
        "strict_timeout": 2,
        "table": "202",
        "target_results": "1.1.1.1,rc=0,recv=3,avg=39.431|8.8.8.8,rc=0,recv=3,avg=39.204|"
      },
      {
        "dscp": "cs1",
        "fail_reasons": "",
        "health_targets": "1.1.1.1,8.8.8.8",
        "iface_exists": true,
        "interface": "vpn3",
        "mark": "0x203",
        "operstate": "unknown",
        "provider": "hidemyname",
        "repair_adapter": "hmn_pool_replace",
        "route_ok": true,
        "slot_id": "egress3",
        "status": "good",
        "strict_count": 3,
        "strict_timeout": 2,
        "table": "203",
        "target_results": "1.1.1.1,rc=0,recv=3,avg=52.144|8.8.8.8,rc=0,recv=3,avg=45.716|"
      },
      {
        "dscp": "cs2",
        "fail_reasons": "",
        "health_targets": "1.1.1.1,8.8.8.8",
        "iface_exists": true,
        "interface": "vpn4",
        "mark": "0x204",
        "operstate": "unknown",
        "provider": "hidemyname",
        "repair_adapter": "hmn_pool_replace",
        "route_ok": true,
        "slot_id": "egress4",
        "status": "good",
        "strict_count": 3,
        "strict_timeout": 2,
        "table": "204",
        "target_results": "1.1.1.1,rc=0,recv=3,avg=50.115|8.8.8.8,rc=0,recv=3,avg=50.115|"
      },
      {
        "dscp": "cs3",
        "fail_reasons": "",
        "health_targets": "1.1.1.1,8.8.8.8",
        "iface_exists": true,
        "interface": "vpn5",
        "mark": "0x205",
        "operstate": "unknown",
        "provider": "hidemyname",
        "repair_adapter": "hmn_pool_replace",
        "route_ok": true,
        "slot_id": "egress5",
        "status": "good",
        "strict_count": 3,
        "strict_timeout": 2,
        "table": "205",
        "target_results": "1.1.1.1,rc=0,recv=3,avg=58.900|8.8.8.8,rc=0,recv=3,avg=73.193|"
      }
    ],
    "slots_conf": "/etc/router-egress-slots.d/slots.conf",
    "summary": {
      "apply_performed": false,
      "apply_reason": "dry_run_status_only",
      "health_layer": "generic",
      "repair_layer": "separate_provider_adapter"
    }
  },
  "mode": "INSTALL_GENERIC_EGRESS_SLOT_HEALTH_MONITOR_DRYRUN_ONLY",
  "publish": {
    "facts_json": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-134713_step048e_generic_slot_health_monitor_dryrun_install/facts.json",
    "report_txt": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-134713_step048e_generic_slot_health_monitor_dryrun_install/report.txt",
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-134713_step048e_generic_slot_health_monitor_dryrun_install/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_048E_GENERIC_SLOT_HEALTH_MONITOR_DRYRUN_INSTALL",
  "summary": {
    "init_enabled": "true",
    "manual_bad_count": 0,
    "manual_enabled_count": 5,
    "manual_good_count": 5,
    "manual_overall_ok": true,
    "mon_conf_interval": "INTERVAL=60",
    "mon_conf_mode": "MODE=--dry-run",
    "mon_sha256": "5c32cb9c3182f522e2e3e5971443e9b891d8848c476c1957c94f0a185f05f94c",
    "policy": "generic health only; no recovery/repair yet",
    "rollback": "/root/rollback-step048e-egress-slot-health-20260710-134713.sh",
    "service_running": "true",
    "slot_adapter": {
      "egress1": "hmn_pool_replace",
      "egress2": "hmn_pool_replace",
      "egress3": "hmn_pool_replace",
      "egress4": "hmn_pool_replace",
      "egress5": "hmn_pool_replace"
    },
    "slot_provider": {
      "egress1": "hidemyname",
      "egress2": "hidemyname",
      "egress3": "hidemyname",
      "egress4": "hidemyname",
      "egress5": "hidemyname"
    },
    "slot_status": {
      "egress1": "good",
      "egress2": "good",
      "egress3": "good",
      "egress4": "good",
      "egress5": "good"
    },
    "slots_conf_sha256": "6a9e0f13dfd32edcec444e0c2f8d044ed6bb121532879d57a0e2efe07fa08473",
    "status_jsonl_lines": "50"
  }
}
