{
  "state": {
    "library_size": 0,
    "recent_admissions": [],
    "recent_rejections": [
      {
        "factor_id": "momentum_reversal",
        "formula": "Neg(CsRank(Delta($close, 5)))",
        "reason": "Signal computation error: Expression evaluation failed for 'Neg(CsRank(Delta($close, 5)))': \"Feature '$close' not found in data. Available: ['$high', '$low', '$open']\"",
        "max_correlation": 0.0,
        "batch": 1
      },
      {
        "factor_id": "volume_surprise",
        "formula": "CsZScore(Div(Sub($volume, Mean($volume, 20)), Std($volume, 20)))",
        "reason": "Signal computation error: Expression evaluation failed for 'CsZScore(Div(Sub($volume, Mean($volume, 20)), Std($volume, 20)))': \"Feature '$volume' not found in data. Available: ['$high', '$low', '$open']\"",
        "max_correlation": 0.0,
        "batch": 1
      },
      {
        "factor_id": "price_range_ratio",
        "formula": "Div(Sub($high, $low), Add($high, $low))",
        "reason": "ICIR -0.3679 < threshold 0.5",
        "max_correlation": 0.0,
        "batch": 1
      },
      {
        "factor_id": "vwap_deviation",
        "formula": "CsRank(Div(Sub($close, $vwap), $vwap))",
        "reason": "Signal computation error: Expression evaluation failed for 'CsRank(Div(Sub($close, $vwap), $vwap))': \"Feature '$close' not found in data. Available: ['$high', '$low', '$open']\"",
        "max_correlation": 0.0,
        "batch": 1
      },
      {
        "factor_id": "return_skew",
        "formula": "Neg(Skew($returns, 20))",
        "reason": "Signal computation error: Expression evaluation failed for 'Neg(Skew($returns, 20))': \"Feature '$returns' not found in data. Available: ['$high', '$low', '$open']\"",
        "max_correlation": 0.0,
        "batch": 1
      }
    ],
    "domain_saturation": {
      "Other": 0.0
    },
    "admission_log": [
      {
        "batch": 1,
        "admitted": 0,
        "rejected": 5,
        "admission_rate": 0.0
      }
    ]
  },
  "success_patterns": [],
  "forbidden_directions": [],
  "insights": [
    {
      "insight": "Current direction is exhausted, need to pivot to new operator combinations",
      "evidence": "Batch 1: only 0/5 admitted (0%)",
      "batch_source": 1
    }
  ],
  "version": 1
}