{
  "assessment": {
    "all_ok": true,
    "decision": "PASS_STEP_046N_VM100_LOCAL_CONTROLLER_STATE_FILE_DRYRUN",
    "expected_absence": {
      "selector_changed": false,
      "service_enabled": false,
      "state_file_written": false,
      "wg_runtime_changed": false
    },
    "success_checks": {
      "allowed_ip_count_final_five": true,
      "apply_refused": true,
      "line_10_final_ok": true,
      "line_12_final_ok": true,
      "live_action_count_zero": true,
      "live_rows_five": true,
      "live_state_no_write": true,
      "live_state_preview_has_sha": true,
      "live_state_preview_rc_zero": true,
      "peer_count_final_five": true,
      "script_executable": true,
      "selector_rows_final_five": true,
      "service_disabled": true,
      "service_not_running": true,
      "state_file_not_written": true,
      "synthetic_action_one": true,
      "synthetic_action_to_cs2": true,
      "synthetic_state_preview_has_sha": true,
      "synthetic_state_preview_rc_zero": true,
      "synthetic_would_write_state": true,
      "uci_peer_sections_zero": true,
      "vm100_046n_rc_zero": true
    },
    "warnings": [
      "State preview computes what would be written but does not write state.kv.",
      "Real apply remains refused with rc=78.",
      "Controller service remains disabled and not running."
    ]
  },
  "changes": {
    "selector_changed": "NO",
    "service_enabled": "NO",
    "state_file_written": "NO",
    "vm100_controller_script_patched": "YES",
    "wg_runtime_changed": "NO"
  },
  "live_state_preview_json": {
    "actions": [],
    "mode": "--state-preview",
    "rows": [
      {
        "active_now": false,
        "egress_class": "cs1",
        "expected_target_id": "canary_vpn3",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn3",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.10"
      },
      {
        "active_now": false,
        "egress_class": "cs2",
        "expected_target_id": "canary_vpn4",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn4",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.11"
      },
      {
        "active_now": false,
        "egress_class": "cs3",
        "expected_target_id": "canary_vpn5",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn5",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.12"
      },
      {
        "active_now": false,
        "egress_class": "cs4",
        "expected_target_id": "canary_vpn1",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn1",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.13"
      },
      {
        "active_now": false,
        "egress_class": "cs5",
        "expected_target_id": "canary_vpn2",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn2",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.14"
      }
    ],
    "schema": "router-wgpay-egress-local-v4",
    "selector_file": "/etc/router-wgpay-selector.d/peers.conf",
    "state_file": "/var/lib/router-wgpay-egress/state.kv",
    "state_preview": {
      "format": "key_value_v1",
      "state_file": "/var/lib/router-wgpay-egress/state.kv",
      "state_preview_sha256": "3d4ac01695384b38ae59f6249de0e603d2b93530b86b41fd4d5e6a39212126b8",
      "would_write_state_file": false
    },
    "summary": {
      "action_count": 0,
      "action_reason": "already_balanced",
      "active_count": 0,
      "block_reason": "",
      "blocked": false,
      "idle_count": 5,
      "max_class": "cs1",
      "max_count": 1,
      "min_class": "cs1",
      "min_count": 1,
      "noop": true,
      "rows": 5,
      "selector_apply_would_run": false,
      "selector_file_would_change": false,
      "state_file_would_write": false
    },
    "synthetic_active_ips": "",
    "transaction_preview": {
      "would_run_selector_apply": false,
      "would_update_selector_rows": 0,
      "would_write_state_file": false
    }
  },
  "mode": "VM100_CONTROLLER_V4_STATE_FILE_DRYRUN_NO_WRITE",
  "publish": {
    "facts_json": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-110427_step046n_vm100_local_controller_state_file_dryrun/facts.json",
    "report_txt": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-110427_step046n_vm100_local_controller_state_file_dryrun/report.txt",
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-110427_step046n_vm100_local_controller_state_file_dryrun/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_046N_VM100_LOCAL_CONTROLLER_STATE_FILE_DRYRUN",
  "summary": {
    "allowed_ip_count_final": "5",
    "apply_refusal_rc": "78",
    "line_10_final": "10.253.1.10 cs1 canary_vpn3",
    "line_12_final": "10.253.1.12 cs3 canary_vpn5",
    "live_state_preview": {
      "format": "key_value_v1",
      "state_file": "/var/lib/router-wgpay-egress/state.kv",
      "state_preview_sha256": "3d4ac01695384b38ae59f6249de0e603d2b93530b86b41fd4d5e6a39212126b8",
      "would_write_state_file": false
    },
    "live_state_preview_summary": {
      "action_count": 0,
      "action_reason": "already_balanced",
      "active_count": 0,
      "block_reason": "",
      "blocked": false,
      "idle_count": 5,
      "max_class": "cs1",
      "max_count": 1,
      "min_class": "cs1",
      "min_count": 1,
      "noop": true,
      "rows": 5,
      "selector_apply_would_run": false,
      "selector_file_would_change": false,
      "state_file_would_write": false
    },
    "peer_count_final": "5",
    "rollback": "/root/rollback-step046n-vm100-controller-v4-20260710-110427.sh",
    "script": "/usr/local/sbin/router-wgpay-egress-local.sh",
    "script_sha256": "8f28d1fba765124674ad75c582304e630d2c2bbd15582cc4edeeb04c2eea2281",
    "state_file": "/var/lib/router-wgpay-egress/state.kv",
    "state_file_exists_final": "false",
    "state_file_exists_pre": "false",
    "state_file_sha_final": "none",
    "state_file_sha_pre": "none",
    "synthetic_action": {
      "from_class": "cs1",
      "from_target_id": "canary_vpn3",
      "reason": "idle_rebalance_most_loaded_to_least_loaded",
      "to_class": "cs2",
      "to_target_id": "canary_vpn4",
      "tunnel_ip": "10.253.1.10"
    },
    "synthetic_state_preview": {
      "format": "key_value_v1",
      "state_file": "/var/lib/router-wgpay-egress/state.kv",
      "state_preview_sha256": "237f90694c6ae915e56fbcc86e963cead2752f6d86f8f78faf73fbc4a79ae8a4",
      "would_write_state_file": true
    },
    "synthetic_state_preview_summary": {
      "action_count": 1,
      "action_reason": "idle_rebalance_most_loaded_to_least_loaded",
      "active_count": 0,
      "block_reason": "",
      "blocked": false,
      "idle_count": 5,
      "max_class": "cs1",
      "max_count": 2,
      "min_class": "cs2",
      "min_count": 0,
      "noop": false,
      "rows": 5,
      "selector_apply_would_run": true,
      "selector_file_would_change": true,
      "state_file_would_write": true
    },
    "synthetic_transaction_preview": {
      "would_run_selector_apply": true,
      "would_update_selector_rows": 1,
      "would_write_state_file": true
    },
    "uci_peer_sections_final": "0"
  },
  "synthetic_state_preview_json": {
    "actions": [
      {
        "from_class": "cs1",
        "from_target_id": "canary_vpn3",
        "reason": "idle_rebalance_most_loaded_to_least_loaded",
        "to_class": "cs2",
        "to_target_id": "canary_vpn4",
        "tunnel_ip": "10.253.1.10"
      }
    ],
    "mode": "--state-preview",
    "rows": [
      {
        "active_now": false,
        "egress_class": "cs1",
        "expected_target_id": "canary_vpn3",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn3",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.10"
      },
      {
        "active_now": false,
        "egress_class": "cs1",
        "expected_target_id": "canary_vpn3",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn3",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.11"
      },
      {
        "active_now": false,
        "egress_class": "cs3",
        "expected_target_id": "canary_vpn5",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn5",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.12"
      },
      {
        "active_now": false,
        "egress_class": "cs4",
        "expected_target_id": "canary_vpn1",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn1",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.13"
      },
      {
        "active_now": false,
        "egress_class": "cs5",
        "expected_target_id": "canary_vpn2",
        "in_packets": 0,
        "out_packets": 0,
        "selector_target_match": true,
        "target_id": "canary_vpn2",
        "total_bytes": 0,
        "total_packets": 0,
        "tunnel_ip": "10.253.1.14"
      }
    ],
    "schema": "router-wgpay-egress-local-v4",
    "selector_file": "/tmp/step046n-synthetic-imbalance.29738",
    "state_file": "/var/lib/router-wgpay-egress/state.kv",
    "state_preview": {
      "format": "key_value_v1",
      "state_file": "/var/lib/router-wgpay-egress/state.kv",
      "state_preview_sha256": "237f90694c6ae915e56fbcc86e963cead2752f6d86f8f78faf73fbc4a79ae8a4",
      "would_write_state_file": true
    },
    "summary": {
      "action_count": 1,
      "action_reason": "idle_rebalance_most_loaded_to_least_loaded",
      "active_count": 0,
      "block_reason": "",
      "blocked": false,
      "idle_count": 5,
      "max_class": "cs1",
      "max_count": 2,
      "min_class": "cs2",
      "min_count": 0,
      "noop": false,
      "rows": 5,
      "selector_apply_would_run": true,
      "selector_file_would_change": true,
      "state_file_would_write": true
    },
    "synthetic_active_ips": "",
    "transaction_preview": {
      "would_run_selector_apply": true,
      "would_update_selector_rows": 1,
      "would_write_state_file": true
    }
  }
}
