=== STEP_044F RESULT === step=STEP_044F_RUNTIME_EGRESS_LEASE_READ_MODEL_AND_ALLOCATOR_DRYRUN mode=READONLY_READ_LEASE_MODEL_AND_DRYRUN_NORMAL_PAUSE_FORCE_ALLOCATOR_POLICIES db_summary: enabled_peers=5 lease_rows=5 active_leases=0 idle_leases=5 expired_leases=0 forced_leases=0 target_rows=5 settings_rows=14 pending_jobs=0 normal_allocator_dryrun: current_active_counts={'cs1': 0, 'cs2': 0, 'cs3': 0, 'cs4': 0, 'cs5': 0} current_total_lease_counts={'cs1': 1, 'cs2': 1, 'cs3': 1, 'cs4': 1, 'cs5': 1} chosen_class_for_next_new_or_returning_active_peer=cs1 chosen_target={'target_id': 'cs1_vpn3', 'egress_class': 'cs1', 'route_table': 203, 'fwmark': '0x203', 'interface_name': 'vpn3', 'kind': 'vpn', 'status': 'enabled', 'weight': 100, 'is_emergency': False} reactivation_sequence_class_counts={'cs1': 1, 'cs2': 1, 'cs3': 1, 'cs4': 1, 'cs5': 1} pause_mode_dryrun: action=preserve_existing_lease for all 5 peers force_override_dryrun: all_to_class cs1 preview rows=5, not applied all_to_target cs5_vpn2 preview rows=5, not applied safety: VM100 unchanged VM101 unchanged DB unchanged/read-only no force mode enabled no rebalance pause enabled no agent service start no private material published public_index_rebuilt=True success_checks: vm121_read_model_collected=True postgres_container_found=True summary_query_ok=True settings_query_ok=True targets_query_ok=True leases_query_ok=True enabled_peer_count_five=True lease_rows_five=True active_leases_zero=True idle_leases_five=True expired_leases_zero=True forced_leases_zero=True target_rows_five=True settings_rows_fourteen=True pending_jobs_zero=True setting_allocator_enabled=True setting_rebalance_not_paused=True setting_force_mode_off=True setting_idle_seconds_900=True setting_active_min_packets_10=True setting_active_min_bytes_16384=True leases_detail_count_five=True all_leases_idle=True all_leases_bootstrap=True all_leases_forced_false=True lease_total_class_counts_one_each=True normal_allocator_decision_created=True normal_allocator_tie_break_cs1=True reactivation_sequence_rows_five=True reactivation_sequence_balances_one_each=True pause_preview_preserves_all_five=True force_all_to_class_preview_rows_five=True force_all_to_target_preview_rows_five=True vm100_state_collected=True vm100_peer_count_five=True vm100_allowed_ip_count_five=True vm100_selector_rows_five=True vm100_uci_peer_count_zero=True vm101_slot_map_collected=True vm101_cs1_to_vpn3_seen=True vm101_cs2_to_vpn4_seen=True vm101_cs3_to_vpn5_seen=True vm101_cs4_to_vpn1_seen=True vm101_cs5_to_vpn2_seen=True public_report_created=True public_index_rebuilt=True expected_absence: private_material_published=False manual_agent_service_start_used=False vm100_changed=False vm101_changed=False vm121_changed=False lease_rows_inserted=False lease_rows_updated=False force_mode_enabled=False rebalance_paused=False allocator_live_enabled=False warnings: - STEP_044F is dry-run/read-only; it does not update lease rows or regenerate VM100 selector. - Activity counters are not integrated yet; active/idle decisions are simulated from current lease state. - Custom emergency target is supported by schema, but actual emergency interface mapping must be added later before FORCE_MODE=all_to_target uses a non-cs target. all_ok=True decision=PASS_STEP_044F_RUNTIME_EGRESS_LEASE_READ_MODEL_AND_ALLOCATOR_DRYRUN next_step=STEP_044G_RUNTIME_EGRESS_ACTIVITY_COUNTERS_DESIGN_OR_IMPLEMENT LOCAL_REPORT=http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-132313_step044f_runtime_egress_lease_read_model_allocator_dryrun/ TRYCF_REPORT=https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-132313_step044f_runtime_egress_lease_read_model_allocator_dryrun/