{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-28 09:00 KST",
  "last_price": 60000.4,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.64,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.848,
      "setup_signals": [
        "현재가 $60,000.40은 EQ $60,372.25 아래의 discount 구간에 위치",
        "이전 bullish BOS 레벨 $60,245.00 및 $60,557.80 이후 깊은 되돌림 발생",
        "현재 되돌림 129.4%, 최대 되돌림 144.9%로 과매도성 discount 진입",
        "전일 고가 $60,697.60을 이미 상향 돌파한 이력 존재",
        "하단 후보 bullish OB가 $58,288.00~$58,944.00에 존재하나 아직 confirmed 상태는 아님"
      ],
      "reasoning": "확정 구조 관점에서는 최근 시퀀스가 CHoCH_bearish → BOS_bullish → BOS_bullish → CHoCH_bearish로 끝났고, 마지막 bearish CHoCH 기준 레벨이 $60,162.00이므로 단기 구조는 bearish 전환 경고가 우세하다. 다만 현재가는 $60,000.40으로 EQ $60,372.25 아래 discount에 있으며, range low $59,819.80 근처에서 깊은 되돌림 129.4%가 진행되어 bullish 재매집 setup이 형성되어 있다. 상승 재개를 확인하려면 최소 $60,162.00 회복 후 $60,245.00 BOS 레벨과 London high $60,303.20 위에서 수용이 필요하다. 반대로 $59,819.80을 이탈하면 discount 매수 setup은 실패로 보고, 전일 저가 $59,530.70 및 후보 bullish OB 상단 $58,944.00까지 유동성 탐색 가능성이 커진다.",
      "key_levels": {
        "support": [
          59819.8,
          59530.7,
          58944.0,
          58288.0
        ],
        "resistance": [
          60162.0,
          60245.0,
          60303.2,
          60372.25,
          60557.8,
          60697.6,
          60924.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,819.80",
      "risk_scenario": "$59,819.80 range low가 하방 이탈되면 현재 discount 기반 bullish setup은 무효화되며, 시장은 전일 저가 $59,530.70의 sell-side liquidity를 먼저 사냥할 가능성이 높다. 그 아래에서는 $58,944.00~$58,288.00 후보 bullish OB까지 하락 확장이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 58288.0,
          "top": 58944.0,
          "quality": "candidate",
          "score": 0.577
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 65,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 60648.0
          },
          {
            "type": "BOS_bullish",
            "level": 60245.0
          },
          {
            "type": "BOS_bullish",
            "level": 60557.8
          },
          {
            "type": "CHoCH_bearish",
            "level": 60162.0
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 60372.25,
        "range_high": 60924.7,
        "range_low": 59819.8,
        "bull_score": 7.3,
        "bear_score": 4.4,
        "setup_bias": "bullish",
        "setup_score": 0.848,
        "setup_signals": [
          "bullish BOS above $60,245.00",
          "bullish BOS above $60,557.80",
          "deep retracement 129.4% in discount zone",
          "broken previous day high $60,697.60"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 129.4,
        "deepest_retracement_pct": 144.9,
        "previous_day_high": 60697.6,
        "previous_day_low": 59530.7,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 60303.2,
            "low": 59819.8
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.848,\n  \"setup_signals\": [\n    \"현재가 $60,000.40은 EQ $60,372.25 아래의 discount 구간에 위치\",\n    \"이전 bullish BOS 레벨 $60,245.00 및 $60,557.80 이후 깊은 되돌림 발생\",\n    \"현재 되돌림 129.4%, 최대 되돌림 144.9%로 과매도성 discount 진입\",\n    \"전일 고가 $60,697.60을 이미 상향 돌파한 이력 존재\",\n    \"하단 후보 bullish OB가 $58,288.00~$58,944.00에 존재하나 아직 confirmed 상태는 아님\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 시퀀스가 CHoCH_bearish → BOS_bullish → BOS_bullish → CHoCH_bearish로 끝났고, 마지막 bearish CHoCH 기준 레벨이 $60,162.00이므로 단기 구조는 bearish 전환 경고가 우세하다. 다만 현재가는 $60,000.40으로 EQ $60,372.25 아래 discount에 있으며, range low $59,819.80 근처에서 깊은 되돌림 129.4%가 진행되어 bullish 재매집 setup이 형성되어 있다. 상승 재개를 확인하려면 최소 $60,162.00 회복 후 $60,245.00 BOS 레벨과 London high $60,303.20 위에서 수용이 필요하다. 반대로 $59,819.80을 이탈하면 discount 매수 setup은 실패로 보고, 전일 저가 $59,530.70 및 후보 bullish OB 상단 $58,944.00까지 유동성 탐색 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      59819.8,\n      59530.7,\n      58944.0,\n      58288.0\n    ],\n    \"resistance\": [\n      60162.0,\n      60245.0,\n      60303.2,\n      60372.25,\n      60557.8,\n      60697.6,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,819.80\",\n  \"risk_scenario\": \"$59,819.80 range low가 하방 이탈되면 현재 discount 기반 bullish setup은 무효화되며, 시장은 전일 저가 $59,530.70의 sell-side liquidity를 먼저 사냥할 가능성이 높다. 그 아래에서는 $58,944.00~$58,288.00 후보 bullish OB까지 하락 확장이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,000.40은 7일 범위 EQ $59,980.55 바로 위의 약한 프리미엄 구간에 위치",
        "현재가가 EMA20 $60,194.73, EMA240 $60,250.21, EMA120 $60,264.50 아래에 있어 단기 반등 시 EMA 클러스터가 저항으로 작용 가능",
        "최근 패턴에 bearish_engulfing@296 이후 bearish_harami@299가 출현하여 매수 반등 실패 신호",
        "bear_score 2.10이 bull_score 0.70보다 높아 최근 캔들 압력이 매도 우위",
        "고거래량 doji 및 bullish_harami가 있어 하락 추세 확정 전에는 $59,980.55 부근에서 단기 방어 가능성도 존재"
      ],
      "reasoning": "BTC/USDT는 현재 $60,000.40으로 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 있으며, 이 EMA 클러스터가 단기 저항대로 보입니다. 최근 5개 캔들은 상승보다 하락 반응이 더 뚜렷하고, bearish_engulfing@296 및 최신 bearish_harami@299가 확인되어 반등 실패형 캔들 흐름입니다. 다만 strict 등급의 bullish_harami 품질 0.718이 고거래량으로 잡혔고, 7일 EQ $59,980.55 바로 위에 있어 구조적으로는 아직 명확한 하방 BOS가 확인되지 않은 중립 구간입니다. 따라서 확정 구조는 neutral이지만, 사전 실행 셋업은 EMA 저항과 약한 프리미엄 위치를 근거로 bearish 쪽이 우세합니다.",
      "key_levels": {
        "support": [
          59980.55,
          59850.84,
          58030.0
        ],
        "resistance": [
          60194.73,
          60250.21,
          60264.5,
          61931.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,264.50 이상 15분봉 종가 안착",
      "risk_scenario": "반대로 $60,264.50 EMA120 위로 종가가 안착하면 bearish_harami와 bearish_engulfing의 하락 압력이 무효화되고, $60,194.73~$60,264.50 EMA 클러스터가 지지로 전환되며 $61,931.10 7일 고점 방향의 재상승 시나리오가 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 147,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@290",
          "bearish_engulfing@296",
          "doji@293",
          "bullish_harami@293",
          "bearish_harami@299"
        ],
        "atr_value": 149.56,
        "vol_avg_20": 926.81,
        "high_volume_patterns": [
          "doji",
          "bullish_harami"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.718,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.56,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.463,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.383,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.718,
        "bull_score": 0.7,
        "bear_score": 2.1
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,000.40은 7일 범위 EQ $59,980.55 바로 위의 약한 프리미엄 구간에 위치\",\n    \"현재가가 EMA20 $60,194.73, EMA240 $60,250.21, EMA120 $60,264.50 아래에 있어 단기 반등 시 EMA 클러스터가 저항으로 작용 가능\",\n    \"최근 패턴에 bearish_engulfing@296 이후 bearish_harami@299가 출현하여 매수 반등 실패 신호\",\n    \"bear_score 2.10이 bull_score 0.70보다 높아 최근 캔들 압력이 매도 우위\",\n    \"고거래량 doji 및 bullish_harami가 있어 하락 추세 확정 전에는 $59,980.55 부근에서 단기 방어 가능성도 존재\"\n  ],\n  \"reasoning\": \"BTC/USDT는 현재 $60,000.40으로 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 있으며, 이 EMA 클러스터가 단기 저항대로 보입니다. 최근 5개 캔들은 상승보다 하락 반응이 더 뚜렷하고, bearish_engulfing@296 및 최신 bearish_harami@299가 확인되어 반등 실패형 캔들 흐름입니다. 다만 strict 등급의 bullish_harami 품질 0.718이 고거래량으로 잡혔고, 7일 EQ $59,980.55 바로 위에 있어 구조적으로는 아직 명확한 하방 BOS가 확인되지 않은 중립 구간입니다. 따라서 확정 구조는 neutral이지만, 사전 실행 셋업은 EMA 저항과 약한 프리미엄 위치를 근거로 bearish 쪽이 우세합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59980.55,\n      59850.84,\n      58030.0\n    ],\n    \"resistance\": [\n      60194.73,\n      60250.21,\n      60264.5,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,264.50 이상 15분봉 종가 안착\",\n  \"risk_scenario\": \"반대로 $60,264.50 EMA120 위로 종가가 안착하면 bearish_harami와 bearish_engulfing의 하락 압력이 무효화되고, $60,194.73~$60,264.50 EMA 클러스터가 지지로 전환되며 $61,931.10 7일 고점 방향의 재상승 시나리오가 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $60,000.40가 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 위치해 단기 구조 수용이 약함",
        "CVD divergence 0.850: CVD는 +$2,836.47 증가했지만 가격은 24시간 -0.12%로 상승하지 못해 공격적 매수 흡수 가능성",
        "롱 계정 비율 0.668, 숏 계정 비율 0.332로 롱 쏠림이 극단적이며 account_long_crowding 1.000",
        "long_account_change_24h -0.0117, short_account_change_24h +0.012로 롱은 줄고 숏 계정은 증가하는 포지셔닝 전환",
        "OI 24시간 -0.6070% 하락으로 신규 추세 포지션 유입보다 기존 포지션 언와인딩 성격이 강함",
        "spot-futures basis -0.0476%로 선물이 현물 대비 할인되어 파생시장 수요가 약함",
        "가까운 하방 청산 레벨 $59,600이 현재가 $60,000.40에서 근접해 단기 유동성 자석으로 작용 가능"
      ],
      "reasoning": "확정적인 BOS나 CHoCH 데이터가 없고 가격이 7일 범위 $58,030.00~$61,931.10 내부에 있어 structure_bias는 중립으로 본다. 다만 setup 측면에서는 현재가 $60,000.40가 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 있고, CVD divergence 0.850과 CVD +$2,836.47에도 가격이 24시간 -0.12%로 밀린 점은 공격적 매수의 흡수 신호다. 롱 계정 비율이 0.668로 높고 account_long_crowding이 1.000인 반면, 롱 계정은 24시간 -0.0117 감소하고 숏 계정은 +0.012 증가해 롱 포지션의 취약성이 커졌다. OI가 24시간 -0.6070% 감소하고 basis가 -0.0476%로 음수인 점까지 고려하면, 단기적으로 $59,600 하방 청산 레벨 테스트 가능성이 우세하다.",
      "key_levels": {
        "support": [
          59600,
          58100,
          54500
        ],
        "resistance": [
          60194.73,
          60250.21,
          60264.5,
          61400,
          62600,
          63000
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,400",
      "risk_scenario": "$61,400 상방 청산 구간을 강하게 돌파하고 그 위에서 수용되면, 흡수로 보였던 CVD divergence가 실제 매집으로 재해석될 수 있다. 이 경우 숏 커버링이 붙으면서 $62,600, 이후 $63,000 상단 청산 레벨까지 빠르게 확장될 위험이 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 2836.469,
        "oi_trend": 0.439,
        "oi_change_pct_24h": -0.607,
        "oi_latest": 102952.705,
        "funding_pressure": 0.456,
        "funding_avg": 4.427e-05,
        "funding_change_24h": -1.513e-05,
        "long_account_ratio": 0.67,
        "short_account_ratio": 0.33,
        "long_account_latest": 0.668,
        "short_account_latest": 0.332,
        "long_account_change_24h": -0.0117,
        "short_account_change_24h": 0.0117,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.488,
        "spot_futures_basis_pct": -0.0476,
        "basis_change_lookback": -0.002,
        "aggregate_score": 0.447,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            59600,
            1140.2451763499998
          ],
          [
            58100,
            1161.776168
          ],
          [
            54500,
            1533.91048125
          ]
        ],
        "liq_above": [
          [
            61400,
            1194.63141885
          ],
          [
            62600,
            1126.7589150000001
          ],
          [
            63000,
            1227.1283850000002
          ]
        ],
        "strongest_liq_level": 54500,
        "fragility_score": 0.867,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $60,000.40가 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 위치해 단기 구조 수용이 약함\",\n    \"CVD divergence 0.850: CVD는 +$2,836.47 증가했지만 가격은 24시간 -0.12%로 상승하지 못해 공격적 매수 흡수 가능성\",\n    \"롱 계정 비율 0.668, 숏 계정 비율 0.332로 롱 쏠림이 극단적이며 account_long_crowding 1.000\",\n    \"long_account_change_24h -0.0117, short_account_change_24h +0.012로 롱은 줄고 숏 계정은 증가하는 포지셔닝 전환\",\n    \"OI 24시간 -0.6070% 하락으로 신규 추세 포지션 유입보다 기존 포지션 언와인딩 성격이 강함\",\n    \"spot-futures basis -0.0476%로 선물이 현물 대비 할인되어 파생시장 수요가 약함\",\n    \"가까운 하방 청산 레벨 $59,600이 현재가 $60,000.40에서 근접해 단기 유동성 자석으로 작용 가능\"\n  ],\n  \"reasoning\": \"확정적인 BOS나 CHoCH 데이터가 없고 가격이 7일 범위 $58,030.00~$61,931.10 내부에 있어 structure_bias는 중립으로 본다. 다만 setup 측면에서는 현재가 $60,000.40가 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 있고, CVD divergence 0.850과 CVD +$2,836.47에도 가격이 24시간 -0.12%로 밀린 점은 공격적 매수의 흡수 신호다. 롱 계정 비율이 0.668로 높고 account_long_crowding이 1.000인 반면, 롱 계정은 24시간 -0.0117 감소하고 숏 계정은 +0.012 증가해 롱 포지션의 취약성이 커졌다. OI가 24시간 -0.6070% 감소하고 basis가 -0.0476%로 음수인 점까지 고려하면, 단기적으로 $59,600 하방 청산 레벨 테스트 가능성이 우세하다.\",\n  \"key_levels\": {\n    \"support\": [\n      59600,\n      58100,\n      54500\n    ],\n    \"resistance\": [\n      60194.73,\n      60250.21,\n      60264.5,\n      61400,\n      62600,\n      63000\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,400\",\n  \"risk_scenario\": \"$61,400 상방 청산 구간을 강하게 돌파하고 그 위에서 수용되면, 흡수로 보였던 CVD divergence가 실제 매집으로 재해석될 수 있다. 이 경우 숏 커버링이 붙으면서 $62,600, 이후 $63,000 상단 청산 레벨까지 빠르게 확장될 위험이 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "확정 분배 구조: regime=DIS, regime_state=confirmed_dis, regime_fitness=1.000",
        "Phase D 진행: UTAD $60,924.70 이후 LPSY $60,469.80 형성",
        "LPSY $60,469.80 이후 SOW $59,819.80 발생, 현재가 $60,000.40은 SOW 저점 근처에서 약한 반등",
        "현재가 $60,000.40은 UT $60,349.00 및 LPSY $60,469.80 아래에 위치해 재공급 구간 회복 실패 상태",
        "주요 분배 기준선 BC $61,256.00 / AR $60,666.00 기준 EQ 약 $60,961.00 아래에 있어 구조는 약세이나, 단기 추격 매도 품질은 중간 수준"
      ],
      "reasoning": "15분 구조는 BC $61,256.00 → AR $60,666.00 → ST $61,742.90 이후 SOW_IN_PHASE_B $59,114.40, UT $60,349.00, UTAD $60,924.70, LPSY $60,469.80, SOW $59,819.80로 이어지는 확정 분배 Phase D로 해석된다. 현재가 $60,000.40은 LPSY $60,469.80 및 UT $60,349.00 아래에 머물러 있으며, 이는 재상승 시도가 공급에 눌린 뒤 SOW 저점권을 다시 시험하는 구조다. 구조적 편향은 명확히 bearish이지만, 가격이 이미 EQ 약 $60,961.00 아래의 할인 구간에 있어 즉시 신규 매도 셋업 강도는 구조 확신보다 낮게 평가한다. 단기적으로는 $60,349.00~$60,469.80 회복 실패 시 $59,819.80 재시험, 그 아래로는 Phase B 약세 저점 $59,114.40까지 열릴 수 있다.",
      "key_levels": {
        "support": [
          59819.8,
          59114.4,
          58030.0
        ],
        "resistance": [
          60349.0,
          60469.8,
          60666.0,
          60924.7,
          61256.0,
          61742.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60,924.70 이상에서 15분 종가 기준 수용되면 현재 Phase D의 LPSY→SOW 약세 해석은 무효화된다. 더 큰 분배 구조 자체는 ST 고점 $61,742.90 회복 시 재평가가 필요하다.",
      "risk_scenario": "$60,349.00 및 $60,469.80을 빠르게 회복하면 SOW가 즉시 하방 확장으로 이어지지 못한 것으로 보고, $60,666.00 AR 저점 및 UTAD $60,924.70 재시험이 발생할 수 있다. 특히 $60,924.70 위에서 수용되면 현재의 LPSY 이후 공급 우위 판단은 실패하며, 분배 구조는 재축적 또는 상단 재시험 국면으로 재분류해야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 91.7,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 4,
            "price": 61256.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 15,
            "price": 60666.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 62,
            "price": 61742.9,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 80,
            "price": 59114.4,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 213,
            "price": 60349.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 266,
            "price": 60924.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 290,
            "price": 60469.8,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 293,
            "price": 59819.8,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 4,
            "end_idx": 293,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 4,
                "price": 61256.0,
                "color": "#ffd166",
                "dt": "2026-06-25 07:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 15,
                "price": 60666.0,
                "color": "#06d6a0",
                "dt": "2026-06-25 09:45:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 62,
                "price": 61742.9,
                "color": "#118ab2",
                "dt": "2026-06-25 21:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 80,
                "price": 59114.4,
                "color": "#ef476f",
                "dt": "2026-06-26 02:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 213,
                "price": 60349.0,
                "color": "#f9844a",
                "dt": "2026-06-27 11:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 266,
                "price": 60924.7,
                "color": "#f9844a",
                "dt": "2026-06-28 00:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 290,
                "price": 60469.8,
                "color": "#8338ec",
                "dt": "2026-06-28 06:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 293,
                "price": 59819.8,
                "color": "#ef476f",
                "dt": "2026-06-28 07:15:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 1.0,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 60666.0,
        "main_range_high": 61256.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"확정 분배 구조: regime=DIS, regime_state=confirmed_dis, regime_fitness=1.000\",\n    \"Phase D 진행: UTAD $60,924.70 이후 LPSY $60,469.80 형성\",\n    \"LPSY $60,469.80 이후 SOW $59,819.80 발생, 현재가 $60,000.40은 SOW 저점 근처에서 약한 반등\",\n    \"현재가 $60,000.40은 UT $60,349.00 및 LPSY $60,469.80 아래에 위치해 재공급 구간 회복 실패 상태\",\n    \"주요 분배 기준선 BC $61,256.00 / AR $60,666.00 기준 EQ 약 $60,961.00 아래에 있어 구조는 약세이나, 단기 추격 매도 품질은 중간 수준\"\n  ],\n  \"reasoning\": \"15분 구조는 BC $61,256.00 → AR $60,666.00 → ST $61,742.90 이후 SOW_IN_PHASE_B $59,114.40, UT $60,349.00, UTAD $60,924.70, LPSY $60,469.80, SOW $59,819.80로 이어지는 확정 분배 Phase D로 해석된다. 현재가 $60,000.40은 LPSY $60,469.80 및 UT $60,349.00 아래에 머물러 있으며, 이는 재상승 시도가 공급에 눌린 뒤 SOW 저점권을 다시 시험하는 구조다. 구조적 편향은 명확히 bearish이지만, 가격이 이미 EQ 약 $60,961.00 아래의 할인 구간에 있어 즉시 신규 매도 셋업 강도는 구조 확신보다 낮게 평가한다. 단기적으로는 $60,349.00~$60,469.80 회복 실패 시 $59,819.80 재시험, 그 아래로는 Phase B 약세 저점 $59,114.40까지 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59819.8,\n      59114.4,\n      58030.0\n    ],\n    \"resistance\": [\n      60349.0,\n      60469.8,\n      60666.0,\n      60924.7,\n      61256.0,\n      61742.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60,924.70 이상에서 15분 종가 기준 수용되면 현재 Phase D의 LPSY→SOW 약세 해석은 무효화된다. 더 큰 분배 구조 자체는 ST 고점 $61,742.90 회복 시 재평가가 필요하다.\",\n  \"risk_scenario\": \"$60,349.00 및 $60,469.80을 빠르게 회복하면 SOW가 즉시 하방 확장으로 이어지지 못한 것으로 보고, $60,666.00 AR 저점 및 UTAD $60,924.70 재시험이 발생할 수 있다. 특히 $60,924.70 위에서 수용되면 현재의 LPSY 이후 공급 우위 판단은 실패하며, 분배 구조는 재축적 또는 상단 재시험 국면으로 재분류해야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,000.40은 스윙 EQ인 ret_0.5 $60,144.80 아래에 있어 할인(discount) 구간에 위치",
        "ret_0.236 $59,973.20과 confluence zone $59,960.41이 근접하며, 해당 클러스터는 4개 레벨(ext_1.0, ret_0.236, ret_0.5, ret_0.382)이 겹친 고품질 지지 구간",
        "nearest_fib가 ret_0.236 $59,973.20이고 현재가와의 거리가 0.05%로 매우 가까워 단기 반응 구간을 테스트 중",
        "fib_reaction_state가 testing이며 reaction_probability가 0.65로 단기 반등 시도 가능성이 존재",
        "다만 ret_0.382 $60,068.10, ret_0.5 $60,144.80, golden ratio ret_0.618 $60,221.50이 순차 저항으로 남아 있어 구조 전환은 아직 미확정"
      ],
      "reasoning": "확정 구조 관점에서는 최근 기준 스윙이 $60,470 고점에서 $59,820 저점으로 형성된 하락 스윙이며, 현재가는 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 있어 structure_bias는 bearish로 판단된다. 그러나 실행 셋업 관점에서는 현재가 $60,000.40이 EQ인 ret_0.5 $60,144.80 아래 할인 구간에 있고, ret_0.236 $59,973.20 및 confluence zone $59,960.41을 테스트 중이어서 단기 bullish 반응 셋업이 존재한다. 상방으로는 ret_0.382 $60,068.10 돌파가 첫 확인 조건이며, 이후 $60,144.80과 golden ratio $60,221.50을 회복해야 하락 스윙의 되돌림이 의미 있게 확장된다. 반대로 $59,973.20을 잃고 $59,819.80 아래로 밀리면 지지 반응 실패로 보며, 다음 하방 피보나치 확장 목표는 $59,643.00, $59,550.70, $59,418.10 순서다.",
      "key_levels": {
        "support": [
          59973.2,
          59819.8,
          59643.0,
          59550.7,
          59418.1
        ],
        "resistance": [
          60068.1,
          60144.8,
          60221.5,
          60330.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,819.80 하향 이탈 시 현재의 단기 bullish 반응 셋업은 무효화",
      "risk_scenario": "$60,068.10을 회복하지 못하고 $59,973.20 아래로 재차 밀리면 ret_0.236 지지 실패로 해석되며, $59,819.80 이탈 후 $59,643.00 및 $59,550.70 확장 지지까지 하락 압력이 확대될 수 있다. 반대로 $60,221.50 golden ratio를 강하게 상향 수용하면 기존 bearish 구조 압력이 약화되고 $60,284.47 confluence 저항대 및 $60,330.70 ret_0.786까지 되돌림이 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,470 → $59,820",
        "direction": "down",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 59973.2,
        "nearest_fib_distance": 0.05,
        "golden_ratio_level": 60221.5,
        "fib_ret_382": 60068.1,
        "fib_ret_618": 60221.5,
        "confluence_zones": [
          {
            "price": 59960.41,
            "count": 4,
            "levels": [
              "ext_1.0",
              "ret_0.236",
              "ret_0.5",
              "ret_0.382"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60284.47,
            "count": 4,
            "levels": [
              "ret_0.5",
              "ret_0.618",
              "ret_0.786",
              "ret_0.618"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59571.31,
            "count": 3,
            "levels": [
              "ret_0.382",
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 58859.38,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59293.95,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59973.200000000004,
          59819.8,
          59643.0
        ],
        "resistance_levels": [
          60068.100000000006,
          60144.8,
          60221.5
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59973.2,
            "distance_pct": 0.05,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60068.1,
            "distance_pct": 0.11,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 60144.8,
            "distance_pct": 0.24,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60221.5,
            "distance_pct": 0.37,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 60330.7,
            "distance_pct": 0.55,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 59819.8,
            "distance_pct": 0.3,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 59643.0,
            "distance_pct": 0.6,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 59550.7,
            "distance_pct": 0.75,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 59418.1,
            "distance_pct": 0.97,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 59169.8,
            "distance_pct": 1.38,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,000.40은 스윙 EQ인 ret_0.5 $60,144.80 아래에 있어 할인(discount) 구간에 위치\",\n    \"ret_0.236 $59,973.20과 confluence zone $59,960.41이 근접하며, 해당 클러스터는 4개 레벨(ext_1.0, ret_0.236, ret_0.5, ret_0.382)이 겹친 고품질 지지 구간\",\n    \"nearest_fib가 ret_0.236 $59,973.20이고 현재가와의 거리가 0.05%로 매우 가까워 단기 반응 구간을 테스트 중\",\n    \"fib_reaction_state가 testing이며 reaction_probability가 0.65로 단기 반등 시도 가능성이 존재\",\n    \"다만 ret_0.382 $60,068.10, ret_0.5 $60,144.80, golden ratio ret_0.618 $60,221.50이 순차 저항으로 남아 있어 구조 전환은 아직 미확정\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 기준 스윙이 $60,470 고점에서 $59,820 저점으로 형성된 하락 스윙이며, 현재가는 EMA20 $60,194.73, EMA120 $60,264.50, EMA240 $60,250.21 아래에 있어 structure_bias는 bearish로 판단된다. 그러나 실행 셋업 관점에서는 현재가 $60,000.40이 EQ인 ret_0.5 $60,144.80 아래 할인 구간에 있고, ret_0.236 $59,973.20 및 confluence zone $59,960.41을 테스트 중이어서 단기 bullish 반응 셋업이 존재한다. 상방으로는 ret_0.382 $60,068.10 돌파가 첫 확인 조건이며, 이후 $60,144.80과 golden ratio $60,221.50을 회복해야 하락 스윙의 되돌림이 의미 있게 확장된다. 반대로 $59,973.20을 잃고 $59,819.80 아래로 밀리면 지지 반응 실패로 보며, 다음 하방 피보나치 확장 목표는 $59,643.00, $59,550.70, $59,418.10 순서다.\",\n  \"key_levels\": {\n    \"support\": [\n      59973.2,\n      59819.8,\n      59643.0,\n      59550.7,\n      59418.1\n    ],\n    \"resistance\": [\n      60068.1,\n      60144.8,\n      60221.5,\n      60330.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,819.80 하향 이탈 시 현재의 단기 bullish 반응 셋업은 무효화\",\n  \"risk_scenario\": \"$60,068.10을 회복하지 못하고 $59,973.20 아래로 재차 밀리면 ret_0.236 지지 실패로 해석되며, $59,819.80 이탈 후 $59,643.00 및 $59,550.70 확장 지지까지 하락 압력이 확대될 수 있다. 반대로 $60,221.50 golden ratio를 강하게 상향 수용하면 기존 bearish 구조 압력이 약화되고 $60,284.47 confluence 저항대 및 $60,330.70 ret_0.786까지 되돌림이 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $60,000.40가 최고 점수 bullish Bat 형성 PRZ $59,909.54-$60,101.40 내부에 위치하며 D 예상가 $60,005.47와 괴리 0.01%",
        "bullish Crab 형성 PRZ $59,807.02-$60,065.09와 bullish Butterfly 형성 PRZ $59,792.38-$60,098.72가 현재가 근처에 중첩되어 하방 반응 후보 구간을 형성",
        "완성된 bullish Gartley가 PRZ $60,109.93-$60,258.36에서 확인 반응을 기록했으며 reaction_score 1.0, AD 0.382 반응 도달 및 PRZ 방어 확인",
        "반대 방향으로 bearish Shark 형성 PRZ $59,979.84-$60,342.61도 현재 구간과 겹쳐 있어, 상승 셋업은 단독 확정이 아니라 반응 확인이 필요한 상태",
        "방향 점수는 bullish 2.121 대 bearish 1.754로 소폭 우위이나 directional_dominance가 0.095에 불과해 강한 추세 신호는 아님"
      ],
      "reasoning": "하모닉 관점에서 현재 BTC는 $60,000.40 부근에서 고점수 bullish Bat PRZ $59,909.54-$60,101.40 안에 있으며, D 예상가 $60,005.47과 거의 일치한다. 동시에 bullish Crab $59,807.02-$60,065.09 및 bullish Butterfly $59,792.38-$60,098.72가 겹쳐 있어 $59,790-$60,100 구간은 실제 Fib confluence가 있는 상승 반응 후보 구간이다. 다만 이 Bat/Crab/Butterfly는 대부분 pre-confirmation 상태로, 구조 전환이나 15m/1h MSS, sweep→reclaim, CVD/OI 확인 없이 메인 방향을 뒤집을 수 없다. 완성·확인된 bullish Gartley는 $60,109.93-$60,258.36 PRZ에서 reaction_score 1.0을 보여 bullish setup을 보강하지만, $60,217.82-$60,510.71에는 확인된 bearish Bat PRZ도 남아 있어 상방 추격 구간에서는 매도 반응 리스크가 커진다. 따라서 구조는 중립, 실행 셋업은 제한적 bullish, 최종 신호는 낮은 우위의 neutral로 판단한다.",
      "key_levels": {
        "support": [
          60005.47,
          59909.54,
          59807.02,
          59792.38,
          59640.03,
          59487.63
        ],
        "resistance": [
          60101.4,
          60151.52,
          60241.75,
          60258.36,
          60342.61,
          60510.71,
          60557.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,792.38 하향 이탈 및 15분 종가 안착",
      "risk_scenario": "$59,792.38 아래로 밀리면 현재의 bullish Bat/Crab/Butterfly 중첩 PRZ 방어가 실패한 것으로 해석되며, 가격은 $59,640.03 및 $59,487.63 하위 PRZ를 재시험할 수 있다. 반대로 $60,258.36 위로 강하게 회복하고 $60,342.61 bearish Shark 상단까지 돌파하면 $60,371-$60,442, 이후 $60,557.80까지 TP ladder가 열리지만, $60,217.82-$60,510.71의 확인된 bearish Bat 공급 반응에는 주의가 필요하다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 56,
        "completed_patterns_found": 21,
        "forming_d_prz_found": 35,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 60,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 30,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 18,
          "medium": 23,
          "low": 15
        },
        "prz_status_counts": {
          "active": 20,
          "nearby": 12,
          "watch": 13,
          "far": 11,
          "forming": 11
        },
        "high_confluence_prz_count": 36,
        "strict_patterns_found": 35,
        "candidate_patterns_found": 21,
        "active_patterns_at_prz": 20,
        "nearby_patterns": 12,
        "all_patterns": [
          "bat",
          "shark",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.987,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 60005.47,
        "price_to_prz": 0.01,
        "prz_range": [
          59909.54,
          60101.4
        ],
        "council_relevant_prz_count": 15,
        "directional_influence_prz_count": 15,
        "confirmed_reaction_prz_count": 5,
        "validated_harmonic_tp_count": 5,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.987,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60005.47,
            "prz_range": [
              59909.54,
              60101.4
            ],
            "prz_width_pct": 0.32,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0084,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60005.47,
              "a_price": 60387.8,
              "tp1_ad_382": 60151.52,
              "tp2_ad_618": 60241.75,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4966,
              "ABC": 0.6253
            },
            "x_price": 59933.1,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 60387.8,
            "a_idx": 216,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59936.06,
            "prz_range": [
              59807.02,
              60065.09
            ],
            "prz_width_pct": 0.431,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.11,
            "price_to_prz_pct_raw": -0.1072,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59936.06,
              "a_price": 60697.6,
              "tp1_ad_382": 60226.97,
              "tp2_ad_618": 60406.69,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5179,
              "ABC": 0.4218
            },
            "x_price": 60162.0,
            "x_idx": 250,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 260,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 276,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.31,
            "price_to_prz_pct_raw": 0.3062,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 241,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 1.0,
            "prz_score": 0.999,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60161.22,
            "prz_range": [
              59979.84,
              60342.61
            ],
            "prz_width_pct": 0.603,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.268,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60161.22,
              "a_price": 59933.1,
              "tp1_ad_382": 60074.08,
              "tp2_ad_618": 60020.24,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.551
            },
            "x_price": 60274.2,
            "x_idx": 164,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 200,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.09,
            "price_to_prz_pct_raw": -0.0914,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 231,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60256.06,
            "prz_range": [
              60158.65,
              60353.46
            ],
            "prz_width_pct": 0.323,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.43,
            "price_to_prz_pct_raw": 0.4261,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60256.06,
              "a_price": 60557.8,
              "tp1_ad_382": 60371.32,
              "tp2_ad_618": 60442.53,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4129,
              "ABC": 0.4966
            },
            "x_price": 60134.5,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60383.0,
            "b_idx": 272,
            "b_order": 8,
            "c_price": 60469.8,
            "c_idx": 290,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.95,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.5023,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 190,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 194,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.61,
            "price_to_prz_pct_raw": 0.6067,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 204,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 212,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.923,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.31,
            "price_to_prz_pct_raw": 0.3062,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 241,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": 250
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "ratio_score": 0.934,
            "prz_score": 0.936,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59819.8,
            "prz_range": [
              59640.03,
              60097.95
            ],
            "prz_width_pct": 0.765,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.22,
            "price_to_prz_pct_raw": -0.219,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.655,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59868.99,
              "a_price": 60557.8,
              "tp1_ad_382": 60132.12,
              "tp2_ad_618": 60294.67,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.7777,
              "BCD": 2.1118,
              "XAD": 1.527
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60469.8,
            "c_idx": 290,
            "c_order": 8,
            "d_idx": 293
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.892,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.61,
            "price_to_prz_pct_raw": 0.6064,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 190,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 200,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": 245
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.854,
            "ratio_score": 0.929,
            "prz_score": 0.886,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60472.2,
            "prz_range": [
              60217.77,
              60757.88
            ],
            "prz_width_pct": 0.893,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.81,
            "price_to_prz_pct_raw": 0.8124,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.422,
                "adverse_move_ratio_ad": 0.021,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60487.82,
              "a_price": 59530.7,
              "tp1_ad_382": 60122.2,
              "tp2_ad_618": 59896.32,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7533,
              "ABC": 0.4367,
              "BCD": 2.5593,
              "XAD": 1.2663
            },
            "x_price": 60274.2,
            "x_idx": 164,
            "x_order": 3,
            "a_price": 59530.7,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 60090.8,
            "b_idx": 200,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": 221
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.846,
            "ratio_score": 0.811,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60387.8,
            "prz_range": [
              60184.9,
              60506.94
            ],
            "prz_width_pct": 0.534,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.58,
            "price_to_prz_pct_raw": 0.5759,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.355,
                "adverse_move_ratio_ad": 0.098,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60345.92,
              "a_price": 59530.7,
              "tp1_ad_382": 60034.51,
              "tp2_ad_618": 59842.11,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.5044,
              "BCD": 1.6867,
              "XAD": 0.8168
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 204,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": 216
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.987,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60005.47,
            "prz_range": [
              59909.54,
              60101.4
            ],
            "prz_width_pct": 0.32,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0084,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60005.47,
              "a_price": 60387.8,
              "tp1_ad_382": 60151.52,
              "tp2_ad_618": 60241.75,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4966,
              "ABC": 0.6253
            },
            "x_price": 59933.1,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 60387.8,
            "a_idx": 216,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59936.06,
            "prz_range": [
              59807.02,
              60065.09
            ],
            "prz_width_pct": 0.431,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.11,
            "price_to_prz_pct_raw": -0.1072,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59936.06,
              "a_price": 60697.6,
              "tp1_ad_382": 60226.97,
              "tp2_ad_618": 60406.69,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5179,
              "ABC": 0.4218
            },
            "x_price": 60162.0,
            "x_idx": 250,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 260,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 276,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.31,
            "price_to_prz_pct_raw": 0.3062,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 241,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 1.0,
            "prz_score": 0.999,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60161.22,
            "prz_range": [
              59979.84,
              60342.61
            ],
            "prz_width_pct": 0.603,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.268,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60161.22,
              "a_price": 59933.1,
              "tp1_ad_382": 60074.08,
              "tp2_ad_618": 60020.24,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.551
            },
            "x_price": 60274.2,
            "x_idx": 164,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 200,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.09,
            "price_to_prz_pct_raw": -0.0914,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 231,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.987,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60005.47,
            "prz_range": [
              59909.54,
              60101.4
            ],
            "prz_width_pct": 0.32,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0084,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60005.47,
              "a_price": 60387.8,
              "tp1_ad_382": 60151.52,
              "tp2_ad_618": 60241.75,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4966,
              "ABC": 0.6253
            },
            "x_price": 59933.1,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 60387.8,
            "a_idx": 216,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59936.06,
            "prz_range": [
              59807.02,
              60065.09
            ],
            "prz_width_pct": 0.431,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.11,
            "price_to_prz_pct_raw": -0.1072,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59936.06,
              "a_price": 60697.6,
              "tp1_ad_382": 60226.97,
              "tp2_ad_618": 60406.69,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5179,
              "ABC": 0.4218
            },
            "x_price": 60162.0,
            "x_idx": 250,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 260,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 276,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.31,
            "price_to_prz_pct_raw": 0.3062,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 241,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 1.0,
            "prz_score": 0.999,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60161.22,
            "prz_range": [
              59979.84,
              60342.61
            ],
            "prz_width_pct": 0.603,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.268,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60161.22,
              "a_price": 59933.1,
              "tp1_ad_382": 60074.08,
              "tp2_ad_618": 60020.24,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.551
            },
            "x_price": 60274.2,
            "x_idx": 164,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 200,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.09,
            "price_to_prz_pct_raw": -0.0914,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 231,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 250,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60256.06,
            "prz_range": [
              60158.65,
              60353.46
            ],
            "prz_width_pct": 0.323,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.43,
            "price_to_prz_pct_raw": 0.4261,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60256.06,
              "a_price": 60557.8,
              "tp1_ad_382": 60371.32,
              "tp2_ad_618": 60442.53,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4129,
              "ABC": 0.4966
            },
            "x_price": 60134.5,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60383.0,
            "b_idx": 272,
            "b_order": 8,
            "c_price": 60469.8,
            "c_idx": 290,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.95,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.5023,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 190,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 194,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.61,
            "price_to_prz_pct_raw": 0.6067,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 183,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 204,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 212,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.923,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.31,
            "price_to_prz_pct_raw": 0.3062,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 241,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": 250
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 0.898,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59643.64,
            "prz_range": [
              59487.63,
              59799.65
            ],
            "prz_width_pct": 0.523,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.59,
            "price_to_prz_pct_raw": -0.5946,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59643.64,
              "a_price": 60580.0,
              "tp1_ad_382": 60001.33,
              "tp2_ad_618": 60222.31,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6009,
              "ABC": 0.7381
            },
            "x_price": 59358.8,
            "x_idx": 167,
            "x_order": 3,
            "a_price": 60580.0,
            "a_idx": 172,
            "a_order": 8,
            "b_price": 59846.2,
            "b_idx": 206,
            "b_order": 5,
            "c_price": 60387.8,
            "c_idx": 216,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.892,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.61,
            "price_to_prz_pct_raw": 0.6064,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 172,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 190,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 200,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": 245
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.877,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.88,
            "price_to_prz_pct_raw": 0.8765,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 138,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 190,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 204,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 206,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.987,
            "prz_proximity": "active",
            "prz_range": [
              59909.54,
              60101.4
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.01,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60005.47,
              "a_price": 60387.8,
              "tp1_ad_382": 60151.52,
              "tp2_ad_618": 60241.75,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,909.54-$60,101.40: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "prz_proximity": "active",
            "prz_range": [
              59807.02,
              60065.09
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.11,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59936.06,
              "a_price": 60697.6,
              "tp1_ad_382": 60226.97,
              "tp2_ad_618": 60406.69,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $59,807.02-$60,065.09: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "prz_proximity": "active",
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.31,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,109.93-$60,258.36: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "prz_proximity": "active",
            "prz_range": [
              59979.84,
              60342.61
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.27,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60161.22,
              "a_price": 59933.1,
              "tp1_ad_382": 60074.08,
              "tp2_ad_618": 60020.24,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $59,979.84-$60,342.61: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "prz_proximity": "active",
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.09,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,792.38-$60,098.72: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "prz_proximity": "active",
            "prz_range": [
              60158.65,
              60353.46
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.43,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60256.06,
              "a_price": 60557.8,
              "tp1_ad_382": 60371.32,
              "tp2_ad_618": 60442.53,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,158.65-$60,353.46: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.987,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 60005.47,
          "prz_range": [
            59909.54,
            60101.4
          ],
          "prz_width_pct": 0.32,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.01,
          "price_to_prz_pct_raw": 0.0084,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60005.47,
            "a_price": 60387.8,
            "tp1_ad_382": 60151.52,
            "tp2_ad_618": 60241.75,
            "tp3_a_or_structure_liquidity": 60387.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4966,
            "ABC": 0.6253
          },
          "x_price": 59933.1,
          "x_idx": 173,
          "x_order": 3,
          "a_price": 60387.8,
          "a_idx": 216,
          "a_order": 3,
          "b_price": 60162.0,
          "b_idx": 250,
          "b_order": 8,
          "c_price": 60303.2,
          "c_idx": 296,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 60005.47,
          "a_price": 60387.8,
          "tp1_ad_382": 60151.52,
          "tp2_ad_618": 60241.75,
          "tp3_a_or_structure_liquidity": 60387.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 60184.14,
          "a_price": 60557.8,
          "tp1_ad_382": 60326.88,
          "tp2_ad_618": 60415.06,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60005.47,
            "a_price": 60387.8,
            "tp1_ad_382": 60151.52,
            "tp2_ad_618": 60241.75,
            "tp3_a_or_structure_liquidity": 60387.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59936.06,
            "a_price": 60697.6,
            "tp1_ad_382": 60226.97,
            "tp2_ad_618": 60406.69,
            "tp3_a_or_structure_liquidity": 60697.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "shark",
            "d_price": 60161.22,
            "a_price": 59933.1,
            "tp1_ad_382": 60074.08,
            "tp2_ad_618": 60020.24,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60256.06,
            "a_price": 60557.8,
            "tp1_ad_382": 60371.32,
            "tp2_ad_618": 60442.53,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59868.99,
            "a_price": 60557.8,
            "tp1_ad_382": 60132.12,
            "tp2_ad_618": 60294.67,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60364.26,
            "a_price": 59556.0,
            "tp1_ad_382": 60055.51,
            "tp2_ad_618": 59864.76,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 60487.82,
            "a_price": 59530.7,
            "tp1_ad_382": 60122.2,
            "tp2_ad_618": 59896.32,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60345.92,
            "a_price": 59530.7,
            "tp1_ad_382": 60034.51,
            "tp2_ad_618": 59842.11,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 2.121,
          "bearish": 1.754
        },
        "directional_score_total": 3.875,
        "directional_dominance": 0.095
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $60,000.40가 최고 점수 bullish Bat 형성 PRZ $59,909.54-$60,101.40 내부에 위치하며 D 예상가 $60,005.47와 괴리 0.01%\",\n    \"bullish Crab 형성 PRZ $59,807.02-$60,065.09와 bullish Butterfly 형성 PRZ $59,792.38-$60,098.72가 현재가 근처에 중첩되어 하방 반응 후보 구간을 형성\",\n    \"완성된 bullish Gartley가 PRZ $60,109.93-$60,258.36에서 확인 반응을 기록했으며 reaction_score 1.0, AD 0.382 반응 도달 및 PRZ 방어 확인\",\n    \"반대 방향으로 bearish Shark 형성 PRZ $59,979.84-$60,342.61도 현재 구간과 겹쳐 있어, 상승 셋업은 단독 확정이 아니라 반응 확인이 필요한 상태\",\n    \"방향 점수는 bullish 2.121 대 bearish 1.754로 소폭 우위이나 directional_dominance가 0.095에 불과해 강한 추세 신호는 아님\"\n  ],\n  \"reasoning\": \"하모닉 관점에서 현재 BTC는 $60,000.40 부근에서 고점수 bullish Bat PRZ $59,909.54-$60,101.40 안에 있으며, D 예상가 $60,005.47과 거의 일치한다. 동시에 bullish Crab $59,807.02-$60,065.09 및 bullish Butterfly $59,792.38-$60,098.72가 겹쳐 있어 $59,790-$60,100 구간은 실제 Fib confluence가 있는 상승 반응 후보 구간이다. 다만 이 Bat/Crab/Butterfly는 대부분 pre-confirmation 상태로, 구조 전환이나 15m/1h MSS, sweep→reclaim, CVD/OI 확인 없이 메인 방향을 뒤집을 수 없다. 완성·확인된 bullish Gartley는 $60,109.93-$60,258.36 PRZ에서 reaction_score 1.0을 보여 bullish setup을 보강하지만, $60,217.82-$60,510.71에는 확인된 bearish Bat PRZ도 남아 있어 상방 추격 구간에서는 매도 반응 리스크가 커진다. 따라서 구조는 중립, 실행 셋업은 제한적 bullish, 최종 신호는 낮은 우위의 neutral로 판단한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60005.47,\n      59909.54,\n      59807.02,\n      59792.38,\n      59640.03,\n      59487.63\n    ],\n    \"resistance\": [\n      60101.4,\n      60151.52,\n      60241.75,\n      60258.36,\n      60342.61,\n      60510.71,\n      60557.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,792.38 하향 이탈 및 15분 종가 안착\",\n  \"risk_scenario\": \"$59,792.38 아래로 밀리면 현재의 bullish Bat/Crab/Butterfly 중첩 PRZ 방어가 실패한 것으로 해석되며, 가격은 $59,640.03 및 $59,487.63 하위 PRZ를 재시험할 수 있다. 반대로 $60,258.36 위로 강하게 회복하고 $60,342.61 bearish Shark 상단까지 돌파하면 $60,371-$60,442, 이후 $60,557.80까지 TP ladder가 열리지만, $60,217.82-$60,510.71의 확인된 bearish Bat 공급 반응에는 주의가 필요하다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.74,
    "execution_setup": {
      "setup_bias": "neutral",
      "setup_strength": 0.62,
      "active_setups": [
        "상방 반응 후보: 현재가 $60,000.40은 ICT 기준 EQ $60,372.25 아래 discount 구간이며, Fibonacci ret_0.236 $59,973.20 및 confluence zone $59,960.41을 테스트 중",
        "상방 반응 후보: Harmonic bullish Bat PRZ $59,909.54-$60,101.40 내부에 가격이 위치하고, D 예상가 $60,005.47와 거의 일치",
        "하방 압력 조건: 가격이 EMA20 $60,194.73, EMA240 $60,250.21, EMA120 $60,264.50 아래에 있어 반등 시 EMA 클러스터가 구조적 저항으로 작용",
        "하방 압력 조건: Derivatives에서 CVD +$2,836.47에도 가격 24시간 -0.12%로 상승하지 못해 매수 흡수 가능성이 있으며, long account ratio 0.668로 롱 쏠림이 큼",
        "Wyckoff 실행 리스크: LPSY $60,469.80 이후 SOW $59,819.80이 발생했고, 현재가는 SOW 저점 부근 약한 반등 구간",
        "Candlestick 실행 리스크: bearish_engulfing 이후 최신 bearish_harami가 확인되어 $60,194.73-$60,264.50 EMA 저항대 아래 반등 실패 신호"
      ],
      "setup_vs_structure": "구조는 Wyckoff Phase D 분배와 ICT/Fibonacci의 bearish structure가 우세하지만, 실행 셋업은 $59,960-$60,100의 피보나치·하모닉·ICT discount 반응 구간과 파생/캔들 하방 압력이 충돌한다. 즉 구조적 방향성은 bearish이나, 즉시 실행 관점에서는 지지 반응 후보와 매도 재개 조건이 동시에 활성화된 중립적·고변동성 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        59980.55,
        59973.2,
        59960.41,
        59819.8,
        59643.0,
        59600.0,
        59550.7,
        59530.7,
        59114.4,
        58030.0
      ],
      "resistance": [
        60068.1,
        60101.4,
        60162.0,
        60194.73,
        60221.5,
        60250.21,
        60264.5,
        60303.2,
        60349.0,
        60469.8,
        60557.8,
        60924.7
      ]
    },
    "confluences": [
      "Wyckoff와 ICT가 모두 $59,819.80을 핵심 구조 저점으로 식별한다. Wyckoff는 이를 SOW 저점, ICT는 London low 및 range low로 해석한다.",
      "Fibonacci ret_0.236 $59,973.20, Candlestick 7일 EQ $59,980.55, Harmonic bearish Shark PRZ 하단 $59,979.84가 $59,973-$59,980 부근에 밀집해 현재가 $60,000.40 근처의 단기 균형·반응 구간을 형성한다.",
      "Harmonic bullish Bat PRZ $59,909.54-$60,101.40, bullish Crab PRZ $59,807.02-$60,065.09, bullish Butterfly PRZ $59,792.38-$60,098.72가 모두 $59,800-$60,100 부근에 중첩되어 하방 반응 후보 지대를 만든다.",
      "Candlestick과 Derivatives가 동일하게 EMA20 $60,194.73, EMA240 $60,250.21, EMA120 $60,264.50 아래의 약한 수용 상태를 지적하며, 해당 EMA 클러스터를 단기 저항으로 본다.",
      "ICT의 bearish CHoCH 기준 $60,162.00, Fibonacci ret_0.5 $60,144.80, Harmonic Shark D $60,161.22가 $60,145-$60,162에 모여 첫 구조 회복 확인 구간을 형성한다.",
      "Wyckoff LPSY $60,469.80, Harmonic bearish PRZ 상단대 $60,487-$60,510, ICT BOS 레벨 $60,557.80이 $60,470-$60,558 부근에 겹쳐 상위 저항·공급 확인 구간을 만든다.",
      "Wyckoff UTAD $60,924.70과 ICT range high $60,924.70이 동일하여, 해당 가격은 현재 bearish 구조의 핵심 상단 기준으로 작동한다.",
      "Derivatives 하방 청산 레벨 $59,600은 Fibonacci ext_1.272 $59,643.00 및 Harmonic 하위 bullish Gartley PRZ $59,487.63-$59,799.65와 근접해 $59,600대가 다음 구조적 유동성·반응 후보로 중첩된다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed distribution Phase D로 가장 강한 bearish 구조를 제시하지만, Harmonic과 Fibonacci는 현재 가격이 $59,800-$60,100의 bullish PRZ·Fib confluence 내부에 있어 단기 반응 가능성을 강조한다.",
      "ICT는 structure bias를 bearish로 보면서도 setup bias는 discount 재매집 관점의 bullish로 제시한다. 이는 확정 구조와 실행 구간이 분리되어 있음을 의미한다.",
      "Candlestick과 Derivatives는 EMA 클러스터 아래 수용 실패와 CVD 흡수를 근거로 bearish setup을 제시하지만, Harmonic은 현재가가 최고 점수 bullish Bat PRZ 안에 있어 매도 추격의 효율이 낮다고 본다.",
      "Harmonic 내부에서도 bullish Bat/Crab/Butterfly PRZ와 bearish Shark PRZ가 같은 $60,000-$60,340 구간에 겹쳐 있어, 하모닉 단독으로는 방향성을 확정하기 어렵다.",
      "Fibonacci는 구조적으로 하락 스윙을 인정하지만, 현재가는 ret_0.236 $59,973.20 및 confluence zone $59,960.41 근처라 실행 편향은 bullish로 분리된다."
    ],
    "executive_summary": "현재 BTC/USDT 15분 구조는 Wyckoff 기준 confirmed distribution Phase D가 핵심이며, UTAD $60,924.70 이후 LPSY $60,469.80을 만들고 SOW $59,819.80까지 전개된 bearish 구조로 진단된다. ICT와 Fibonacci도 각각 마지막 bearish CHoCH $60,162.00 및 하락 스윙 $60,470→$59,820을 근거로 구조 편향을 bearish로 보강하지만, 현재가는 $59,960-$60,100의 Fib·Harmonic·ICT discount 반응 구간 안에 있어 실행 셋업은 구조와 달리 양방향 충돌 상태다. 특히 $59,819.80은 Wyckoff SOW, ICT range low, Fibonacci ext_1.0이 겹치는 핵심 구조 저점이며, $60,162-$60,264는 CHoCH·Fib·EMA 클러스터가 겹치는 첫 회복 검증 구간이다. 구조적 위험은 LPSY 아래에서의 약한 반등, EMA 클러스터 하방 수용, CVD 상승 대비 가격 부진에 따른 매수 흡수이며, 반대로 $59,800-$60,100 PRZ 방어는 단기 반응 리스크로 관리해야 한다. bearish 구조의 핵심 무효화는 UTAD/range high $60,924.70 위 수용이며, 그 전에는 $60,469.80 LPSY 회복 여부가 구조 훼손의 선행 경고선이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.74,\n  \"execution_setup\": {\n    \"setup_bias\": \"neutral\",\n    \"setup_strength\": 0.62,\n    \"active_setups\": [\n      \"상방 반응 후보: 현재가 $60,000.40은 ICT 기준 EQ $60,372.25 아래 discount 구간이며, Fibonacci ret_0.236 $59,973.20 및 confluence zone $59,960.41을 테스트 중\",\n      \"상방 반응 후보: Harmonic bullish Bat PRZ $59,909.54-$60,101.40 내부에 가격이 위치하고, D 예상가 $60,005.47와 거의 일치\",\n      \"하방 압력 조건: 가격이 EMA20 $60,194.73, EMA240 $60,250.21, EMA120 $60,264.50 아래에 있어 반등 시 EMA 클러스터가 구조적 저항으로 작용\",\n      \"하방 압력 조건: Derivatives에서 CVD +$2,836.47에도 가격 24시간 -0.12%로 상승하지 못해 매수 흡수 가능성이 있으며, long account ratio 0.668로 롱 쏠림이 큼\",\n      \"Wyckoff 실행 리스크: LPSY $60,469.80 이후 SOW $59,819.80이 발생했고, 현재가는 SOW 저점 부근 약한 반등 구간\",\n      \"Candlestick 실행 리스크: bearish_engulfing 이후 최신 bearish_harami가 확인되어 $60,194.73-$60,264.50 EMA 저항대 아래 반등 실패 신호\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff Phase D 분배와 ICT/Fibonacci의 bearish structure가 우세하지만, 실행 셋업은 $59,960-$60,100의 피보나치·하모닉·ICT discount 반응 구간과 파생/캔들 하방 압력이 충돌한다. 즉 구조적 방향성은 bearish이나, 즉시 실행 관점에서는 지지 반응 후보와 매도 재개 조건이 동시에 활성화된 중립적·고변동성 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      59980.55,\n      59973.2,\n      59960.41,\n      59819.8,\n      59643.0,\n      59600.0,\n      59550.7,\n      59530.7,\n      59114.4,\n      58030.0\n    ],\n    \"resistance\": [\n      60068.1,\n      60101.4,\n      60162.0,\n      60194.73,\n      60221.5,\n      60250.21,\n      60264.5,\n      60303.2,\n      60349.0,\n      60469.8,\n      60557.8,\n      60924.7\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff와 ICT가 모두 $59,819.80을 핵심 구조 저점으로 식별한다. Wyckoff는 이를 SOW 저점, ICT는 London low 및 range low로 해석한다.\",\n    \"Fibonacci ret_0.236 $59,973.20, Candlestick 7일 EQ $59,980.55, Harmonic bearish Shark PRZ 하단 $59,979.84가 $59,973-$59,980 부근에 밀집해 현재가 $60,000.40 근처의 단기 균형·반응 구간을 형성한다.\",\n    \"Harmonic bullish Bat PRZ $59,909.54-$60,101.40, bullish Crab PRZ $59,807.02-$60,065.09, bullish Butterfly PRZ $59,792.38-$60,098.72가 모두 $59,800-$60,100 부근에 중첩되어 하방 반응 후보 지대를 만든다.\",\n    \"Candlestick과 Derivatives가 동일하게 EMA20 $60,194.73, EMA240 $60,250.21, EMA120 $60,264.50 아래의 약한 수용 상태를 지적하며, 해당 EMA 클러스터를 단기 저항으로 본다.\",\n    \"ICT의 bearish CHoCH 기준 $60,162.00, Fibonacci ret_0.5 $60,144.80, Harmonic Shark D $60,161.22가 $60,145-$60,162에 모여 첫 구조 회복 확인 구간을 형성한다.\",\n    \"Wyckoff LPSY $60,469.80, Harmonic bearish PRZ 상단대 $60,487-$60,510, ICT BOS 레벨 $60,557.80이 $60,470-$60,558 부근에 겹쳐 상위 저항·공급 확인 구간을 만든다.\",\n    \"Wyckoff UTAD $60,924.70과 ICT range high $60,924.70이 동일하여, 해당 가격은 현재 bearish 구조의 핵심 상단 기준으로 작동한다.\",\n    \"Derivatives 하방 청산 레벨 $59,600은 Fibonacci ext_1.272 $59,643.00 및 Harmonic 하위 bullish Gartley PRZ $59,487.63-$59,799.65와 근접해 $59,600대가 다음 구조적 유동성·반응 후보로 중첩된다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed distribution Phase D로 가장 강한 bearish 구조를 제시하지만, Harmonic과 Fibonacci는 현재 가격이 $59,800-$60,100의 bullish PRZ·Fib confluence 내부에 있어 단기 반응 가능성을 강조한다.\",\n    \"ICT는 structure bias를 bearish로 보면서도 setup bias는 discount 재매집 관점의 bullish로 제시한다. 이는 확정 구조와 실행 구간이 분리되어 있음을 의미한다.\",\n    \"Candlestick과 Derivatives는 EMA 클러스터 아래 수용 실패와 CVD 흡수를 근거로 bearish setup을 제시하지만, Harmonic은 현재가가 최고 점수 bullish Bat PRZ 안에 있어 매도 추격의 효율이 낮다고 본다.\",\n    \"Harmonic 내부에서도 bullish Bat/Crab/Butterfly PRZ와 bearish Shark PRZ가 같은 $60,000-$60,340 구간에 겹쳐 있어, 하모닉 단독으로는 방향성을 확정하기 어렵다.\",\n    \"Fibonacci는 구조적으로 하락 스윙을 인정하지만, 현재가는 ret_0.236 $59,973.20 및 confluence zone $59,960.41 근처라 실행 편향은 bullish로 분리된다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — regime=confirmed distribution, regime_fitness 1.000, dis_score 100.0으로 가장 명확한 구조 판정을 제공한다. BC $61,256.00 → AR $60,666.00 → ST $61,742.90 → UTAD $60,924.70 → LPSY $60,469.80 → SOW $59,819.80의 완성도 높은 분배 시퀀스를 제시하며, 현재 위치를 Phase D의 SOW 저점 부근 약한 반등으로 해석해 구조적 설명력이 가장 높다.\",\n  \"invalidation_level\": \"$60,924.70 상방 회복 및 수용. 이는 Wyckoff UTAD이자 ICT range high로, 해당 레벨 위에서 수용되면 현재 Phase D 분배 구조 해석의 핵심 전제가 훼손된다. 단기 경고 기준은 LPSY $60,469.80 회복이다.\",\n  \"executive_summary\": \"현재 BTC/USDT 15분 구조는 Wyckoff 기준 confirmed distribution Phase D가 핵심이며, UTAD $60,924.70 이후 LPSY $60,469.80을 만들고 SOW $59,819.80까지 전개된 bearish 구조로 진단된다. ICT와 Fibonacci도 각각 마지막 bearish CHoCH $60,162.00 및 하락 스윙 $60,470→$59,820을 근거로 구조 편향을 bearish로 보강하지만, 현재가는 $59,960-$60,100의 Fib·Harmonic·ICT discount 반응 구간 안에 있어 실행 셋업은 구조와 달리 양방향 충돌 상태다. 특히 $59,819.80은 Wyckoff SOW, ICT range low, Fibonacci ext_1.0이 겹치는 핵심 구조 저점이며, $60,162-$60,264는 CHoCH·Fib·EMA 클러스터가 겹치는 첫 회복 검증 구간이다. 구조적 위험은 LPSY 아래에서의 약한 반등, EMA 클러스터 하방 수용, CVD 상승 대비 가격 부진에 따른 매수 흡수이며, 반대로 $59,800-$60,100 PRZ 방어는 단기 반응 리스크로 관리해야 한다. bearish 구조의 핵심 무효화는 UTAD/range high $60,924.70 위 수용이며, 그 전에는 $60,469.80 LPSY 회복 여부가 구조 훼손의 선행 경고선이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.74,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 60284.47,
        "type": "resistance_test",
        "source": "Fibonacci(strict fib_confluence $60,284.47), Candlestick·Derivatives(EMA20 $60,194.73·EMA240 $60,250.21·EMA120 $60,264.50 클러스터), ICT(CHoCH $60,162.00 1차 회복 검증, setup 85%), Harmonic(완성 bullish Gartley PRZ $60,109.93-$60,258.36 reaction 1.0)",
        "description": "현재가 $60,000.40은 $59,973.20(ret_0.236)·$59,960.41(strict confluence) 할인 지지 바로 위에 있고, ICT(setup 85%)·Fibonacci·Harmonic bullish PRZ가 동시에 단기 반등을 지시한다. 이 반등은 Wyckoff가 명시한 'SOW 저점 부근 약한 반등'으로, EMA 클러스터 $60,194.73-$60,264.50와 strict fib confluence $60,284.47를 향한다. 그러나 EMA 저항·최신 bearish_harami·CVD 흡수(+$2,836.47에도 가격 부진)로 이 구간에서 거부될 가능성이 높아, 추격 매수가 아닌 매도 셋업의 핵심 진입 구간이다.",
        "est_hours": 2.5,
        "turning_zone": [
          60284.47,
          60349.0
        ],
        "likely_wick": 60303.2,
        "rejection_confirm": 60194.73,
        "invalid_overshoot": 60469.8,
        "calibration_reasoning": "strict fib confluence $60,284.47에 butterfly TP2 AD0.618 $60,294.67이 정렬하고, Chairman 저항 $60,303.2·$60,349.0이 존 상단(폭 0.43×ATR)을 고정한다. EMA 클러스터 하단 $60,194.73 이탈로 거부가 확정되며, LPSY·bat PRZ가 겹치는 $60,469.8 회복 시 하방 셋업이 무효화된다."
      },
      {
        "seq": 2,
        "price": 59819.8,
        "type": "support_test",
        "source": "Wyckoff(SOW $59,819.80), ICT(range/London low $59,819.80), Fibonacci(ext_1.0 $59,819.80)",
        "description": "EMA 클러스터에서 반등이 실패하면 Wyckoff 확정 분배 Phase D 구조가 재개되어 핵심 구조 저점 $59,819.80을 재시험한다. 이 레벨은 Wyckoff SOW·ICT range low·Fibonacci ext_1.0이 겹치는 3중 confluence로 일시 반응이 가능하나, LPSY $60,469.80 회복 실패가 유지되는 한 구조 편향은 하방이다.",
        "est_hours": 8.0,
        "turning_zone": [
          59760.0,
          59819.8
        ],
        "likely_wick": 59800.0,
        "rejection_confirm": 59960.41,
        "invalid_overshoot": 59643.0,
        "calibration_reasoning": "butterfly D/PRZ $59,819.80(CONFIRMED_REACTION)과 SOW·ICT range low·fib ext_1.0의 3중 confluence가 base를 강하게 고정하고, 하단은 다음 지지 $59,643까지 빈 구간이라 ATR 0.40배로 설정했다. 4중 confluence $59,960.41 회복 시 일시 반등이 확정되고, $59,643.0 이탈 시 분배 재개로 WP3를 향하며 무효화된다."
      },
      {
        "seq": 3,
        "price": 59571.31,
        "type": "liquidity_sweep",
        "source": "Fibonacci(strict fib_confluence $59,571.31, ext_1.272 $59,643.00, $59,550.70), Derivatives(하방 청산 $59,600), ICT(전일 저가 $59,530.70)",
        "description": "SOW $59,819.80 하향 이탈 시 하방 유동성이 개방된다. long account ratio 0.668의 극단적 롱 쏠림과 CVD 흡수에 따른 롱 청산 타깃으로, $59,571.31(strict fib confluence)·$59,600(파생 청산)·$59,643(ext_1.272) 클러스터를 스윕한다. 24시간 저점 후보는 ICT 전일 저가 $59,530.70까지 확장 가능하다.",
        "est_hours": 16.0,
        "turning_zone": [
          59500.0,
          59571.31
        ],
        "likely_wick": 59530.7,
        "rejection_confirm": 59643.0,
        "invalid_overshoot": 59293.95,
        "calibration_reasoning": "하방 유동성 스윕(롱 청산 타깃)이므로 존을 base 아래로 확장했다; 청산 $59,600·strict confluence $59,571.31을 관통해 ICT 전일 저가 $59,530.70(24h 저점 후보, Chairman 지지)에서 반전 가능성이 높고 라운드 $59,500이 하단 마그넷 역할을 한다(터미널 폭 0.48×ATR). $59,643 회복 시 스윕 반전이 확정되며, $59,530.70 아래 빈 구간을 지나 차하위 confluence $59,293.95 이탈 시 추세 하락으로 전환되어 무효화된다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60284.47,
        "expected_low": 59960.41,
        "high_first": false
      },
      "8h": {
        "expected_high": 60284.47,
        "expected_low": 59819.8,
        "high_first": true
      },
      "24h": {
        "expected_high": 60284.47,
        "expected_low": 59571.31,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60349.0,
        "description": "EMA 클러스터 위 $60,284 단순 스윕이 아니라 $60,349.00(Wyckoff UT) 위 15분 종가 수용 시 '반등 실패' 시나리오가 무효화되고, $60,469.80 LPSY 회복을 향한 상방 가속으로 전환된다."
      },
      "bearish": {
        "price": 59819.8,
        "description": "SOW/range low $59,819.80 15분 종가 이탈 시 Phase D 분배 하방 가속이 확인되며, $59,643/$59,600/$59,571 유동성 타깃이 순차 개방된다."
      }
    },
    "scenario_invalidation": 60469.8,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60284.47,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(strict fib_confluence $60,284.47), Candlestick·Derivatives(EMA20 $60,194.73·EMA240 $60,250.21·EMA120 $60,264.50 클러스터), ICT(CHoCH $60,162.00 1차 회복 검증, setup 85%), Harmonic(완성 bullish Gartley PRZ $60,109.93-$60,258.36 reaction 1.0)\",\n      \"description\": \"현재가 $60,000.40은 $59,973.20(ret_0.236)·$59,960.41(strict confluence) 할인 지지 바로 위에 있고, ICT(setup 85%)·Fibonacci·Harmonic bullish PRZ가 동시에 단기 반등을 지시한다. 이 반등은 Wyckoff가 명시한 'SOW 저점 부근 약한 반등'으로, EMA 클러스터 $60,194.73-$60,264.50와 strict fib confluence $60,284.47를 향한다. 그러나 EMA 저항·최신 bearish_harami·CVD 흡수(+$2,836.47에도 가격 부진)로 이 구간에서 거부될 가능성이 높아, 추격 매수가 아닌 매도 셋업의 핵심 진입 구간이다.\",\n      \"est_hours\": 2.5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59819.8,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(SOW $59,819.80), ICT(range/London low $59,819.80), Fibonacci(ext_1.0 $59,819.80)\",\n      \"description\": \"EMA 클러스터에서 반등이 실패하면 Wyckoff 확정 분배 Phase D 구조가 재개되어 핵심 구조 저점 $59,819.80을 재시험한다. 이 레벨은 Wyckoff SOW·ICT range low·Fibonacci ext_1.0이 겹치는 3중 confluence로 일시 반응이 가능하나, LPSY $60,469.80 회복 실패가 유지되는 한 구조 편향은 하방이다.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59571.31,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Fibonacci(strict fib_confluence $59,571.31, ext_1.272 $59,643.00, $59,550.70), Derivatives(하방 청산 $59,600), ICT(전일 저가 $59,530.70)\",\n      \"description\": \"SOW $59,819.80 하향 이탈 시 하방 유동성이 개방된다. long account ratio 0.668의 극단적 롱 쏠림과 CVD 흡수에 따른 롱 청산 타깃으로, $59,571.31(strict fib confluence)·$59,600(파생 청산)·$59,643(ext_1.272) 클러스터를 스윕한다. 24시간 저점 후보는 ICT 전일 저가 $59,530.70까지 확장 가능하다.\",\n      \"est_hours\": 16.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60284.47, \"expected_low\": 59960.41, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 60284.47, \"expected_low\": 59819.8,  \"high_first\": true},\n    \"24h\": {\"expected_high\": 60284.47, \"expected_low\": 59571.31, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60349.0, \"description\": \"EMA 클러스터 위 $60,284 단순 스윕이 아니라 $60,349.00(Wyckoff UT) 위 15분 종가 수용 시 '반등 실패' 시나리오가 무효화되고, $60,469.80 LPSY 회복을 향한 상방 가속으로 전환된다.\"},\n    \"bearish\": {\"price\": 59819.8, \"description\": \"SOW/range low $59,819.80 15분 종가 이탈 시 Phase D 분배 하방 가속이 확인되며, $59,643/$59,600/$59,571 유동성 타깃이 순차 개방된다.\"}\n  },\n  \"scenario_invalidation\": 60469.8\n}\n```\n\n**핵심 판단**: 구조는 명확한 bearish(Wyckoff Phase D, 74%)이나 실행 셋업이 중립(62%)으로 충돌하므로, 단일 직진 하락이 아닌 **'할인 반등 → EMA 거부 → SOW 붕괴'의 corrective 경로**로 설계했다. 현재가가 $59,960-$59,973 strict confluence 지지 위에 있고 ICT setup이 85% bullish인 점을 반영해 WP1을 상방 반응(매도 진입 구간)으로 두되, EMA 저항·bearish_harami·CVD 흡수가 그 반등을 실패시켜 구조 편향(SOW $59,819.80 → 청산 $59,571.31)이 재개되는 순서다. LPSY $60,469.80 수용이 경로 전체의 무효화선이다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60284.47,
        "turning_zone": [
          60284.47,
          60349.0
        ],
        "likely_wick": 60303.2,
        "rejection_confirm": 60194.73,
        "invalid_overshoot": 60469.8,
        "calibration_reasoning": "strict fib confluence $60,284.47에 butterfly TP2 AD0.618 $60,294.67이 정렬하고, Chairman 저항 $60,303.2·$60,349.0이 존 상단(폭 0.43×ATR)을 고정한다. EMA 클러스터 하단 $60,194.73 이탈로 거부가 확정되며, LPSY·bat PRZ가 겹치는 $60,469.8 회복 시 하방 셋업이 무효화된다."
      },
      {
        "seq": 2,
        "base_target": 59819.8,
        "turning_zone": [
          59760.0,
          59819.8
        ],
        "likely_wick": 59800.0,
        "rejection_confirm": 59960.41,
        "invalid_overshoot": 59643.0,
        "calibration_reasoning": "butterfly D/PRZ $59,819.80(CONFIRMED_REACTION)과 SOW·ICT range low·fib ext_1.0의 3중 confluence가 base를 강하게 고정하고, 하단은 다음 지지 $59,643까지 빈 구간이라 ATR 0.40배로 설정했다. 4중 confluence $59,960.41 회복 시 일시 반등이 확정되고, $59,643.0 이탈 시 분배 재개로 WP3를 향하며 무효화된다."
      },
      {
        "seq": 3,
        "base_target": 59571.31,
        "turning_zone": [
          59500.0,
          59571.31
        ],
        "likely_wick": 59530.7,
        "rejection_confirm": 59643.0,
        "invalid_overshoot": 59293.95,
        "calibration_reasoning": "하방 유동성 스윕(롱 청산 타깃)이므로 존을 base 아래로 확장했다; 청산 $59,600·strict confluence $59,571.31을 관통해 ICT 전일 저가 $59,530.70(24h 저점 후보, Chairman 지지)에서 반전 가능성이 높고 라운드 $59,500이 하단 마그넷 역할을 한다(터미널 폭 0.48×ATR). $59,643 회복 시 스윕 반전이 확정되며, $59,530.70 아래 빈 구간을 지나 차하위 confluence $59,293.95 이탈 시 추세 하락으로 전환되어 무효화된다."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60284.47,\n      \"turning_zone\": [60284.47, 60349.00],\n      \"likely_wick\": 60303.20,\n      \"rejection_confirm\": 60194.73,\n      \"invalid_overshoot\": 60469.80,\n      \"calibration_reasoning\": \"strict fib confluence $60,284.47에 butterfly TP2 AD0.618 $60,294.67이 정렬하고, Chairman 저항 $60,303.2·$60,349.0이 존 상단(폭 0.43×ATR)을 고정한다. EMA 클러스터 하단 $60,194.73 이탈로 거부가 확정되며, LPSY·bat PRZ가 겹치는 $60,469.8 회복 시 하방 셋업이 무효화된다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59819.80,\n      \"turning_zone\": [59760.00, 59819.80],\n      \"likely_wick\": 59800.00,\n      \"rejection_confirm\": 59960.41,\n      \"invalid_overshoot\": 59643.00,\n      \"calibration_reasoning\": \"butterfly D/PRZ $59,819.80(CONFIRMED_REACTION)과 SOW·ICT range low·fib ext_1.0의 3중 confluence가 base를 강하게 고정하고, 하단은 다음 지지 $59,643까지 빈 구간이라 ATR 0.40배로 설정했다. 4중 confluence $59,960.41 회복 시 일시 반등이 확정되고, $59,643.0 이탈 시 분배 재개로 WP3를 향하며 무효화된다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59571.31,\n      \"turning_zone\": [59500.00, 59571.31],\n      \"likely_wick\": 59530.70,\n      \"rejection_confirm\": 59643.00,\n      \"invalid_overshoot\": 59293.95,\n      \"calibration_reasoning\": \"하방 유동성 스윕(롱 청산 타깃)이므로 존을 base 아래로 확장했다; 청산 $59,600·strict confluence $59,571.31을 관통해 ICT 전일 저가 $59,530.70(24h 저점 후보, Chairman 지지)에서 반전 가능성이 높고 라운드 $59,500이 하단 마그넷 역할을 한다(터미널 폭 0.48×ATR). $59,643 회복 시 스윕 반전이 확정되며, $59,530.70 아래 빈 구간을 지나 차하위 confluence $59,293.95 이탈 시 추세 하락으로 전환되어 무효화된다.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 54.4,
      "chairman": 95.5,
      "operating_path": 313.8,
      "tp_calibrator": 253.4
    },
    "agents": {},
    "total_s": 717.3
  }
}