{
  "action_count": 1,
  "active_peers_pinned": [
    {
      "egress_class": "cs1",
      "target_id": "cs1_vpn3",
      "tunnel_ip": "10.253.1.10"
    }
  ],
  "apply_enabled": false,
  "job_insert_executed": false,
  "mode": "synthetic-apply-preview-no-write",
  "policy_assertions": {
    "active_peer_count": 1,
    "active_peer_moves_proposed": 0,
    "cooldown_seconds": 900,
    "preserve_last_rx_tx_baselines": true,
    "selector_runtime_delegated_to_agent_job": true,
    "synthetic_action_is_idle": true,
    "synthetic_action_not_active": true,
    "synthetic_action_not_forced": true
  },
  "rollback_preview": {
    "required": true,
    "steps": [
      {
        "cancel_created_jobs_preview": "only job ids created by this synthetic apply run",
        "index": 1,
        "restore_lease_sql_preview": "UPDATE public.peer_egress_leases SET target_id=$old_target_id, egress_class=$old_egress_class, assignment_source=$old_assignment_source, reason=$old_reason, cooldown_until=$old_cooldown_until, updated_at=$old_updated_at WHERE peer_id=$peer_id;"
      }
    ]
  },
  "safety": {
    "apply_still_disabled": true,
    "db_written": false,
    "jobs_created": false,
    "selector_changed": false,
    "simulation_only": true,
    "wg_runtime_changed": false
  },
  "schema": "wgpaid-egress-rebalancer-synthetic-apply-preview-v1",
  "source": "live_balanced_plan_plus_one_synthetic_idle_reassign",
  "source_db_summary": {
    "active_leases": 1,
    "enabled_peers": 5,
    "forced_leases": 0,
    "idle_leases": 4,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "source_live_plan_summary": {
    "action_count": 0,
    "active_count": 1,
    "blocked": false,
    "forced_count": 0,
    "idle_count": 4,
    "lease_rows": 5,
    "noop": true,
    "selector_match_count": 5,
    "slot_seen_count": 5,
    "target_count": 5
  },
  "synthetic_action": {
    "action": "reassign_idle_peer",
    "active_peer_move": false,
    "forced": false,
    "from_egress_class": "cs3",
    "from_target_id": "cs3_vpn5",
    "peer_id": null,
    "reason": "synthetic_preview_rebalancer_idle_reassign",
    "simulation_only": true,
    "state": "idle",
    "to_egress_class": "cs2",
    "to_target_id": "cs2_vpn4",
    "tunnel_ip": "10.253.1.12",
    "would_create_job": false,
    "would_touch_selector_via_agent": false,
    "would_write_db": false
  },
  "transaction": {
    "steps": [
      {
        "action": "reassign_idle_peer",
        "index": 1,
        "job_payload_json_preview": {
          "from_egress_class": "cs3",
          "from_target_id": "cs3_vpn5",
          "peer_id": null,
          "reason": "rebalancer_idle_reassign",
          "requested_by": "wgpaid-egress-rebalancer-once",
          "to_egress_class": "cs2",
          "to_target_id": "cs2_vpn4",
          "tunnel_ip": "10.253.1.12",
          "type": "peer_egress_reassign"
        },
        "lock_sql": "SELECT * FROM public.peer_egress_leases WHERE peer_id = $1::uuid FOR UPDATE;",
        "params_preview": {
          "cooldown_seconds": 900,
          "new_egress_class": "cs2",
          "new_target_id": "cs2_vpn4",
          "old_egress_class": "cs3",
          "old_target_id": "cs3_vpn5"
        },
        "peer_id": null,
        "tunnel_ip": "10.253.1.12",
        "update_sql_preview": "UPDATE public.peer_egress_leases SET target_id=$new_target_id, egress_class=$new_egress_class, assignment_source='rebalancer', reason='rebalancer_idle_reassign', cooldown_until=now()+make_interval(secs=>$cooldown_seconds), updated_at=now() WHERE peer_id=$peer_id AND state='idle' AND forced=false AND target_id=$old_target_id;",
        "verify_before_update": {
          "active_peer_move_forbidden": true,
          "forced_must_equal": false,
          "state_must_equal": "idle",
          "target_id_must_equal": "cs3_vpn5"
        },
        "would_create_job": false,
        "would_write_db": false
      }
    ],
    "would_begin": true,
    "would_commit": true,
    "would_create_jobs": 1,
    "would_lock_rows": 1,
    "would_update_lease_rows": 1
  },
  "trigger_event_written": false,
  "write_executed": false
}
