{
  "apply_strategy": {
    "accepted_strategy": "delete_table_then_recreate",
    "delete_table_then_recreate": true,
    "flush_prerouting_chain": false,
    "valid": true
  },
  "assessment": {
    "all_ok": true,
    "blockers": [],
    "decision": "PASS_STEP_046G2_VM100_LOCAL_SELECTOR_APPLY_DRYRUN_FALSE_STOP_CLOSE",
    "expected_absence": {
      "jobs_created": false,
      "manual_agent_service_start_used": false,
      "private_material_published": false,
      "prototype_apply_preview_wrote_db": false,
      "real_apply_enabled": false,
      "timer_disabled": false,
      "vm100_selector_apply_run": false,
      "vm100_selector_file_changed": false,
      "vm100_service_installed": false,
      "vm100_state_written": false,
      "vm100_wg_runtime_changed": false,
      "vm101_changed": false,
      "vm121_db_written": false
    },
    "success_checks": {
      "db_active_one": true,
      "db_enabled_peers_five": true,
      "db_forced_zero": true,
      "db_idle_four": true,
      "db_lease_rows_five": true,
      "db_pending_zero": true,
      "post_timer_enabled_active": true,
      "pre_timer_enabled_active": true,
      "prototype_apply_preview_no_write": true,
      "prototype_apply_preview_ok": true,
      "prototype_apply_preview_zero_actions": true,
      "prototype_apply_preview_zero_jobs": true,
      "prototype_apply_preview_zero_updates": true,
      "prototype_real_apply_refused": true,
      "prototype_rebalancer_dryrun_ok": true,
      "prototype_rebalancer_executable": true,
      "prototype_rebalancer_noop": true,
      "prototype_rows_all_have_peer_id": true,
      "prototype_sampler_executable": true,
      "prototype_sampler_post_ok": true,
      "prototype_sampler_post_rows_five": true,
      "prototype_sampler_post_selector_match_five": true,
      "public_index_rebuilt": true,
      "public_report_created": true,
      "router_ops_post_state_collected": true,
      "router_ops_pre_state_collected": true,
      "vm100_accepted_strategy_delete_table_recreate": true,
      "vm100_allowed_ip_count_five": true,
      "vm100_apply_adds_counter_comment": true,
      "vm100_apply_adds_prerouting_chain": true,
      "vm100_apply_adds_table": true,
      "vm100_apply_blocks_bad_dscp": true,
      "vm100_apply_blocks_unknown_wg_ip": true,
      "vm100_apply_deletes_table": true,
      "vm100_apply_executable": true,
      "vm100_apply_exists": true,
      "vm100_apply_references_selector": true,
      "vm100_apply_sets_dscp_on_wg_paid": true,
      "vm100_apply_strategy_valid": true,
      "vm100_apply_uses_selector_dscp": true,
      "vm100_apply_validates_wg_paid": true,
      "vm100_current_load_balanced": true,
      "vm100_false_stop_closed": true,
      "vm100_init_calls_apply_start": true,
      "vm100_init_executable": true,
      "vm100_init_exists": true,
      "vm100_parsed_selector_rows_five": true,
      "vm100_post_allowed_ip_count_five": true,
      "vm100_post_peer_count_five": true,
      "vm100_post_selector_check_ok": true,
      "vm100_post_selector_rows_five": true,
      "vm100_required_tools_present": true,
      "vm100_selector_classes_valid": true,
      "vm100_selector_exists": true,
      "vm100_selector_rows_all_allowed": true,
      "vm100_selector_rows_five": true,
      "vm100_selector_sha_unchanged": true,
      "vm100_selector_targets_match_class": true,
      "vm100_strategy_close_json_created": true,
      "vm100_strategy_close_mode_ok": true,
      "vm100_strategy_close_raw_ok": true,
      "vm100_wg_peer_count_five": true,
      "vm101_cs1_to_vpn3": true,
      "vm101_cs2_to_vpn4": true,
      "vm101_cs3_to_vpn5": true,
      "vm101_cs4_to_vpn1": true,
      "vm101_cs5_to_vpn2": true,
      "vm101_static_mapper_check_ok": true,
      "vm121_backend_admin_history_only": true,
      "vm121_not_dynamic_decision_owner": true,
      "vm121_not_selector_apply_owner": true,
      "vm121_role_check_ok": true
    },
    "warnings": [
      "This step closes STEP_046G false STOP caused by expecting explicit nft flush chain.",
      "The current apply strategy deletes and recreates the whole nft table, which is accepted as valid.",
      "This step does not run selector apply and does not modify selector/WG/runtime state."
    ]
  },
  "changes": {
    "jobs_created": "NO",
    "manual_agent_service_start_used": "NO",
    "private_material_published": "NO",
    "router_ops_changed": "NO_READONLY_REPORT_ARTIFACT_ONLY",
    "vm100_changed": "NO",
    "vm100_selector_apply_run": "NO",
    "vm100_selector_file_changed": "NO",
    "vm100_service_installed": "NO",
    "vm100_state_written": "NO",
    "vm101_changed": "NO",
    "vm121_db_changed": "NO",
    "wg_peer_runtime_changed": "NO"
  },
  "current_load": {
    "cs1": {
      "peer_count": 1,
      "peers": [
        "10.253.1.10"
      ],
      "target_id": "canary_vpn3"
    },
    "cs2": {
      "peer_count": 1,
      "peers": [
        "10.253.1.11"
      ],
      "target_id": "canary_vpn4"
    },
    "cs3": {
      "peer_count": 1,
      "peers": [
        "10.253.1.12"
      ],
      "target_id": "canary_vpn5"
    },
    "cs4": {
      "peer_count": 1,
      "peers": [
        "10.253.1.13"
      ],
      "target_id": "canary_vpn1"
    },
    "cs5": {
      "peer_count": 1,
      "peers": [
        "10.253.1.14"
      ],
      "target_id": "canary_vpn2"
    }
  },
  "current_selector_lines": [
    "10.253.1.10 cs1 canary_vpn3",
    "10.253.1.11 cs2 canary_vpn4",
    "10.253.1.12 cs3 canary_vpn5",
    "10.253.1.13 cs4 canary_vpn1",
    "10.253.1.14 cs5 canary_vpn2"
  ],
  "db_summary": {
    "active_leases": 1,
    "enabled_peers": 5,
    "forced_leases": 0,
    "idle_leases": 4,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "mode": "VM100_LOCAL_SELECTOR_APPLY_DRYRUN_FALSE_STOP_CLOSE_NO_WRITE",
  "prototype_apply_preview_summary": {
    "action_count": 0,
    "mode": "apply-preview-no-write",
    "would_create_jobs": 0,
    "would_update_lease_rows": 0
  },
  "prototype_rebalancer_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
  },
  "prototype_sampler_post_summary": {
    "active_by_new_delta_count": 0,
    "rows": 5,
    "rows_with_selector_match": 5,
    "rows_with_zero_delta": 5
  },
  "publish": {
    "local_report": "http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-072928_step046g2_vm100_local_selector_apply_dryrun_false_stop_close/",
    "public_index_rebuilt": true,
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-072928_step046g2_vm100_local_selector_apply_dryrun_false_stop_close/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_046G2_VM100_LOCAL_SELECTOR_APPLY_DRYRUN_FALSE_STOP_CLOSE",
  "vm100_selector_apply_strategy_summary": {
    "accepted_apply_strategy": "delete_table_then_recreate",
    "allowed_ips_seen": 5,
    "apply_adds_counter_comment": true,
    "apply_adds_prerouting_chain": true,
    "apply_adds_table": true,
    "apply_blocks_bad_dscp": true,
    "apply_blocks_unknown_wg_ip": true,
    "apply_deletes_table": true,
    "apply_executable": true,
    "apply_exists": true,
    "apply_flushes_prerouting_chain": false,
    "apply_references_selector": true,
    "apply_sets_dscp_on_wg_paid": true,
    "apply_strategy_valid": true,
    "apply_uses_selector_dscp": true,
    "apply_validates_wg_paid": true,
    "classes_seen_count": 5,
    "current_load_balanced": true,
    "false_stop_closed": true,
    "false_stop_reason": "046G expected explicit flush chain, but current apply uses valid delete-table-and-recreate strategy.",
    "host": "",
    "init_calls_apply_start": true,
    "init_executable": true,
    "init_exists": true,
    "mode": "vm100-selector-apply-strategy-false-stop-close-no-write",
    "parsed_selector_rows": 5,
    "required_tools_present": true,
    "selector_classes_valid": true,
    "selector_exists": true,
    "selector_rows": 5,
    "selector_rows_all_allowed": true,
    "selector_sha256": "2db1a0c46c1b93d9ede5f560d2d00db2dad3283adbc8f6ca6b0434ab695d8460",
    "selector_targets_match_class": true,
    "wg_paid_allowed_ip_count": 5,
    "wg_paid_peer_count": 5
  }
}
