scenario: name: "churn-10" seed: 42 duration_secs: 600 topology: num_nodes: 10 algorithm: random_geometric params: radius: 0.5 ensure_connected: true subnet: "172.20.0.0/24" ip_start: 10 netem: enabled: true default_policy: delay_ms: { min: 5, max: 50 } jitter_ms: { min: 1, max: 10 } loss_pct: { min: 0, max: 2 } mutation: interval_secs: { min: 20, max: 45 } fraction: 0.3 policies: normal: delay_ms: [5, 20] loss_pct: [0, 1] degraded: delay_ms: [50, 100] jitter_ms: [10, 30] loss_pct: [3, 8] link_flaps: enabled: true interval_secs: { min: 30, max: 60 } max_down_links: 2 down_duration_secs: { min: 10, max: 30 } protect_connectivity: true traffic: enabled: true max_concurrent: 3 interval_secs: { min: 10, max: 30 } duration_secs: { min: 5, max: 15 } parallel_streams: 4 node_churn: enabled: true interval_secs: { min: 60, max: 180 } max_down_nodes: 1 down_duration_secs: { min: 30, max: 90 } protect_connectivity: true logging: rust_log: "debug" output_dir: "./sim-results"