{
  "assessment": {
    "all_ok": true,
    "decision": "PASS_STEP_046M_VM100_LOCAL_CONTROLLER_ONE_SYNTHETIC_APPLY_RESTORE",
    "expected_absence": {
      "final_selector_drift": false,
      "jobs_created": false,
      "service_enabled": false,
      "vm121_db_written": false,
      "wg_runtime_drift": false
    },
    "success_checks": {
      "backup_ok": true,
      "change_apply_ok": true,
      "changed_allowed_ip_count_stable": true,
      "changed_line_10_cs2": true,
      "changed_peer_count_stable": true,
      "changed_sha_differs": true,
      "changed_uci_zero": true,
      "controller_preview_action_one": true,
      "controller_preview_ip_10": true,
      "controller_preview_rc_zero": true,
      "controller_preview_to_cs2": true,
      "controller_preview_tx_preview": true,
      "db_enabled_peers_five": true,
      "db_lease_rows_five": true,
      "db_pending_zero": true,
      "final_allowed_ip_count_five": true,
      "final_line_10_restored": true,
      "final_line_11_ok": true,
      "final_line_12_ok": true,
      "final_peer_count_five": true,
      "final_sha_matches_pre": true,
      "final_uci_zero": true,
      "precheck_ok": true,
      "restore_apply_ok": true,
      "restore_copy_ok": true,
      "rollback_script_ok": true,
      "selector_mv_ok": true,
      "selector_rewrite_ok": true,
      "service_disabled": true,
      "service_not_running": true,
      "vm100_046m_rc_zero": true,
      "vm101_mapper_ok": true,
      "vm121_db_safety_ok": true
    },
    "warnings": [
      "This step intentionally performs one transient live selector change and restores it.",
      "Controller service remains disabled; this is not an automatic loop.",
      "VM121 DB is read-only and no jobs are created."
    ]
  },
  "changes": {
    "jobs_created": "NO",
    "vm100_selector_apply_run": "YES_CHANGE_AND_RESTORE",
    "vm100_selector_temporarily_changed": "YES_RESTORED",
    "vm100_service_enabled": "NO",
    "vm100_service_running": "NO",
    "vm121_db_changed": "NO"
  },
  "controller_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": "--apply-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-v3",
    "selector_file": "/tmp/step046m-synthetic-selector.29318",
    "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": {
      "proposed_selector_sha256": "7cd5b9f187d8fca50aa586d5181e397492419aef0d34daca57aa6dcb12742e56",
      "would_run_selector_apply": true,
      "would_update_selector_rows": 1,
      "would_write_state_file": true
    }
  },
  "db_summary": {
    "enabled_peers": 5,
    "forced_leases": 0,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "mode": "VM100_ONE_CONTROLLED_SELECTOR_APPLY_AND_RESTORE_FROM_CONTROLLER_PREVIEW",
  "publish": {
    "facts_json": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-110137_step046m_vm100_one_controlled_apply_restore/facts.json",
    "report_txt": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-110137_step046m_vm100_one_controlled_apply_restore/report.txt",
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-110137_step046m_vm100_one_controlled_apply_restore/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_046M_VM100_LOCAL_CONTROLLER_ONE_SYNTHETIC_APPLY_RESTORE",
  "summary": {
    "allowed_ip_count_final": "5",
    "backup": "/root/step046m-selector-20260710-110137.backup",
    "change_apply_rc": "0",
    "controller_preview_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"
    },
    "controller_preview_transaction": {
      "proposed_selector_sha256": "7cd5b9f187d8fca50aa586d5181e397492419aef0d34daca57aa6dcb12742e56",
      "would_run_selector_apply": true,
      "would_update_selector_rows": 1,
      "would_write_state_file": true
    },
    "init_enabled_final": "false",
    "line_10_changed": "10.253.1.10 cs2 canary_vpn4",
    "line_10_final": "10.253.1.10 cs1 canary_vpn3",
    "line_11_final": "10.253.1.11 cs2 canary_vpn4",
    "line_12_final": "10.253.1.12 cs3 canary_vpn5",
    "peer_count_final": "5",
    "restore_apply_rc": "0",
    "rollback": "/root/rollback-step046m-selector-20260710-110137.sh",
    "selector_sha_changed": "73b28098ffb6809943a552dbda77cb470e23e65fa280a6e5c074218abeaaa96d",
    "selector_sha_final": "2db1a0c46c1b93d9ede5f560d2d00db2dad3283adbc8f6ca6b0434ab695d8460",
    "selector_sha_pre": "2db1a0c46c1b93d9ede5f560d2d00db2dad3283adbc8f6ca6b0434ab695d8460",
    "service_running_final": "false",
    "uci_peer_sections_final": "0"
  }
}
