{
  "seed": 3,
  "out_dir": "./paper_a_sim_out_sbm_topology_actuator_quantiles_cooldown_sep_d12",
  "run": {"control_steps": 200, "window": 5},
  "graph": {
    "type": "stochastic_block_model",
    "n": 200,
    "sizes": [50, 50, 50, 50],
    "sbm_avg_degree": 12,
    "sbm_mu": 0.05,
    "shuffle_nodes": true
  },
  "init": {"p_coop": 0.5},
  "dynamics": {"theta": 0.5},
  "mapping": {
    "beta_min": 0.5,
    "beta_max": 6.0,
    "p_flip_min": 0.0,
    "p_flip_max": 0.05,
    "p_flip_drive": "v",
    "p_flip_escape": {"b_mu_below": 0.05, "u_above": 0.8},
    "theta_mode": "linear",
    "use_constraint_decomp": true
  },
  "observation": {"edge_sample_prob": 0.2, "count_noise": {"type": "none"}},
  "detector": {"alpha0": [1, 1, 1], "rho": 0.98, "k_mc": 200, "alpha_v": 0.2},
  "controller": {
    "u0": 0.2,
    "gamma": 0.2,
    "pi": {"type": "smoothstep", "lo": 0.1, "hi": 0.6},
    "b_eff_mode": "raw"
  },
  "ethics": {"mu_min": 0.6, "eta_max": 0.4, "v_max": 0.02, "mu_disp_max": 0.12, "mu_disp_mode": "risk", "risk_k_mc": 64},
  "meso": {
    "min_total_edges": 2.0,
    "community_detection": {"type": "label_propagation", "max_iters": 25, "shuffle": true, "every_steps": 5}
  },
  "topology_actuator": {
    "enabled": true,
    "type": "bridge_quantiles",
    "every_steps": 1,
    "cooldown_steps": 10,
    "budget_max": 10,
    "u_min": 0.05,
    "u_power": 1.0,
    "disp_power": 1.0,
    "remove_strategy": "random_edge",
    "max_tries": 50,
    "low_frac": 0.3,
    "high_frac": 0.3
  },
  "diagnostics": {"stuck": {"u_above": 0.8, "b_mu_below": 0.05, "db_mu_below": 0.001, "consecutive": 10}},
  "stress": {
    "shocks": [{"t": 60, "frac_flip": 0.25, "mode": "random"}],
    "rewires": [{"t": 120, "prob": 0.2}]
  }
}
