{
  "schema_version": "fwdvar_diagnostics_v4",
  "issues": [
    {
      "code": "low_tier",
      "scope": "expiry",
      "severity": "WARN",
      "expiry_dt": "2026-06-09",
      "interval_from": null,
      "interval_to": null,
      "strike": null,
      "target_key": "2026-06-09",
      "message_short": "LOW tier (direct straddle)",
      "message_long": "Accept tier: LOW (DIRECT_STRADDLE_ONLY path)",
      "metrics": {}
    },
    {
      "code": "rejected",
      "scope": "expiry",
      "severity": "INFO",
      "expiry_dt": "2026-09-29",
      "interval_from": null,
      "interval_to": null,
      "strike": null,
      "target_key": "2026-09-29",
      "message_short": "Rejected: missing_quotes",
      "message_long": "Expiry rejected: missing_quotes",
      "metrics": {
        "reject_reason": "missing_quotes"
      }
    },
    {
      "code": "rejected",
      "scope": "expiry",
      "severity": "INFO",
      "expiry_dt": "2027-03-30",
      "interval_from": null,
      "interval_to": null,
      "strike": null,
      "target_key": "2027-03-30",
      "message_short": "Rejected: insufficient_strikes",
      "message_long": "Expiry rejected: insufficient_strikes",
      "metrics": {
        "reject_reason": "insufficient_strikes"
      }
    },
    {
      "code": "low_source",
      "scope": "interval",
      "severity": "WARN",
      "expiry_dt": null,
      "interval_from": "2026-05-26",
      "interval_to": "2026-06-02",
      "strike": null,
      "target_key": "05-26\u219206-02",
      "message_short": "LOW confidence",
      "message_long": "Event confidence: LOW (baseline not robust)",
      "metrics": {
        "confidence": "LOW"
      }
    },
    {
      "code": "baseline_fallback",
      "scope": "interval",
      "severity": "WARN",
      "expiry_dt": null,
      "interval_from": "2026-06-02",
      "interval_to": "2026-06-09",
      "strike": null,
      "target_key": "06-02\u219206-09",
      "message_short": "Baseline fallback",
      "message_long": "Baseline quality: FALLBACK (edge case)",
      "metrics": {
        "baseline_n": 0
      }
    },
    {
      "code": "baseline_fallback",
      "scope": "interval",
      "severity": "WARN",
      "expiry_dt": null,
      "interval_from": "2026-06-09",
      "interval_to": "2026-06-30",
      "strike": null,
      "target_key": "06-09\u219206-30",
      "message_short": "Baseline fallback",
      "message_long": "Baseline quality: FALLBACK (edge case)",
      "metrics": {
        "baseline_n": 1
      }
    },
    {
      "code": "low_source",
      "scope": "interval",
      "severity": "WARN",
      "expiry_dt": null,
      "interval_from": "2026-06-09",
      "interval_to": "2026-06-30",
      "strike": null,
      "target_key": "06-09\u219206-30",
      "message_short": "LOW confidence",
      "message_long": "Event confidence: LOW (baseline not robust)",
      "metrics": {
        "confidence": "LOW"
      }
    },
    {
      "code": "low_source",
      "scope": "interval",
      "severity": "WARN",
      "expiry_dt": null,
      "interval_from": "2026-07-28",
      "interval_to": "2026-12-29",
      "strike": null,
      "target_key": "07-28\u219212-29",
      "message_short": "LOW confidence",
      "message_long": "Event confidence: LOW (baseline not robust)",
      "metrics": {
        "confidence": "LOW"
      }
    },
    {
      "code": "low_coverage",
      "scope": "run",
      "severity": "WARN",
      "expiry_dt": null,
      "interval_from": null,
      "interval_to": null,
      "strike": null,
      "target_key": "run",
      "message_short": "Low coverage (28%)",
      "message_long": "Weighted-mid coverage: 28.0% (threshold: 50%)",
      "metrics": {
        "avg_coverage": 27.95918367346939,
        "threshold": 50.0
      }
    }
  ],
  "summary": {
    "total": 9,
    "fail_count": 0,
    "warn_count": 7,
    "info_count": 2
  },
  "derived": {
    "structure_summary": {
      "iv_7d": {
        "pct": 27.58499313269718,
        "pct_cal": 15.38864021850635,
        "actual_dte": 6,
        "expiry_date": "2026-05-12",
        "tau_eff": 0.005118155386953741,
        "tau_cal": 0.016445941271452838,
        "tau_ratio": 3.2132555633957116
      },
      "iv_30d": {
        "pct": 27.336343154157326,
        "pct_cal": 15.249226300478488,
        "actual_dte": 27,
        "expiry_date": "2026-06-02",
        "tau_eff": 0.02300906520036626,
        "tau_cal": 0.07394080780122696,
        "tau_ratio": 3.213551144183379
      },
      "iv_90d": {
        "pct": 26.116759042886617,
        "pct_cal": 14.628961764626268,
        "actual_dte": 83,
        "expiry_date": "2026-07-28",
        "tau_eff": 0.07130374019120955,
        "tau_cal": 0.22726045188062463,
        "tau_ratio": 3.1872164247092565
      },
      "front_slope_pct": -0.24864997853984994,
      "back_slope_pct": -1.2195841112707106,
      "max_fwd_vol_pct": 27.822300535593712,
      "max_fwd_vol_interval": {
        "from": "2026-05-19",
        "to": "2026-05-26"
      },
      "max_fwd_vol_dte_range": {
        "start_dte": 13,
        "end_dte": 20
      },
      "neg_interval_count": 0,
      "clock_primary": "variance_time",
      "clock_secondary": "calendar",
      "vt_vintage": "202604",
      "beta_on": 0.14112572167590545,
      "beta_we": 0.18483076859226696,
      "quote_context_dt": "2026-05-06T15:20:05.563732+05:30",
      "effective_quote_policy": "weighted_mid",
      "tau_mode_math": "variance_time",
      "rr_25d": null,
      "fly_25d": null,
      "put_iv_25d": null,
      "call_iv_25d": null,
      "rr_fly_diagnostics": null
    },
    "interval_leaderboard": {
      "highest": [
        {
          "from": "2026-05-19",
          "to": "2026-05-26",
          "start_dte": 13,
          "end_dte": 20,
          "forward_vol": 0.27822300535593714,
          "forward_variance": 0.07740804070928982
        },
        {
          "from": "2026-05-26",
          "to": "2026-06-02",
          "start_dte": 20,
          "end_dte": 27,
          "forward_vol": 0.2724194053404755,
          "forward_variance": 0.07421233240605828
        },
        {
          "from": "2026-06-09",
          "to": "2026-06-30",
          "start_dte": 34,
          "end_dte": 55,
          "forward_vol": 0.27225614929397024,
          "forward_variance": 0.0741234108283806
        },
        {
          "from": "2026-05-12",
          "to": "2026-05-19",
          "start_dte": 6,
          "end_dte": 13,
          "forward_vol": 0.2671741958969546,
          "forward_variance": 0.07138205095318428
        },
        {
          "from": "2026-06-30",
          "to": "2026-07-28",
          "start_dte": 55,
          "end_dte": 83,
          "forward_vol": 0.24519845427757422,
          "forward_variance": 0.06012228198011166
        }
      ],
      "lowest": [
        {
          "from": "2026-07-28",
          "to": "2026-12-29",
          "start_dte": 83,
          "end_dte": 237,
          "forward_vol": 0.2192846298469201,
          "forward_variance": 0.048085748887100765
        },
        {
          "from": "2026-06-02",
          "to": "2026-06-09",
          "start_dte": 27,
          "end_dte": 34,
          "forward_vol": 0.24226225200642063,
          "forward_variance": 0.05869099874722245
        },
        {
          "from": "2026-06-30",
          "to": "2026-07-28",
          "start_dte": 55,
          "end_dte": 83,
          "forward_vol": 0.24519845427757422,
          "forward_variance": 0.06012228198011166
        },
        {
          "from": "2026-05-12",
          "to": "2026-05-19",
          "start_dte": 6,
          "end_dte": 13,
          "forward_vol": 0.2671741958969546,
          "forward_variance": 0.07138205095318428
        },
        {
          "from": "2026-06-09",
          "to": "2026-06-30",
          "start_dte": 34,
          "end_dte": 55,
          "forward_vol": 0.27225614929397024,
          "forward_variance": 0.0741234108283806
        }
      ],
      "neg_intervals": []
    },
    "forward_volatility_matrix": {
      "schema_version": "fwdvol_matrix_v2",
      "status": "available",
      "expiry_filter_policy_version": "usable_expiries_v1",
      "expiry_dates": [
        "2026-05-12",
        "2026-05-19",
        "2026-05-26",
        "2026-06-02",
        "2026-06-09",
        "2026-06-30",
        "2026-07-28",
        "2026-12-29"
      ],
      "dte_days": [
        6,
        13,
        20,
        27,
        34,
        55,
        83,
        237
      ],
      "matrix_fwdvol_pct": [
        [
          null,
          26.717419589695464,
          27.275455235657763,
          27.26479327904135,
          26.525359549666994,
          26.825887793690644,
          25.999766451325506,
          23.36736433983948
        ],
        [
          null,
          null,
          27.822300535593712,
          27.543600592314345,
          26.459573559064488,
          26.844376570196935,
          25.925818776581792,
          23.253082050327336
        ],
        [
          null,
          null,
          null,
          27.241940534047547,
          25.726537416268908,
          26.638399462314023,
          25.702801032981444,
          23.087923925783212
        ],
        [
          null,
          null,
          null,
          null,
          24.226225200642062,
          26.492587712891307,
          25.515217467010622,
          22.94445961637112
        ],
        [
          null,
          null,
          null,
          null,
          null,
          27.225614929397025,
          25.69616357885007,
          22.898277363488486
        ],
        [
          null,
          null,
          null,
          null,
          null,
          null,
          24.51984542775742,
          22.352532797221258
        ],
        [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          21.92846298469201
        ],
        [
          null,
          null,
          null,
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "neg_mask": [
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ],
        [
          false,
          false,
          false,
          false,
          false,
          false,
          false,
          false
        ]
      ],
      "clip": {
        "method": "percentile",
        "p_lo": 5,
        "p_hi": 95,
        "vmin": 22.543543395414787,
        "vmax": 27.44974971748454
      },
      "usable_count": 8,
      "excluded": []
    },
    "expiry_quality_summary": {
      "schema_version": "expiry_quality_summary_v1",
      "filter_policy_version": "usable_expiries_v1",
      "total_count": 10,
      "usable_count": 8,
      "excluded": [
        {
          "expiry_date": "2026-09-29",
          "dte_days": 146,
          "reject_reason": "missing_quotes",
          "accept_tier": null,
          "why": "missing_quotes"
        },
        {
          "expiry_date": "2027-03-30",
          "dte_days": 328,
          "reject_reason": "insufficient_strikes",
          "accept_tier": null,
          "why": "insufficient_strikes"
        }
      ]
    },
    "build_metadata": {
      "git_commit": "a04d9b33",
      "build_timestamp": "2026-05-06T09:50:12.847155+00:00",
      "python_version": "3.13"
    },
    "request_echo": {
      "event_windows_requested": false,
      "sliding_windows_requested": false,
      "diagnostics_level": "lite",
      "tau_mode": "variance_time",
      "event_windows_exported": false,
      "event_windows_count": 0,
      "sliding_windows_exported": false,
      "ui_presets_exported": true,
      "ui_presets_events_count": 0,
      "ui_presets_missing_reason": null,
      "required_iv_tenors": []
    },
    "ui_limits": {
      "max_horizon_days": 56,
      "max_horizon_label": "8w_liquid",
      "min_horizon_days": 0,
      "tz": "Asia/Kolkata",
      "notes": "UI clamps horizon; avoid LEAPS/illiquid expiries beyond 8 weeks"
    },
    "ui_capabilities": {
      "schema_version": "ui_capabilities_v1",
      "generated_at_utc": "2026-05-06T09:50:12.847608+00:00",
      "source": "volstrats.analytics.ui_capabilities.build_ui_capabilities",
      "filter_policy": {
        "name": "UI_GRADE",
        "version": "usable_expiries_v1"
      },
      "missing_reason": null,
      "features": {
        "forward_matrix_json": false,
        "quote_cards_html": false,
        "event_window_tool": false,
        "sliding_windows": false,
        "smile_density_plots": false,
        "chain_snapshots": false,
        "carry_data": true
      },
      "counts": {
        "usable_expiries": 8,
        "excluded_expiries": 2,
        "neg_cells": 0,
        "issues_fail": 0,
        "issues_warn": 7
      }
    },
    "ui_presets": {
      "schema_version": "ui_presets_v1",
      "generated_at_utc": "2026-05-06T09:50:12.851607+00:00",
      "asof_iso": "2026-05-06T15:20:05.563732+05:30",
      "asof_source": "structure_summary.quote_context_dt",
      "horizon_days": 56,
      "tz": "Asia/Kolkata",
      "source": "market_calendar.list_upcoming_events",
      "id_namespace": "market_calendar",
      "id_format": "CATEGORY_YYYYMM",
      "events": []
    }
  }
}