=== STEP_040B RESULT === prev040a2=/opt/router-ops/public/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260708-162105_step040a2_agent_mode_filemap/report.txt prev040a2_rc=0 prev040a2_pass_rc=0 prev040a2_agent_oneshot_rc=0 prev040a2_agent_inactive_ok_rc=0 prev040a2_next_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-contract-dry-run.py vm121_backup_dir=/root/router-ops-backups/STEP_040B_SELECTOR_CONTRACT_DRY_RUN_20260708-162321 rollback_vm121=/root/rollback-step040b-selector-contract-dry-run.sh tool_backup_rc=0 tool_install_rc=0 rollback_create_rc=0 tool_exists_rc=0 cs4_contract=existing_idempotent cs4_dryrun_rc=0 cs4_contract_valid=YES cs4_exact_line= cs4_exact_present=YES cs4_idempotent_noop=YES cs4_would_append=NO cs4_selector_entry_count_before=4 cs4_selector_entry_count_after_simulated=4 cs4_payload_slot_code=vpn1 cs4_payload_selector_class=cs4 cs4_payload_fwmark=0x201 cs4_payload_table_id=201 cs4_payload_interface_name=vpn1 cs4_slot_status=healthy cs5_contract=future_append_dry_run cs5_dryrun_rc=0 cs5_contract_valid=YES cs5_exact_line= cs5_exact_present=NO cs5_idempotent_noop=NO cs5_would_append=YES cs5_selector_entry_count_before=4 cs5_selector_entry_count_after_simulated=5 cs5_payload_slot_code=vpn2 cs5_payload_selector_class=cs5 cs5_payload_fwmark=0x202 cs5_payload_table_id=202 cs5_payload_interface_name=vpn2 cs5_slot_status=healthy 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_DRY_RUN_AGENT_SELECTOR_CONTRACT