{
  "version": "V23",
  "purpose": "Close the experiment loop with immutable baselines and evidence-gated Keep / Extend / Revert outcomes.",
  "baseline_freeze_guardrails": [
    "Optimization Queue row must be READY",
    "Trend Watch history must be mature",
    "Real Awin transactions must be loaded",
    "Full Awin transaction window must be explicitly confirmed",
    "Trend period must equal the experiment review window before start",
    "Baseline stores approved commission only and one currency",
    "Baseline is immutable after experiment start"
  ],
  "evaluation_guardrails": [
    "Do not evaluate before planned review date",
    "Current Trend Watch period must equal the frozen baseline period",
    "Evaluate within a 3-day alignment grace after planned review date",
    "Minimum post-period click and approved-transaction evidence must be reached",
    "Never combine currencies",
    "Clicks alone cannot produce Keep for monetization experiments",
    "Revert requires material deterioration after minimum evidence"
  ],
  "outcomes": {
    "KEEP": "Retain the tested change because the primary metric improved and downstream economic guardrails held.",
    "EXTEND": "Evidence is incomplete, inconclusive, misaligned or below minimum thresholds; keep measuring without declaring a winner.",
    "REVERT": "Reverse the tested change because enough evidence shows material economic deterioration.",
    "RUNNING": "The planned review date has not been reached."
  },
  "thresholds": {
    "click_lift_keep_pct": 20,
    "commission_lift_keep_pct": 20,
    "cvr_lift_keep_pct": 15,
    "epc_guardrail_floor_vs_baseline_pct": 75,
    "cvr_revert_floor_vs_baseline_pct": 80,
    "commission_revert_floor_vs_baseline_pct": 80,
    "max_review_alignment_grace_days": 3
  },
  "automatic_production_edits": false
}
