{
  "schema_version": 1,
  "status": "exact population illustration, not empirical validation",
  "primary_anchor": "https://proceedings.mlr.press/v119/perdomo20a.html",
  "assumptions": [
    "Independent factory batches with exact population rates; no sampling noise",
    "Two actions: 0 is no prevention and 1 is prevention",
    "Fixed response p(a) = baseline - effect * action with no carryover",
    "Boundary decisions and trajectories use exact decimal-rational arithmetic",
    "q is the last observed on-policy rate, not untreated risk",
    "The naive threshold controller ignores preventive cost",
    "The oracle comparison knows both action-specific risks and is not a learning benchmark"
  ],
  "baseline_parameters": {
    "baseline": 0.8,
    "effect": 0.6,
    "threshold": 0.5,
    "initial_rate": 0.8
  },
  "baseline_phase": {
    "low_rate_under_action_1": 0.2,
    "high_rate_under_action_0": 0.8,
    "limit_cycle_condition": "low_rate < threshold <= high_rate",
    "tie_rule": "action 1 when q >= threshold",
    "initial_rate": 0.8,
    "initial_action": 1,
    "eventual_behavior": "two_cycle",
    "period": 2
  },
  "baseline_trajectory": [
    {
      "round": 0,
      "q": 0.8,
      "action": 1,
      "defect_probability": 0.2,
      "loss": 0.2
    },
    {
      "round": 1,
      "q": 0.2,
      "action": 0,
      "defect_probability": 0.8,
      "loss": 0.8
    },
    {
      "round": 2,
      "q": 0.8,
      "action": 1,
      "defect_probability": 0.2,
      "loss": 0.2
    },
    {
      "round": 3,
      "q": 0.2,
      "action": 0,
      "defect_probability": 0.8,
      "loss": 0.8
    },
    {
      "round": 4,
      "q": 0.8,
      "action": 1,
      "defect_probability": 0.2,
      "loss": 0.2
    },
    {
      "round": 5,
      "q": 0.2,
      "action": 0,
      "defect_probability": 0.8,
      "loss": 0.8
    },
    {
      "round": 6,
      "q": 0.8,
      "action": 1,
      "defect_probability": 0.2,
      "loss": 0.2
    },
    {
      "round": 7,
      "q": 0.2,
      "action": 0,
      "defect_probability": 0.8,
      "loss": 0.8
    }
  ],
  "cost_comparisons": [
    {
      "preventive_cost": 0.0,
      "always_action_0": {
        "defect_probability": 0.8,
        "loss": 0.8
      },
      "always_action_1": {
        "defect_probability": 0.2,
        "loss": 0.2
      },
      "naive_threshold_long_run": {
        "eventual_behavior": "two_cycle",
        "action_1_rate": 0.5,
        "average_defect_probability": 0.5,
        "average_loss": 0.5
      },
      "oracle_conditional_policy": {
        "privilege": "oracle knows both action-specific defect probabilities",
        "tie_rule": "choose action 1 when its loss equals action 0 loss",
        "action": 1,
        "defect_probability": 0.2,
        "loss": 0.2
      }
    },
    {
      "preventive_cost": 0.2,
      "always_action_0": {
        "defect_probability": 0.8,
        "loss": 0.8
      },
      "always_action_1": {
        "defect_probability": 0.2,
        "loss": 0.4
      },
      "naive_threshold_long_run": {
        "eventual_behavior": "two_cycle",
        "action_1_rate": 0.5,
        "average_defect_probability": 0.5,
        "average_loss": 0.6
      },
      "oracle_conditional_policy": {
        "privilege": "oracle knows both action-specific defect probabilities",
        "tie_rule": "choose action 1 when its loss equals action 0 loss",
        "action": 1,
        "defect_probability": 0.2,
        "loss": 0.4
      }
    },
    {
      "preventive_cost": 0.6,
      "always_action_0": {
        "defect_probability": 0.8,
        "loss": 0.8
      },
      "always_action_1": {
        "defect_probability": 0.2,
        "loss": 0.8
      },
      "naive_threshold_long_run": {
        "eventual_behavior": "two_cycle",
        "action_1_rate": 0.5,
        "average_defect_probability": 0.5,
        "average_loss": 0.8
      },
      "oracle_conditional_policy": {
        "privilege": "oracle knows both action-specific defect probabilities",
        "tie_rule": "choose action 1 when its loss equals action 0 loss",
        "action": 1,
        "defect_probability": 0.2,
        "loss": 0.8
      }
    },
    {
      "preventive_cost": 0.8,
      "always_action_0": {
        "defect_probability": 0.8,
        "loss": 0.8
      },
      "always_action_1": {
        "defect_probability": 0.2,
        "loss": 1.0
      },
      "naive_threshold_long_run": {
        "eventual_behavior": "two_cycle",
        "action_1_rate": 0.5,
        "average_defect_probability": 0.5,
        "average_loss": 0.9
      },
      "oracle_conditional_policy": {
        "privilege": "oracle knows both action-specific defect probabilities",
        "tie_rule": "choose action 1 when its loss equals action 0 loss",
        "action": 0,
        "defect_probability": 0.8,
        "loss": 0.8
      }
    }
  ],
  "phase_cases": [
    {
      "name": "cycle_start_high",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.5,
        "initial_rate": 0.8
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.8,
        "initial_action": 1,
        "eventual_behavior": "two_cycle",
        "period": 2
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 1,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 2,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 3,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 4,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 5,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        }
      ]
    },
    {
      "name": "cycle_start_low",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.5,
        "initial_rate": 0.2
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.2,
        "initial_action": 0,
        "eventual_behavior": "two_cycle",
        "period": 2
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 1,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 2,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 3,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 4,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 5,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        }
      ]
    },
    {
      "name": "initial_tie",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.5,
        "initial_rate": 0.5
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.5,
        "initial_action": 1,
        "eventual_behavior": "two_cycle",
        "period": 2
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.5,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 1,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 2,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 3,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 4,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 5,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        }
      ]
    },
    {
      "name": "threshold_at_low_rate",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.2,
        "initial_rate": 0.2
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.2,
        "initial_action": 1,
        "eventual_behavior": "eventually_fixed_action_1",
        "period": 1
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 1,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 2,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 3,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 4,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 5,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        }
      ]
    },
    {
      "name": "threshold_at_high_rate",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.8,
        "initial_rate": 0.8
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.8,
        "initial_action": 1,
        "eventual_behavior": "two_cycle",
        "period": 2
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 1,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 2,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 3,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 4,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 5,
          "q": 0.2,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        }
      ]
    },
    {
      "name": "threshold_below_interval",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.1,
        "initial_rate": 0.8
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.8,
        "initial_action": 1,
        "eventual_behavior": "eventually_fixed_action_1",
        "period": 1
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 1,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 2,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 3,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 4,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        },
        {
          "round": 5,
          "q": 0.2,
          "action": 1,
          "defect_probability": 0.2,
          "loss": 0.2
        }
      ]
    },
    {
      "name": "threshold_above_interval",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.6,
        "threshold": 0.9,
        "initial_rate": 0.8
      },
      "phase": {
        "low_rate_under_action_1": 0.2,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.8,
        "initial_action": 0,
        "eventual_behavior": "eventually_fixed_action_0",
        "period": 1
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.8,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 1,
          "q": 0.8,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 2,
          "q": 0.8,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 3,
          "q": 0.8,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 4,
          "q": 0.8,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 5,
          "q": 0.8,
          "action": 0,
          "defect_probability": 0.8,
          "loss": 0.8
        }
      ]
    },
    {
      "name": "no_action_effect",
      "parameters": {
        "baseline": 0.8,
        "effect": 0.0,
        "threshold": 0.5,
        "initial_rate": 0.8
      },
      "phase": {
        "low_rate_under_action_1": 0.8,
        "high_rate_under_action_0": 0.8,
        "limit_cycle_condition": "low_rate < threshold <= high_rate",
        "tie_rule": "action 1 when q >= threshold",
        "initial_rate": 0.8,
        "initial_action": 1,
        "eventual_behavior": "eventually_fixed_action_1",
        "period": 1
      },
      "trajectory": [
        {
          "round": 0,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 1,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 2,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 3,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 4,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.8,
          "loss": 0.8
        },
        {
          "round": 5,
          "q": 0.8,
          "action": 1,
          "defect_probability": 0.8,
          "loss": 0.8
        }
      ]
    }
  ],
  "observational_equivalence": {
    "deployed_action": 1,
    "observed_on_policy_probability": 0.8,
    "worlds": [
      {
        "name": "no_action_effect",
        "mechanism": "p(a) = 0.8 + 0.0a",
        "p_action_0": 0.8,
        "p_action_1": 0.8
      },
      {
        "name": "positive_action_response",
        "mechanism": "p(a) = 0.2 + 0.6a",
        "p_action_0": 0.2,
        "p_action_1": 0.8
      }
    ],
    "boundary": "Observing only action 1 cannot distinguish these mechanisms; the positive-response example is distinct from the preventive factory model."
  }
}
