{
  "version": 1,
  "canonicals": {
    "midlarge-liquid-long-v1_bucketfix_full_audit_canonical": {
      "purpose": "main",
      "refresh_policy": "auto_full_rebuild",
      "universe_profile": "midlarge-liquid-long-v1",
      "label_version": "label-2.0.0",
      "start_date": "2022-03-01",
      "end_date": null,
      "feature_versions": [
        "market_v1",
        "event_v1",
        "text_v1",
        "earnings_surprise_v1"
      ],
      "feature_sets": [
        "base",
        "earnings_history",
        "peer_surprise",
        "catalyst_persistence",
        "tier2",
        "tier3",
        "technical",
        "macro",
        "prior_drift"
      ],
      "enrichment_steps": [
        "base_export",
        "earnings_history_enrich",
        "peer_surprise_enrich",
        "catalyst_persistence_enrich",
        "tier2_enrich",
        "tier3_enrich",
        "technical_enrich",
        "macro_enrich",
        "prior_drift_enrich"
      ],
      "expected_feature_columns": [
        "pre_event_hurst_60d",
        "pre_event_entropy_60d",
        "pre_event_short_ratio",
        "pre_event_sector_momentum_20d",
        "pre_event_ou_theta_60d",
        "pre_event_gravitational_pull",
        "pre_event_market_temperature",
        "pre_event_volatility_20d",
        "pre_event_rsi_14",
        "pre_event_bb_position",
        "pre_event_obv_slope_20d",
        "macro_vix",
        "macro_hy_spread",
        "macro_t10y2y",
        "prior_event_fwd5d",
        "lm_positive_pct",
        "lm_negative_pct",
        "lm_net_sentiment",
        "lm_uncertainty_pct",
        "lm_word_count",
        "reported_eps",
        "estimated_eps",
        "earnings_surprise_pct",
        "earnings_beat",
        "sue_lag_1_pct",
        "sue_lag_2_pct",
        "sue_lag_3_pct",
        "sue_lag_4_pct",
        "sue_lag_5_pct",
        "sue_lag_6_pct",
        "sue_lag_7_pct",
        "sue_lag_8_pct",
        "sue_lag_9_pct",
        "sue_lag_10_pct",
        "sue_lag_11_pct",
        "sue_lag_12_pct",
        "sue_hist_mean_4q",
        "sue_hist_mean_8q",
        "sue_hist_mean_12q",
        "sue_hist_pos_rate_4q",
        "sue_hist_pos_rate_12q",
        "sue_hist_latest_pct",
        "sue_hist_streak_pos",
        "sector",
        "peer_sector_event_count_365d",
        "peer_sector_surprise_median_365d",
        "peer_sector_surprise_mean_365d",
        "peer_sector_surprise_pos_rate_365d",
        "peer_relative_surprise_pct_365d",
        "peer_sector_sue_hist_mean_4q_median_365d",
        "peer_sector_sue_hist_mean_4q_mean_365d",
        "peer_relative_sue_hist_mean_4q_365d",
        "peer_sector_sue_hist_pos_rate_4q_mean_365d",
        "prior_catalyst_count_20d",
        "prior_catalyst_count_60d",
        "prior_catalyst_type_diversity_20d",
        "prior_catalyst_type_diversity_60d"
      ]
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2": {
      "purpose": "main_ftb_fix",
      "refresh_policy": "auto_full_rebuild",
      "universe_profile": "midlarge-liquid-long-v1",
      "label_version": "label-2.0.0",
      "start_date": "2022-03-01",
      "end_date": null,
      "feature_versions": [
        "market_v1",
        "event_v1",
        "text_v1",
        "earnings_surprise_v1"
      ],
      "feature_sets": [
        "base",
        "earnings_history",
        "peer_surprise",
        "catalyst_persistence",
        "tier2",
        "tier3",
        "technical",
        "macro",
        "prior_drift"
      ],
      "enrichment_steps": [
        "base_export",
        "earnings_history_enrich",
        "peer_surprise_enrich",
        "catalyst_persistence_enrich",
        "tier2_enrich",
        "tier3_enrich",
        "technical_enrich",
        "macro_enrich",
        "prior_drift_enrich"
      ],
      "expected_feature_columns": [
        "pre_event_hurst_60d",
        "pre_event_entropy_60d",
        "pre_event_short_ratio",
        "pre_event_sector_momentum_20d",
        "pre_event_ou_theta_60d",
        "pre_event_gravitational_pull",
        "pre_event_market_temperature",
        "pre_event_volatility_20d",
        "pre_event_rsi_14",
        "pre_event_bb_position",
        "pre_event_obv_slope_20d",
        "macro_vix",
        "macro_hy_spread",
        "macro_t10y2y",
        "prior_event_fwd5d",
        "lm_positive_pct",
        "lm_negative_pct",
        "lm_net_sentiment",
        "lm_uncertainty_pct",
        "lm_word_count",
        "reported_eps",
        "estimated_eps",
        "earnings_surprise_pct",
        "earnings_beat",
        "sue_lag_1_pct",
        "sue_lag_2_pct",
        "sue_lag_3_pct",
        "sue_lag_4_pct",
        "sue_lag_5_pct",
        "sue_lag_6_pct",
        "sue_lag_7_pct",
        "sue_lag_8_pct",
        "sue_lag_9_pct",
        "sue_lag_10_pct",
        "sue_lag_11_pct",
        "sue_lag_12_pct",
        "sue_hist_mean_4q",
        "sue_hist_mean_8q",
        "sue_hist_mean_12q",
        "sue_hist_pos_rate_4q",
        "sue_hist_pos_rate_12q",
        "sue_hist_latest_pct",
        "sue_hist_streak_pos",
        "sector",
        "peer_sector_event_count_365d",
        "peer_sector_surprise_median_365d",
        "peer_sector_surprise_mean_365d",
        "peer_sector_surprise_pos_rate_365d",
        "peer_relative_surprise_pct_365d",
        "peer_sector_sue_hist_mean_4q_median_365d",
        "peer_sector_sue_hist_mean_4q_mean_365d",
        "peer_relative_sue_hist_mean_4q_365d",
        "peer_sector_sue_hist_pos_rate_4q_mean_365d",
        "prior_catalyst_count_20d",
        "prior_catalyst_count_60d",
        "prior_catalyst_type_diversity_20d",
        "prior_catalyst_type_diversity_60d"
      ]
    },
    "broad-liquid-long-v1_bucketfix_full_audit_canonical": {
      "purpose": "broad_universe_experiment",
      "refresh_policy": "auto_full_rebuild",
      "universe_profile": "broad-liquid-long-v1",
      "label_version": "label-2.0.0",
      "start_date": "2022-03-01",
      "end_date": null,
      "feature_versions": [
        "market_v1",
        "event_v1",
        "text_v1",
        "earnings_surprise_v1"
      ],
      "feature_sets": [
        "base",
        "earnings_history",
        "peer_surprise",
        "catalyst_persistence",
        "tier2",
        "tier3",
        "technical",
        "macro",
        "prior_drift"
      ],
      "enrichment_steps": [
        "base_export",
        "earnings_history_enrich",
        "peer_surprise_enrich",
        "catalyst_persistence_enrich",
        "tier2_enrich",
        "tier3_enrich",
        "technical_enrich",
        "macro_enrich",
        "prior_drift_enrich"
      ],
      "expected_feature_columns": [
        "pre_event_hurst_60d",
        "pre_event_entropy_60d",
        "pre_event_short_ratio",
        "pre_event_sector_momentum_20d",
        "pre_event_ou_theta_60d",
        "pre_event_gravitational_pull",
        "pre_event_market_temperature",
        "pre_event_volatility_20d",
        "pre_event_rsi_14",
        "pre_event_bb_position",
        "pre_event_obv_slope_20d",
        "macro_vix",
        "macro_hy_spread",
        "macro_t10y2y",
        "prior_event_fwd5d",
        "lm_positive_pct",
        "lm_negative_pct",
        "lm_net_sentiment",
        "lm_uncertainty_pct",
        "lm_word_count",
        "reported_eps",
        "estimated_eps",
        "earnings_surprise_pct",
        "earnings_beat",
        "sue_lag_1_pct",
        "sue_lag_2_pct",
        "sue_lag_3_pct",
        "sue_lag_4_pct",
        "sue_lag_5_pct",
        "sue_lag_6_pct",
        "sue_lag_7_pct",
        "sue_lag_8_pct",
        "sue_lag_9_pct",
        "sue_lag_10_pct",
        "sue_lag_11_pct",
        "sue_lag_12_pct",
        "sue_hist_mean_4q",
        "sue_hist_mean_8q",
        "sue_hist_mean_12q",
        "sue_hist_pos_rate_4q",
        "sue_hist_pos_rate_12q",
        "sue_hist_latest_pct",
        "sue_hist_streak_pos",
        "sector",
        "peer_sector_event_count_365d",
        "peer_sector_surprise_median_365d",
        "peer_sector_surprise_mean_365d",
        "peer_sector_surprise_pos_rate_365d",
        "peer_relative_surprise_pct_365d",
        "peer_sector_sue_hist_mean_4q_median_365d",
        "peer_sector_sue_hist_mean_4q_mean_365d",
        "peer_relative_sue_hist_mean_4q_365d",
        "peer_sector_sue_hist_pos_rate_4q_mean_365d",
        "prior_catalyst_count_20d",
        "prior_catalyst_count_60d",
        "prior_catalyst_type_diversity_20d",
        "prior_catalyst_type_diversity_60d"
      ]
    },
    "pead_v931_iluk": {
      "purpose": "personal_dev_iluk",
      "refresh_policy": "manual_only",
      "universe_profile": "midlarge-liquid-long-v1",
      "label_version": "label-2.0.0",
      "start_date": "2022-01-01",
      "end_date": null,
      "notes": "Personal snapshot for v9.3.x development (iluk). Forked from pead_dualconv_ftb_fix_v2_probe on 2026-05-12. Isolated from shared snapshot to avoid contention with other AI sessions. Manual refresh only."
    },
    "midlarge-liquid-long-v1-oot-2020-2021_canonical": {
      "purpose": "oot",
      "refresh_policy": "manual_only",
      "universe_profile": null,
      "start_date": "2020-01-01",
      "end_date": "2021-12-31",
      "feature_versions": [
        "market_v1",
        "event_v1"
      ],
      "feature_sets": [
        "base",
        "catalyst_persistence",
        "tier2",
        "tier3",
        "technical",
        "macro",
        "prior_drift"
      ],
      "enrichment_steps": [
        "base_export",
        "catalyst_persistence_enrich",
        "tier2_enrich",
        "tier3_enrich",
        "technical_enrich",
        "macro_enrich",
        "prior_drift_enrich"
      ],
      "expected_feature_columns": [
        "pre_event_hurst_60d",
        "pre_event_entropy_60d",
        "pre_event_short_ratio",
        "pre_event_sector_momentum_20d",
        "pre_event_ou_theta_60d",
        "pre_event_gravitational_pull",
        "pre_event_market_temperature",
        "pre_event_volatility_20d",
        "pre_event_rsi_14",
        "pre_event_bb_position",
        "pre_event_obv_slope_20d",
        "macro_vix",
        "macro_hy_spread",
        "macro_t10y2y",
        "prior_event_fwd5d",
        "prior_catalyst_count_20d",
        "prior_catalyst_count_60d",
        "prior_catalyst_type_diversity_20d",
        "prior_catalyst_type_diversity_60d"
      ]
    }
  },
  "aliases": {
    "midlarge-liquid-long-v1_bucketfix_full_audit": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "base"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_tier2": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "tier2"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_tier3": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "tier3"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_tier3tech": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "tier3tech"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_mom": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "momentum"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_mom2": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "momentum_v2"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_mom_v2": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "momentum_v2"
    },
    "midlarge-liquid-long-v1_bucketfix_full_audit_tech": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "technical"
    },
    "midlarge-liquid-long-v1_bucketfix_macro_priordrift_canonical": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "macro_prior_drift"
    },
    "midlarge-liquid-long-v1_bucketfix_macro_priordrift_canonical_mom2": {
      "canonical_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_main",
      "expected_feature_set": "macro_prior_drift"
    },
    "midlarge-liquid-long-v1-oot-2020-2021": {
      "canonical_id": "midlarge-liquid-long-v1-oot-2020-2021_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_oot",
      "expected_feature_set": "base"
    },
    "midlarge-liquid-long-v1-oot-2020-2021_tier2": {
      "canonical_id": "midlarge-liquid-long-v1-oot-2020-2021_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_oot",
      "expected_feature_set": "tier2"
    },
    "midlarge-liquid-long-v1-oot-2020-2021_tier3": {
      "canonical_id": "midlarge-liquid-long-v1-oot-2020-2021_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_oot",
      "expected_feature_set": "tier3"
    },
    "midlarge-liquid-long-v1-oot-2020-2021_tier3tech_sparse": {
      "canonical_id": "midlarge-liquid-long-v1-oot-2020-2021_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_oot",
      "expected_feature_set": "tier3tech_sparse"
    },
    "midlarge-liquid-long-v1-oot-2020-2021_mom_v2": {
      "canonical_id": "midlarge-liquid-long-v1-oot-2020-2021_canonical",
      "refresh_policy": "alias",
      "purpose": "legacy_oot",
      "expected_feature_set": "momentum_v2"
    }
  }
}
