=== STEP_040B2 RESULT ===
source_report=/opt/router-ops/public/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260708-162318_step040b_dry_run_agent_selector_contract/report.txt
source_decision=FAIL_DRY_RUN_AGENT_SELECTOR_CONTRACT
source_fail_reason=REPORT_SCRIPT_VARIABLE_SOURCE_AND_CASE_BUG
actual_result=DRY_RUN_AGENT_SELECTOR_CONTRACT_VALID
cs4_contract=existing_idempotent
cs4_contract_valid=YES
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_path=10.253.1.13 -> cs4 -> 0x201 -> table201 -> vpn1
cs5_contract=future_append_dry_run
cs5_contract_valid=YES
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_path=10.253.1.14 -> cs5 -> 0x202 -> table202 -> vpn2
private_material_published=NO
new_peer_created=NO
db_changed=NO
selector_changed=NO_CORRECTION_REPORT_ONLY
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=PASS_DRY_RUN_AGENT_SELECTOR_CONTRACT_CORRECTED