=== STEP_040C RESULT === prev040b2=/opt/router-ops/public/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260708-162435_step040b2_correct_selector_contract_decision/report.txt prev040b2_rc=0 prev040b2_pass_rc=0 prev040b2_cs4_valid_rc=0 prev040b2_cs5_valid_rc=0 prev040b2_cs5_append_rc=0 vm100_selector_active_entry_count=4 vm100_selector_cs4_present_rc=0 vm100_selector_cs5_present_rc=1 vm100_wg_paid_peer_count=4 vm100_cs4_peer_visible_rc=0 vm101_status_slot_count=5 vpn1_status=healthy vpn1_selector_class=cs4 vpn2_status=healthy vpn2_selector_class=cs5 tool_path=/usr/local/sbin/wg-access-agent-selector-apply.py vm121_backup_dir=/root/router-ops-backups/STEP_040C_AGENT_SELECTOR_APPLY_DRY_RUN_20260708-162641 rollback_vm121=/root/rollback-step040c-agent-selector-apply-dry-run.sh tool_backup_rc=0 tool_install_rc=0 rollback_create_rc=0 tool_exists_rc=0 cs4_case=existing_idempotent cs4_helper_rc=0 cs4_contract_valid=YES cs4_action=noop cs4_apply_performed=NO cs4_exact_present=YES cs4_idempotent_noop=YES cs4_would_append=NO cs4_selector_entry_count_before=4 cs4_selector_entry_count_after_planned=4 cs4_slot_code=vpn1 cs4_selector_class=cs4 cs4_fwmark=0x201 cs4_table_id=201 cs4_interface_name=vpn1 cs4_slot_status=healthy cs4_error_count=0 cs5_case=future_append cs5_helper_rc=0 cs5_contract_valid=YES cs5_action=append cs5_apply_performed=NO cs5_exact_present=NO cs5_idempotent_noop=NO cs5_would_append=YES cs5_selector_entry_count_before=4 cs5_selector_entry_count_after_planned=5 cs5_slot_code=vpn2 cs5_selector_class=cs5 cs5_fwmark=0x202 cs5_table_id=202 cs5_interface_name=vpn2 cs5_slot_status=healthy cs5_error_count=0 bad_case=conflict_same_ip bad_helper_rc=2 bad_contract_valid=NO bad_action=error bad_apply_performed=NO bad_same_ip_conflict_count=1 bad_errors=same_ip_conflict private_material_published=NO new_peer_created=NO db_changed=NO selector_changed=NO mapper_changed=NO policy_changed=NO network_reload_done=NO firewall_reload_done=NO wg_reload_done=NO backend_restart_done=NO manager_invoked=NO decision=FAIL_AGENT_SELECTOR_APPLY_FUNCTION_DRY_RUN