{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-25 13:00 KST",
  "last_price": 60849.9,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $60,849.90는 EQ $60,158.00 위의 premium zone에 위치하여 숏 셋업에 유리",
        "이전일 저점 $60,866.00이 하향 이탈되었고 현재가가 그 아래에 있어 지지의 저항 전환 가능성",
        "최근 확정 구조 이벤트가 CHoCH_bearish at $62,402.80로 마감되어 단기 구조가 하방으로 전환",
        "상위 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에서 거래되어 기관 플로우 기준 매도 우위",
        "London range high $61,256.00 아래에서 가격이 눌려 있으며, London low $60,648.00 재공격 가능성"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. BOS/CHoCH 시퀀스는 CHoCH_bearish $63,912.80, BOS_bearish $63,758.30 이후 일시적 BOS_bullish $62,837.10이 있었지만, 최신 이벤트가 CHoCH_bearish $62,402.80로 다시 하방 전환을 확인했다. 현재가 $60,849.90는 이전일 저점 $60,866.00을 하향 이탈한 상태이며, EQ $60,158.00 위 premium zone에 있어 반등 매도 조건이 유지된다. 다만 활성 OB와 미충족 FVG가 모두 0개이고 최근 liquidity sweep도 감지되지 않아, 진입 근거는 구조와 프리미엄 위치 중심이며 데이터 품질은 중간으로 본다.",
      "key_levels": {
        "support": [
          60648.0,
          60158.0,
          59060.0
        ],
        "resistance": [
          60866.0,
          61256.0,
          62402.8,
          62837.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,256.00 상향 돌파 및 15분봉 종가 안착",
      "risk_scenario": "반대 시나리오는 가격이 이전일 저점 $60,866.00을 빠르게 회복하고 London high 및 range high인 $61,256.00 위로 안착하는 경우다. 이 경우 하방 이탈이 sell-side liquidity sweep으로만 끝났을 가능성이 커지며, 다음 유동성 목표는 EMA120 $61,449.68, EMA240 $62,156.69, 이후 bearish CHoCH 레벨 $62,402.80이 된다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 66,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 63912.8
          },
          {
            "type": "BOS_bearish",
            "level": 63758.3
          },
          {
            "type": "BOS_bullish",
            "level": 62837.1
          },
          {
            "type": "CHoCH_bearish",
            "level": 62402.8
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 60158.0,
        "range_high": 61256.0,
        "range_low": 59060.0,
        "bull_score": 3.0,
        "bear_score": 7.7,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $63,912.80",
          "bearish BOS below $63,758.30",
          "bearish CHoCH below $62,402.80",
          "broken previous day low $60,866.00"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 24.6,
        "deepest_retracement_pct": 27.7,
        "previous_day_high": 63209.6,
        "previous_day_low": 60866.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 61256.0,
            "low": 60648.0
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $60,849.90는 EQ $60,158.00 위의 premium zone에 위치하여 숏 셋업에 유리\",\n    \"이전일 저점 $60,866.00이 하향 이탈되었고 현재가가 그 아래에 있어 지지의 저항 전환 가능성\",\n    \"최근 확정 구조 이벤트가 CHoCH_bearish at $62,402.80로 마감되어 단기 구조가 하방으로 전환\",\n    \"상위 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에서 거래되어 기관 플로우 기준 매도 우위\",\n    \"London range high $61,256.00 아래에서 가격이 눌려 있으며, London low $60,648.00 재공격 가능성\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. BOS/CHoCH 시퀀스는 CHoCH_bearish $63,912.80, BOS_bearish $63,758.30 이후 일시적 BOS_bullish $62,837.10이 있었지만, 최신 이벤트가 CHoCH_bearish $62,402.80로 다시 하방 전환을 확인했다. 현재가 $60,849.90는 이전일 저점 $60,866.00을 하향 이탈한 상태이며, EQ $60,158.00 위 premium zone에 있어 반등 매도 조건이 유지된다. 다만 활성 OB와 미충족 FVG가 모두 0개이고 최근 liquidity sweep도 감지되지 않아, 진입 근거는 구조와 프리미엄 위치 중심이며 데이터 품질은 중간으로 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      60648.0,\n      60158.0,\n      59060.0\n    ],\n    \"resistance\": [\n      60866.0,\n      61256.0,\n      62402.8,\n      62837.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,256.00 상향 돌파 및 15분봉 종가 안착\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 이전일 저점 $60,866.00을 빠르게 회복하고 London high 및 range high인 $61,256.00 위로 안착하는 경우다. 이 경우 하방 이탈이 sell-side liquidity sweep으로만 끝났을 가능성이 커지며, 다음 유동성 목표는 EMA120 $61,449.68, EMA240 $62,156.69, 이후 bearish CHoCH 레벨 $62,402.80이 된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "7일 범위 EQ $62,328.60 아래의 디스카운트 구간에서 현재가 $60,849.90 거래",
        "현재가가 EMA20 $60,788.39를 소폭 상회하며 단기 지지 반응 발생",
        "최근 패턴 중 strict 등급의 bullish_harami가 고거래량으로 감지됨",
        "7일 저점 $59,060.00에 가까운 하단부에서 반등 시도 중이나 BOS/CHoCH는 아직 미확인"
      ],
      "reasoning": "현재 BTC는 $60,849.90로 EMA20 $60,788.39 위에 간신히 올라섰지만, EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있어 확인된 구조는 여전히 약세입니다. 최근 8개 패턴에서 bullish_engulfing과 bearish_engulfing이 반복되고 bull_score 2.95, bear_score 3.00으로 거의 균형이므로 명확한 방향성보다는 15분봉 단기 혼조가 우세합니다. 다만 strict 등급의 bullish_harami가 품질 0.768 및 고거래량으로 감지되어, $59,060.00 저점 인근 디스카운트 구간에서 반등 셋업은 존재합니다. 구조적으로는 $61,449.68~$62,156.69 위로 수용되기 전까지 약세 우위이며, 셋업 관점에서는 $60,788.39 EMA20 방어 여부가 단기 반등 지속의 핵심입니다.",
      "key_levels": {
        "support": [
          60788.39,
          59060.0
        ],
        "resistance": [
          61449.68,
          62156.69,
          62328.6,
          65597.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,060.00 하향 이탈",
      "risk_scenario": "$59,060.00이 이탈되면 고거래량 bullish_harami 기반의 반등 셋업은 실패로 해석되며, 7일 저점 붕괴에 따른 추가 매도와 약세 구조 연장이 우세해질 수 있습니다. 반대로 $62,328.60 EQ 위로 15분봉 종가가 안착하면 현재의 약세 구조 판단은 중립 또는 강세 전환 검토가 필요합니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 121,
        "recent_patterns": 8,
        "pattern_list": [
          "bullish_engulfing@291",
          "bearish_engulfing@292",
          "bullish_engulfing@293",
          "bearish_engulfing@294",
          "bearish_engulfing@296",
          "bearish_engulfing@298",
          "bullish_engulfing@299",
          "bullish_harami@295"
        ],
        "atr_value": 194.43,
        "vol_avg_20": 962.68,
        "high_volume_patterns": [
          "bullish_harami"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.768,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.581,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.55,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.544,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.449,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.768,
        "bull_score": 2.95,
        "bear_score": 3.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"7일 범위 EQ $62,328.60 아래의 디스카운트 구간에서 현재가 $60,849.90 거래\",\n    \"현재가가 EMA20 $60,788.39를 소폭 상회하며 단기 지지 반응 발생\",\n    \"최근 패턴 중 strict 등급의 bullish_harami가 고거래량으로 감지됨\",\n    \"7일 저점 $59,060.00에 가까운 하단부에서 반등 시도 중이나 BOS/CHoCH는 아직 미확인\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,849.90로 EMA20 $60,788.39 위에 간신히 올라섰지만, EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있어 확인된 구조는 여전히 약세입니다. 최근 8개 패턴에서 bullish_engulfing과 bearish_engulfing이 반복되고 bull_score 2.95, bear_score 3.00으로 거의 균형이므로 명확한 방향성보다는 15분봉 단기 혼조가 우세합니다. 다만 strict 등급의 bullish_harami가 품질 0.768 및 고거래량으로 감지되어, $59,060.00 저점 인근 디스카운트 구간에서 반등 셋업은 존재합니다. 구조적으로는 $61,449.68~$62,156.69 위로 수용되기 전까지 약세 우위이며, 셋업 관점에서는 $60,788.39 EMA20 방어 여부가 단기 반등 지속의 핵심입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60788.39,\n      59060.0\n    ],\n    \"resistance\": [\n      61449.68,\n      62156.69,\n      62328.6,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,060.00 하향 이탈\",\n  \"risk_scenario\": \"$59,060.00이 이탈되면 고거래량 bullish_harami 기반의 반등 셋업은 실패로 해석되며, 7일 저점 붕괴에 따른 추가 매도와 약세 구조 연장이 우세해질 수 있습니다. 반대로 $62,328.60 EQ 위로 15분봉 종가가 안착하면 현재의 약세 구조 판단은 중립 또는 강세 전환 검토가 필요합니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "가격 $60,849.90이 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있어 구조적 반등 확인 전까지 하락 레짐 유지",
        "7일 범위 EQ 약 $62,328.60 아래의 discount 구간에 있으나, 반등 참여가 약해 아직 bullish confirmation 부재",
        "OI가 24시간 +3.2020% 증가했지만 CVD는 -13,996.4950 감소하여 신규 포지션 유입 대비 매수 체결 참여가 약한 bearish divergence",
        "롱 계정 비율 0.703, 숏 계정 비율 0.297로 account_long_crowding 1.000 발생 — 롱 포지셔닝 과밀의 역추세 bearish 신호",
        "상단 $61,900-$62,200에 청산 밀집이 있으나, $62,330 이상 구조적 수용 전에는 숏 커버링 목표이자 저항 구간으로 작동 가능"
      ],
      "reasoning": "현재 BTC는 $60,849.90으로 EMA20 $60,788.39 부근에서는 버티고 있지만, EMA120 $61,449.68과 EMA240 $62,156.69 아래에 있어 확인된 구조는 아직 bearish입니다. 파생 포지셔닝은 OI가 24시간 +3.2020% 증가하는 동안 CVD가 -13,996.4950 하락해, 신규 포지션이 붙고 있음에도 공격적 매수 참여가 따라오지 않는 약한 구조를 보여줍니다. 특히 롱 계정 비율이 0.703까지 상승했고 account_long_crowding이 1.000으로 극단적이어서, 반등보다 롱 청산 또는 하방 유동성 테스트 가능성이 더 큽니다. 단기적으로 $61,900-$62,200 상단 청산 구간은 숏 스퀴즈 자석이지만, $62,330 이상 안착 전까지는 저항으로 보고 $59,060 및 $58,600-$58,500 하방 유동성 재방문 리스크가 우세합니다.",
      "key_levels": {
        "support": [
          60788.39,
          59060,
          58600,
          58500,
          54800,
          54700
        ],
        "resistance": [
          61449.68,
          61900,
          62000,
          62156.69,
          62200,
          62328.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "62330",
      "risk_scenario": "$62,330 이상에서 15분봉 기준 수용이 발생하면 $61,900-$62,200 청산 클러스터가 흡수된 것으로 해석되며, 숏 커버링이 확대되어 $62,156.69 EMA240 회복 후 $62,328.60 7일 EQ 상단 재진입 시 bearish setup은 무효화됩니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -13996.495,
        "oi_trend": 0.82,
        "oi_change_pct_24h": 3.202,
        "oi_latest": 100949.727,
        "funding_pressure": 0.498,
        "funding_avg": 2.46e-06,
        "funding_change_24h": -3.557e-05,
        "long_account_ratio": 0.694,
        "short_account_ratio": 0.306,
        "long_account_latest": 0.703,
        "short_account_latest": 0.297,
        "long_account_change_24h": 0.0337,
        "short_account_change_24h": -0.0337,
        "account_flow_label": "long_accounts_rising_short_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.486,
        "spot_futures_basis_pct": -0.0554,
        "basis_change_lookback": -0.0118,
        "aggregate_score": 0.421,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            58600,
            2529.06930825
          ],
          [
            58500,
            3009.3844182500006
          ],
          [
            54800,
            2722.8287550000005
          ]
        ],
        "liq_above": [
          [
            61900,
            2385.9977495000003
          ],
          [
            62000,
            2965.1454937500002
          ],
          [
            62200,
            2628.5822515000004
          ]
        ],
        "strongest_liq_level": 54700,
        "fragility_score": 0.802,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"가격 $60,849.90이 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있어 구조적 반등 확인 전까지 하락 레짐 유지\",\n    \"7일 범위 EQ 약 $62,328.60 아래의 discount 구간에 있으나, 반등 참여가 약해 아직 bullish confirmation 부재\",\n    \"OI가 24시간 +3.2020% 증가했지만 CVD는 -13,996.4950 감소하여 신규 포지션 유입 대비 매수 체결 참여가 약한 bearish divergence\",\n    \"롱 계정 비율 0.703, 숏 계정 비율 0.297로 account_long_crowding 1.000 발생 — 롱 포지셔닝 과밀의 역추세 bearish 신호\",\n    \"상단 $61,900-$62,200에 청산 밀집이 있으나, $62,330 이상 구조적 수용 전에는 숏 커버링 목표이자 저항 구간으로 작동 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,849.90으로 EMA20 $60,788.39 부근에서는 버티고 있지만, EMA120 $61,449.68과 EMA240 $62,156.69 아래에 있어 확인된 구조는 아직 bearish입니다. 파생 포지셔닝은 OI가 24시간 +3.2020% 증가하는 동안 CVD가 -13,996.4950 하락해, 신규 포지션이 붙고 있음에도 공격적 매수 참여가 따라오지 않는 약한 구조를 보여줍니다. 특히 롱 계정 비율이 0.703까지 상승했고 account_long_crowding이 1.000으로 극단적이어서, 반등보다 롱 청산 또는 하방 유동성 테스트 가능성이 더 큽니다. 단기적으로 $61,900-$62,200 상단 청산 구간은 숏 스퀴즈 자석이지만, $62,330 이상 안착 전까지는 저항으로 보고 $59,060 및 $58,600-$58,500 하방 유동성 재방문 리스크가 우세합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60788.39,\n      59060,\n      58600,\n      58500,\n      54800,\n      54700\n    ],\n    \"resistance\": [\n      61449.68,\n      61900,\n      62000,\n      62156.69,\n      62200,\n      62328.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"62330\",\n  \"risk_scenario\": \"$62,330 이상에서 15분봉 기준 수용이 발생하면 $61,900-$62,200 청산 클러스터가 흡수된 것으로 해석되며, 숏 커버링이 확대되어 $62,156.69 EMA240 회복 후 $62,328.60 7일 EQ 상단 재진입 시 bearish setup은 무효화됩니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.6,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $60,849.90가 ret_0.382 $60,846.65를 0.01% 거리에서 테스트 중",
        "가격이 단기 스윙 EQ ret_0.5 $60,902.45 아래에 있어 할인 구간에서 반등 setup 형성",
        "스윙 저점 $60,666.00 위에서 유지되며 ret_0.236 $60,777.60 및 ret_0.382 $60,846.65 지지대가 방어 중",
        "강한 피보나치 클러스터 $60,904.53에 ret_0.236, ret_0.382, ret_0.5, ret_0.618, ret_0.786이 집중되어 단기 반응 확률 상승",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로 산출되어 즉각적인 지지 반응 가능성 존재"
      ],
      "reasoning": "확정 구조는 $61,139 → $60,666 하락 스윙이 기준이므로 아직 bearish로 판단한다. 다만 현재가 $60,849.90는 ret_0.382 $60,846.65와 거의 동일한 위치에서 테스트 중이며, confluence_quality 1.000의 $60,904.53 클러스터가 바로 위에 있어 단기 반등 setup은 유효하다. 핵심 저항은 ret_0.5 $60,902.45, 골든 비율 ret_0.618 $60,958.25, ret_0.786 $61,037.70 순서이며 특히 $60,958.25 돌파 여부가 반등 지속성을 가른다. 반대로 $60,777.60 이탈 후 $60,666.00 스윙 저점까지 무너지면 피보나치 반등 setup은 실패하고 $60,537.37, $60,470.22, $60,373.75 확장 지지로 하락이 열릴 수 있다.",
      "key_levels": {
        "support": [
          60846.65,
          60777.6,
          60666.0,
          60537.37,
          60470.22,
          60373.75
        ],
        "resistance": [
          60902.45,
          60958.25,
          61037.7,
          61139.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,666.00",
      "risk_scenario": "$60,666.00 스윙 저점이 붕괴되면 현재의 0.382 지지 반응은 실패로 간주되며, 하락 확장 목표인 ext_1.272 $60,537.37, ext_1.414 $60,470.22, ext_1.618 $60,373.75까지 순차적으로 매도 압력이 확대될 수 있다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $61,139 → $60,666",
        "direction": "down",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 60846.65,
        "nearest_fib_distance": 0.01,
        "golden_ratio_level": 60958.25,
        "fib_ret_382": 60846.65,
        "fib_ret_618": 60958.25,
        "confluence_zones": [
          {
            "price": 60530.02,
            "count": 5,
            "levels": [
              "ext_1.618",
              "ext_1.414",
              "ext_1.272",
              "ret_0.236",
              "ext_1.0"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60904.53,
            "count": 5,
            "levels": [
              "ret_0.236",
              "ret_0.382",
              "ret_0.5",
              "ret_0.618",
              "ret_0.786"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60046.97,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60846.6478,
          60777.604400000004,
          60666.0
        ],
        "resistance_levels": [
          60902.45,
          60958.2522,
          61037.6994
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60777.6,
            "distance_pct": 0.12,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60846.65,
            "distance_pct": 0.01,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 60902.45,
            "distance_pct": 0.09,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60958.25,
            "distance_pct": 0.18,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 61037.7,
            "distance_pct": 0.31,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 60666.0,
            "distance_pct": 0.3,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 60537.37,
            "distance_pct": 0.51,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 60470.22,
            "distance_pct": 0.62,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 60373.75,
            "distance_pct": 0.78,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 60193.1,
            "distance_pct": 1.08,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.6,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $60,849.90가 ret_0.382 $60,846.65를 0.01% 거리에서 테스트 중\",\n    \"가격이 단기 스윙 EQ ret_0.5 $60,902.45 아래에 있어 할인 구간에서 반등 setup 형성\",\n    \"스윙 저점 $60,666.00 위에서 유지되며 ret_0.236 $60,777.60 및 ret_0.382 $60,846.65 지지대가 방어 중\",\n    \"강한 피보나치 클러스터 $60,904.53에 ret_0.236, ret_0.382, ret_0.5, ret_0.618, ret_0.786이 집중되어 단기 반응 확률 상승\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로 산출되어 즉각적인 지지 반응 가능성 존재\"\n  ],\n  \"reasoning\": \"확정 구조는 $61,139 → $60,666 하락 스윙이 기준이므로 아직 bearish로 판단한다. 다만 현재가 $60,849.90는 ret_0.382 $60,846.65와 거의 동일한 위치에서 테스트 중이며, confluence_quality 1.000의 $60,904.53 클러스터가 바로 위에 있어 단기 반등 setup은 유효하다. 핵심 저항은 ret_0.5 $60,902.45, 골든 비율 ret_0.618 $60,958.25, ret_0.786 $61,037.70 순서이며 특히 $60,958.25 돌파 여부가 반등 지속성을 가른다. 반대로 $60,777.60 이탈 후 $60,666.00 스윙 저점까지 무너지면 피보나치 반등 setup은 실패하고 $60,537.37, $60,470.22, $60,373.75 확장 지지로 하락이 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60846.65,\n      60777.6,\n      60666.0,\n      60537.37,\n      60470.22,\n      60373.75\n    ],\n    \"resistance\": [\n      60902.45,\n      60958.25,\n      61037.7,\n      61139.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,666.00\",\n  \"risk_scenario\": \"$60,666.00 스윙 저점이 붕괴되면 현재의 0.382 지지 반응은 실패로 간주되며, 하락 확장 목표인 ext_1.272 $60,537.37, ext_1.414 $60,470.22, ext_1.618 $60,373.75까지 순차적으로 매도 압력이 확대될 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $60,849.90가 최근 LPSY $60,960.50 아래에 있어 약한 되돌림 이후 공급 재출현 구간에 위치",
        "최근 SOW $60,690.60 및 Phase E 저점 $60,648.00 인근에서 반등이 제한되어 하단 이탈 후 재테스트 성격",
        "활성 재분배 구조에서 UT $62,999.90 이후 UTAD $63,209.60 실패가 확인되어 상단 유동성 흡수 후 약세 진행",
        "EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 가격이 위치해 중기 공급 우위가 유지됨"
      ],
      "reasoning": "15분 구조는 regime=DIS, regime_fitness 0.963으로 분배/재분배 해석이 우세하며, 확인된 이전 분배 구조는 BC $64,384.30 → AR $64,014.90 → ST $64,637.10 → UT $64,247.20 → SOW $62,532.40 → Phase E $59,060.00 순서로 완성되었습니다. 현재 활성 구조도 재분배 성격으로, UTAD $63,209.60 이후 LPSY $60,960.50, SOW $60,690.60, Phase E $60,648.00가 순차적으로 찍혀 구조적 편향은 bearish입니다. 다만 현재가 $60,849.90는 SOW/Phase E 저점 바로 위이자 LPSY $60,960.50 바로 아래라, 즉시 추격보다는 $60,960.50 회복 실패 여부가 단기 핵심입니다. $60,960.50 위로 회복하면 단기 반등 테스트가 $61,449.68 EMA120 또는 $61,916.90 부근까지 열릴 수 있으나, $63,209.60 UTAD를 회복하기 전까지 분배 구조 자체는 무효화되지 않습니다.",
      "key_levels": {
        "support": [
          60690.6,
          60648.0,
          59060.0
        ],
        "resistance": [
          60960.5,
          61449.68,
          61916.9,
          62812.2,
          63209.6,
          64014.9,
          64384.3
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "63209.60",
      "risk_scenario": "$60,960.50 LPSY를 회복하고 그 위에서 15분 종가 수용이 반복되면 단기 약세 셋업은 약화되며, $61,449.68 EMA120 및 $61,916.90 재테스트가 우선될 수 있습니다. 특히 $63,209.60 UTAD 상단을 회복하면 현재 재분배 기반의 bearish 구조 해석은 무효화되고, 이전 하락은 실패한 SOW 또는 하단 유동성 흡수로 재평가해야 합니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 91.9,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 26,
            "price": 64384.3,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 30,
            "price": 64014.9,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 76,
            "price": 64637.1,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 99,
            "price": 63852.5,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 103,
            "price": 64247.2,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 117,
            "price": 62532.4,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 259,
            "price": 59060.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 26,
            "end_idx": 259,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 26,
                "price": 64384.3,
                "color": "#ffd166",
                "dt": "2026-06-22 16:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 30,
                "price": 64014.9,
                "color": "#06d6a0",
                "dt": "2026-06-22 17:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 76,
                "price": 64637.1,
                "color": "#118ab2",
                "dt": "2026-06-23 05:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 99,
                "price": 63852.5,
                "color": "#ef476f",
                "dt": "2026-06-23 10:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 103,
                "price": 64247.2,
                "color": "#f9844a",
                "dt": "2026-06-23 11:45:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 117,
                "price": 62532.4,
                "color": "#ef476f",
                "dt": "2026-06-23 15:15:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 259,
                "price": 59060.0,
                "color": "#7209b7",
                "dt": "2026-06-25 02:45:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 146,
            "end_idx": 297,
            "phase_count": 9,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 146,
                "price": 61916.9,
                "color": "#ffd166",
                "dt": "2026-06-23 22:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 156,
                "price": 62812.2,
                "color": "#06d6a0",
                "dt": "2026-06-24 01:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 167,
                "price": 62075.6,
                "color": "#118ab2",
                "dt": "2026-06-24 03:45:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 175,
                "price": 62344.2,
                "color": "#ef476f",
                "dt": "2026-06-24 05:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 190,
                "price": 62999.9,
                "color": "#f9844a",
                "dt": "2026-06-24 09:30:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 235,
                "price": 63209.6,
                "color": "#f9844a",
                "dt": "2026-06-24 20:45:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 291,
                "price": 60960.5,
                "color": "#8338ec",
                "dt": "2026-06-25 10:45:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 292,
                "price": 60690.6,
                "color": "#ef476f",
                "dt": "2026-06-25 11:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 297,
                "price": 60648.0,
                "color": "#7209b7",
                "dt": "2026-06-25 12:15:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 64014.9,
        "main_range_high": 64384.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $60,849.90가 최근 LPSY $60,960.50 아래에 있어 약한 되돌림 이후 공급 재출현 구간에 위치\",\n    \"최근 SOW $60,690.60 및 Phase E 저점 $60,648.00 인근에서 반등이 제한되어 하단 이탈 후 재테스트 성격\",\n    \"활성 재분배 구조에서 UT $62,999.90 이후 UTAD $63,209.60 실패가 확인되어 상단 유동성 흡수 후 약세 진행\",\n    \"EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 가격이 위치해 중기 공급 우위가 유지됨\"\n  ],\n  \"reasoning\": \"15분 구조는 regime=DIS, regime_fitness 0.963으로 분배/재분배 해석이 우세하며, 확인된 이전 분배 구조는 BC $64,384.30 → AR $64,014.90 → ST $64,637.10 → UT $64,247.20 → SOW $62,532.40 → Phase E $59,060.00 순서로 완성되었습니다. 현재 활성 구조도 재분배 성격으로, UTAD $63,209.60 이후 LPSY $60,960.50, SOW $60,690.60, Phase E $60,648.00가 순차적으로 찍혀 구조적 편향은 bearish입니다. 다만 현재가 $60,849.90는 SOW/Phase E 저점 바로 위이자 LPSY $60,960.50 바로 아래라, 즉시 추격보다는 $60,960.50 회복 실패 여부가 단기 핵심입니다. $60,960.50 위로 회복하면 단기 반등 테스트가 $61,449.68 EMA120 또는 $61,916.90 부근까지 열릴 수 있으나, $63,209.60 UTAD를 회복하기 전까지 분배 구조 자체는 무효화되지 않습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60690.6,\n      60648.0,\n      59060.0\n    ],\n    \"resistance\": [\n      60960.5,\n      61449.68,\n      61916.9,\n      62812.2,\n      63209.6,\n      64014.9,\n      64384.3\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"63209.60\",\n  \"risk_scenario\": \"$60,960.50 LPSY를 회복하고 그 위에서 15분 종가 수용이 반복되면 단기 약세 셋업은 약화되며, $61,449.68 EMA120 및 $61,916.90 재테스트가 우선될 수 있습니다. 특히 $63,209.60 UTAD 상단을 회복하면 현재 재분배 기반의 bearish 구조 해석은 무효화되고, 이전 하락은 실패한 SOW 또는 하단 유동성 흡수로 재평가해야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.38,
      "setup_signals": [
        "엄격한 고품질 bullish Bat 형성 PRZ가 $60,331.54-$60,648.64에 위치하며, D 예상값은 $60,490.09이고 현재가 $60,849.90 대비 약 -0.59% 아래에 있음",
        "해당 Bat PRZ는 ABCD, BC_EXT, XAD 3개 Fib family가 겹친 고컨플루언스 구간이며 PRZ 폭은 0.524%로 비교적 좁음",
        "완성된 bullish Crab 후보 PRZ $60,728.36-$61,472.58 안에 현재가가 위치해 있으며, PRZ_touch_or_entry, initial_PRZ_reaction, post_D_close_progress 조건으로 반응 확인은 있으나 품질은 low/candidate임",
        "Bat 기준 반등 시 TP ladder는 $60,782.67, $60,963.42, $61,256.00이며, 이 구간은 단기 반등 웨이포인트로 유효함",
        "현재가는 EMA20 $60,788.39 부근에서 횡보 중이나 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있어 구조적 추세 전환 확인은 아직 부족함"
      ],
      "reasoning": "현재 가장 중요한 실행형 harmonic setup은 $60,331.54-$60,648.64의 bullish Bat PRZ이며, 점수 0.943, ratio_score 1.0, prz_score 1.0으로 품질은 높지만 아직 PRZ 터치 및 거절 확인이 없어 pre-confirmation 후보에 불과하다. 완성된 bullish Crab은 $60,728.36-$61,472.58 활성 PRZ에서 반응 확인이 있으나 pattern_score 0.494, low/candidate 등급이므로 방향성을 단독으로 확정하기에는 약하다. 따라서 setup_bias는 $60.3K-$60.6K 하방 PRZ 반응을 노리는 bullish로 보지만, 구조적으로는 15m 기준 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있고 명확한 BOS/CHoCH 확인 데이터가 없어 structure_bias는 neutral로 둔다. harmonic 거버넌스상 확인 전 PRZ는 메인 경로를 뒤집을 수 없으므로 전체 신호는 중립이며, $60,490 부근 진입 후 sweep→reclaim 또는 15m MSS가 나오면 bullish 신뢰도가 상승한다.",
      "key_levels": {
        "support": [
          60728.36,
          60648.64,
          60490.09,
          60331.54,
          60184.9,
          59060.0
        ],
        "resistance": [
          60963.42,
          61256.0,
          61449.68,
          61472.58,
          62156.69,
          62330.56
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60184.90",
      "risk_scenario": "$60,331.54-$60,648.64의 bullish Bat PRZ에서 반등하지 못하고 $60,184.90 아래로 구조적으로 수용되면 bullish harmonic setup은 실패로 간주된다. 이 경우 $60,000 심리 레벨 및 7일 저점 $59,060.00 재탐색 위험이 커지며, 반대로 $61,256.00 회복 후 $61,449.68 EMA120 위 안착이 나오면 bullish 반응 시나리오가 강화된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 46,
        "completed_patterns_found": 18,
        "forming_d_prz_found": 28,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 27,
        "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": 19,
          "medium": 12,
          "low": 15
        },
        "prz_status_counts": {
          "active": 2,
          "nearby": 4,
          "watch": 2,
          "far": 38,
          "forming": 21
        },
        "high_confluence_prz_count": 35,
        "strict_patterns_found": 33,
        "candidate_patterns_found": 13,
        "active_patterns_at_prz": 2,
        "nearby_patterns": 4,
        "all_patterns": [
          "bat",
          "bat",
          "bat",
          "bat",
          "shark",
          "crab",
          "gartley",
          "gartley",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "shark",
          "shark",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.943,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 61100.47,
        "price_to_prz": 0.41,
        "prz_range": [
          60728.36,
          61472.58
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60490.09,
            "prz_range": [
              60331.54,
              60648.64
            ],
            "prz_width_pct": 0.524,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.59,
            "price_to_prz_pct_raw": -0.5913,
            "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": 60490.09,
              "a_price": 61256.0,
              "tp1_ad_382": 60782.67,
              "tp2_ad_618": 60963.42,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4952,
              "ABC": 0.4128
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60752.8,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.866,
            "ratio_score": 0.778,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60499.11,
            "prz_range": [
              60346.3,
              60651.91
            ],
            "prz_width_pct": 0.505,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.58,
            "price_to_prz_pct_raw": -0.5765,
            "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": 60499.11,
              "a_price": 61256.0,
              "tp1_ad_382": 60788.24,
              "tp2_ad_618": 60966.87,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5807,
              "ABC": 0.4992
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60666.0,
            "b_idx": 287,
            "b_order": 5,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.862,
            "ratio_score": 0.993,
            "prz_score": 0.868,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61537.11,
            "prz_range": [
              61247.72,
              61826.5
            ],
            "prz_width_pct": 0.941,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.13,
            "price_to_prz_pct_raw": 1.1294,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61537.11,
              "a_price": 62837.1,
              "tp1_ad_382": 62033.71,
              "tp2_ad_618": 62340.5,
              "tp3_a_or_structure_liquidity": 62837.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7874,
              "ABC": 0.5816
            },
            "x_price": 61870.0,
            "x_idx": 125,
            "x_order": 8,
            "a_price": 62837.1,
            "a_idx": 149,
            "a_order": 8,
            "b_price": 62075.6,
            "b_idx": 167,
            "b_order": 8,
            "c_price": 62518.5,
            "c_idx": 172,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.849,
            "ratio_score": 1.0,
            "prz_score": 0.778,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61386.94,
            "prz_range": [
              61027.55,
              61746.33
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.88,
            "price_to_prz_pct_raw": 0.8826,
            "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": 61386.94,
              "a_price": 60752.8,
              "tp1_ad_382": 61144.7,
              "tp2_ad_618": 60995.04,
              "tp3_a_or_structure_liquidity": 60752.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4503,
              "ABC": 1.2248
            },
            "x_price": 59895.3,
            "x_idx": 261,
            "x_order": 3,
            "a_price": 60752.8,
            "a_idx": 278,
            "a_order": 3,
            "b_price": 61138.9,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 60666.0,
            "c_idx": 287,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.829,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 60352.15,
            "prz_range": [
              60184.9,
              60519.39
            ],
            "prz_width_pct": 0.554,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.82,
            "price_to_prz_pct_raw": -0.818,
            "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": 60352.15,
              "a_price": 61256.0,
              "tp1_ad_382": 60697.42,
              "tp2_ad_618": 60910.73,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4045,
              "ABC": 0.4128
            },
            "x_price": 62500.0,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60752.8,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.802,
            "ratio_score": 1.0,
            "prz_score": 0.664,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 61652.74,
            "prz_range": [
              61201.13,
              62104.36
            ],
            "prz_width_pct": 1.465,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.32,
            "price_to_prz_pct_raw": 1.3194,
            "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": 61652.74,
              "a_price": 62600.0,
              "tp1_ad_382": 62014.6,
              "tp2_ad_618": 62238.15,
              "tp3_a_or_structure_liquidity": 62600.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6011,
              "ABC": 0.8143
            },
            "x_price": 61870.0,
            "x_idx": 125,
            "x_order": 8,
            "a_price": 62600.0,
            "a_idx": 138,
            "a_order": 8,
            "b_price": 62161.2,
            "b_idx": 153,
            "b_order": 5,
            "c_price": 62518.5,
            "c_idx": 172,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.791,
            "ratio_score": 1.0,
            "prz_score": 0.711,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 59991.23,
            "prz_range": [
              59587.95,
              60394.5
            ],
            "prz_width_pct": 1.344,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.41,
            "price_to_prz_pct_raw": -1.4111,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59991.23,
              "a_price": 61256.0,
              "tp1_ad_382": 60474.37,
              "tp2_ad_618": 60772.86,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5807,
              "ABC": 0.4992
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60666.0,
            "b_idx": 287,
            "b_order": 5,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.494,
            "ratio_score": 0.347,
            "prz_score": 0.543,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60752.8,
            "prz_range": [
              60728.36,
              61472.58
            ],
            "prz_width_pct": 1.218,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.41,
            "price_to_prz_pct_raw": 0.4118,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.165,
                "adverse_move_ratio_ad": 0.037,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "crab",
              "d_price": 61100.47,
              "a_price": 63090.9,
              "tp1_ad_382": 61860.82,
              "tp2_ad_618": 62330.56,
              "tp3_a_or_structure_liquidity": 63090.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.582,
              "ABC": 0.9367,
              "BCD": 4.1566,
              "XAD": 2.3029
            },
            "x_price": 62075.6,
            "x_idx": 167,
            "x_order": 8,
            "a_price": 63090.9,
            "a_idx": 194,
            "a_order": 8,
            "b_price": 62500.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 63053.5,
            "c_idx": 210,
            "c_order": 8,
            "d_idx": 278
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60490.09,
            "prz_range": [
              60331.54,
              60648.64
            ],
            "prz_width_pct": 0.524,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.59,
            "price_to_prz_pct_raw": -0.5913,
            "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": 60490.09,
              "a_price": 61256.0,
              "tp1_ad_382": 60782.67,
              "tp2_ad_618": 60963.42,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4952,
              "ABC": 0.4128
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60752.8,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60490.09,
            "prz_range": [
              60331.54,
              60648.64
            ],
            "prz_width_pct": 0.524,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.59,
            "price_to_prz_pct_raw": -0.5913,
            "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": 60490.09,
              "a_price": 61256.0,
              "tp1_ad_382": 60782.67,
              "tp2_ad_618": 60963.42,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4952,
              "ABC": 0.4128
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60752.8,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.866,
            "ratio_score": 0.778,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60499.11,
            "prz_range": [
              60346.3,
              60651.91
            ],
            "prz_width_pct": 0.505,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.58,
            "price_to_prz_pct_raw": -0.5765,
            "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": 60499.11,
              "a_price": 61256.0,
              "tp1_ad_382": 60788.24,
              "tp2_ad_618": 60966.87,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5807,
              "ABC": 0.4992
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60666.0,
            "b_idx": 287,
            "b_order": 5,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.862,
            "ratio_score": 0.993,
            "prz_score": 0.868,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61537.11,
            "prz_range": [
              61247.72,
              61826.5
            ],
            "prz_width_pct": 0.941,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.13,
            "price_to_prz_pct_raw": 1.1294,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61537.11,
              "a_price": 62837.1,
              "tp1_ad_382": 62033.71,
              "tp2_ad_618": 62340.5,
              "tp3_a_or_structure_liquidity": 62837.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7874,
              "ABC": 0.5816
            },
            "x_price": 61870.0,
            "x_idx": 125,
            "x_order": 8,
            "a_price": 62837.1,
            "a_idx": 149,
            "a_order": 8,
            "b_price": 62075.6,
            "b_idx": 167,
            "b_order": 8,
            "c_price": 62518.5,
            "c_idx": 172,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.849,
            "ratio_score": 1.0,
            "prz_score": 0.778,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61386.94,
            "prz_range": [
              61027.55,
              61746.33
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.88,
            "price_to_prz_pct_raw": 0.8826,
            "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": 61386.94,
              "a_price": 60752.8,
              "tp1_ad_382": 61144.7,
              "tp2_ad_618": 60995.04,
              "tp3_a_or_structure_liquidity": 60752.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4503,
              "ABC": 1.2248
            },
            "x_price": 59895.3,
            "x_idx": 261,
            "x_order": 3,
            "a_price": 60752.8,
            "a_idx": 278,
            "a_order": 3,
            "b_price": 61138.9,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 60666.0,
            "c_idx": 287,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.829,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 60352.15,
            "prz_range": [
              60184.9,
              60519.39
            ],
            "prz_width_pct": 0.554,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.82,
            "price_to_prz_pct_raw": -0.818,
            "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": 60352.15,
              "a_price": 61256.0,
              "tp1_ad_382": 60697.42,
              "tp2_ad_618": 60910.73,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4045,
              "ABC": 0.4128
            },
            "x_price": 62500.0,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60752.8,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.802,
            "ratio_score": 1.0,
            "prz_score": 0.664,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 61652.74,
            "prz_range": [
              61201.13,
              62104.36
            ],
            "prz_width_pct": 1.465,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.32,
            "price_to_prz_pct_raw": 1.3194,
            "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": 61652.74,
              "a_price": 62600.0,
              "tp1_ad_382": 62014.6,
              "tp2_ad_618": 62238.15,
              "tp3_a_or_structure_liquidity": 62600.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6011,
              "ABC": 0.8143
            },
            "x_price": 61870.0,
            "x_idx": 125,
            "x_order": 8,
            "a_price": 62600.0,
            "a_idx": 138,
            "a_order": 8,
            "b_price": 62161.2,
            "b_idx": 153,
            "b_order": 5,
            "c_price": 62518.5,
            "c_idx": 172,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.791,
            "ratio_score": 1.0,
            "prz_score": 0.711,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 59991.23,
            "prz_range": [
              59587.95,
              60394.5
            ],
            "prz_width_pct": 1.344,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.41,
            "price_to_prz_pct_raw": -1.4111,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59991.23,
              "a_price": 61256.0,
              "tp1_ad_382": 60474.37,
              "tp2_ad_618": 60772.86,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5807,
              "ABC": 0.4992
            },
            "x_price": 62272.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 61256.0,
            "a_idx": 276,
            "a_order": 8,
            "b_price": 60666.0,
            "b_idx": 287,
            "b_order": 5,
            "c_price": 60960.5,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.494,
            "ratio_score": 0.347,
            "prz_score": 0.543,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60752.8,
            "prz_range": [
              60728.36,
              61472.58
            ],
            "prz_width_pct": 1.218,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.41,
            "price_to_prz_pct_raw": 0.4118,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.165,
                "adverse_move_ratio_ad": 0.037,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "crab",
              "d_price": 61100.47,
              "a_price": 63090.9,
              "tp1_ad_382": 61860.82,
              "tp2_ad_618": 62330.56,
              "tp3_a_or_structure_liquidity": 63090.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.582,
              "ABC": 0.9367,
              "BCD": 4.1566,
              "XAD": 2.3029
            },
            "x_price": 62075.6,
            "x_idx": 167,
            "x_order": 8,
            "a_price": 63090.9,
            "a_idx": 194,
            "a_order": 8,
            "b_price": 62500.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 63053.5,
            "c_idx": 210,
            "c_order": 8,
            "d_idx": 278
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.892,
            "ratio_score": 1.0,
            "prz_score": 0.991,
            "prz_proximity": "far",
            "action_status": "forming",
            "high_confluence_prz": true,
            "d_price": 63137.76,
            "prz_range": [
              62941.23,
              63334.29
            ],
            "prz_width_pct": 0.623,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.76,
            "price_to_prz_pct_raw": 3.7598,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 63137.76,
              "a_price": 62161.2,
              "tp1_ad_382": 62764.71,
              "tp2_ad_618": 62534.25,
              "tp3_a_or_structure_liquidity": 62161.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3931,
              "ABC": 0.6115
            },
            "x_price": 63070.1,
            "x_idx": 121,
            "x_order": 3,
            "a_price": 62161.2,
            "a_idx": 153,
            "a_order": 5,
            "b_price": 62518.5,
            "b_idx": 172,
            "b_order": 3,
            "c_price": 62737.0,
            "c_idx": 193,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.885,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "far",
            "action_status": "forming",
            "high_confluence_prz": true,
            "d_price": 62875.49,
            "prz_range": [
              62711.95,
              63039.03
            ],
            "prz_width_pct": 0.52,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.33,
            "price_to_prz_pct_raw": 3.3288,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62875.49,
              "a_price": 62207.1,
              "tp1_ad_382": 62620.17,
              "tp2_ad_618": 62462.43,
              "tp3_a_or_structure_liquidity": 62207.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4553,
              "ABC": 0.6511
            },
            "x_price": 63070.1,
            "x_idx": 121,
            "x_order": 3,
            "a_price": 62207.1,
            "a_idx": 134,
            "a_order": 5,
            "b_price": 62600.0,
            "b_idx": 138,
            "b_order": 8,
            "c_price": 62344.2,
            "c_idx": 175,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.885,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "far",
            "action_status": "forming",
            "high_confluence_prz": true,
            "d_price": 62309.33,
            "prz_range": [
              62156.05,
              62462.61
            ],
            "prz_width_pct": 0.492,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.4,
            "price_to_prz_pct_raw": 2.3984,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62309.33,
              "a_price": 62999.9,
              "tp1_ad_382": 62573.13,
              "tp2_ad_618": 62736.1,
              "tp3_a_or_structure_liquidity": 62999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4642,
              "ABC": 0.502
            },
            "x_price": 62075.6,
            "x_idx": 167,
            "x_order": 8,
            "a_price": 62999.9,
            "a_idx": 190,
            "a_order": 3,
            "b_price": 62570.8,
            "b_idx": 219,
            "b_order": 8,
            "c_price": 62786.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.88,
            "ratio_score": 1.0,
            "prz_score": 0.989,
            "prz_proximity": "far",
            "action_status": "forming",
            "high_confluence_prz": true,
            "d_price": 63353.72,
            "prz_range": [
              63154.56,
              63552.87
            ],
            "prz_width_pct": 0.629,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.11,
            "price_to_prz_pct_raw": 4.1147,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "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.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 63353.72,
              "a_price": 62075.6,
              "tp1_ad_382": 62865.48,
              "tp2_ad_618": 62563.84,
              "tp3_a_or_structure_liquidity": 62075.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5816,
              "ABC": 0.4933
            },
            "x_price": 62837.1,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 62075.6,
            "a_idx": 167,
            "a_order": 8,
            "b_price": 62518.5,
            "b_idx": 172,
            "b_order": 3,
            "c_price": 62737.0,
            "c_idx": 193,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "prz_proximity": "nearby",
            "prz_range": [
              60331.54,
              60648.64
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.59,
            "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": 60490.09,
              "a_price": 61256.0,
              "tp1_ad_382": 60782.67,
              "tp2_ad_618": 60963.42,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,331.54-$60,648.64: 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.943,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 60490.09,
          "prz_range": [
            60331.54,
            60648.64
          ],
          "prz_width_pct": 0.524,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.59,
          "price_to_prz_pct_raw": -0.5913,
          "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": 60490.09,
            "a_price": 61256.0,
            "tp1_ad_382": 60782.67,
            "tp2_ad_618": 60963.42,
            "tp3_a_or_structure_liquidity": 61256.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4952,
            "ABC": 0.4128
          },
          "x_price": 62272.1,
          "x_idx": 232,
          "x_order": 5,
          "a_price": 61256.0,
          "a_idx": 276,
          "a_order": 8,
          "b_price": 60752.8,
          "b_idx": 278,
          "b_order": 3,
          "c_price": 60960.5,
          "c_idx": 291,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 60490.09,
          "a_price": 61256.0,
          "tp1_ad_382": 60782.67,
          "tp2_ad_618": 60963.42,
          "tp3_a_or_structure_liquidity": 61256.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60490.09,
            "a_price": 61256.0,
            "tp1_ad_382": 60782.67,
            "tp2_ad_618": 60963.42,
            "tp3_a_or_structure_liquidity": 61256.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "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": "watch",
        "directional_scores": {
          "bullish": 0.14,
          "bearish": 0
        },
        "directional_score_total": 0.14,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"엄격한 고품질 bullish Bat 형성 PRZ가 $60,331.54-$60,648.64에 위치하며, D 예상값은 $60,490.09이고 현재가 $60,849.90 대비 약 -0.59% 아래에 있음\",\n    \"해당 Bat PRZ는 ABCD, BC_EXT, XAD 3개 Fib family가 겹친 고컨플루언스 구간이며 PRZ 폭은 0.524%로 비교적 좁음\",\n    \"완성된 bullish Crab 후보 PRZ $60,728.36-$61,472.58 안에 현재가가 위치해 있으며, PRZ_touch_or_entry, initial_PRZ_reaction, post_D_close_progress 조건으로 반응 확인은 있으나 품질은 low/candidate임\",\n    \"Bat 기준 반등 시 TP ladder는 $60,782.67, $60,963.42, $61,256.00이며, 이 구간은 단기 반등 웨이포인트로 유효함\",\n    \"현재가는 EMA20 $60,788.39 부근에서 횡보 중이나 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있어 구조적 추세 전환 확인은 아직 부족함\"\n  ],\n  \"reasoning\": \"현재 가장 중요한 실행형 harmonic setup은 $60,331.54-$60,648.64의 bullish Bat PRZ이며, 점수 0.943, ratio_score 1.0, prz_score 1.0으로 품질은 높지만 아직 PRZ 터치 및 거절 확인이 없어 pre-confirmation 후보에 불과하다. 완성된 bullish Crab은 $60,728.36-$61,472.58 활성 PRZ에서 반응 확인이 있으나 pattern_score 0.494, low/candidate 등급이므로 방향성을 단독으로 확정하기에는 약하다. 따라서 setup_bias는 $60.3K-$60.6K 하방 PRZ 반응을 노리는 bullish로 보지만, 구조적으로는 15m 기준 EMA120 $61,449.68 및 EMA240 $62,156.69 아래에 있고 명확한 BOS/CHoCH 확인 데이터가 없어 structure_bias는 neutral로 둔다. harmonic 거버넌스상 확인 전 PRZ는 메인 경로를 뒤집을 수 없으므로 전체 신호는 중립이며, $60,490 부근 진입 후 sweep→reclaim 또는 15m MSS가 나오면 bullish 신뢰도가 상승한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60728.36,\n      60648.64,\n      60490.09,\n      60331.54,\n      60184.9,\n      59060.0\n    ],\n    \"resistance\": [\n      60963.42,\n      61256.0,\n      61449.68,\n      61472.58,\n      62156.69,\n      62330.56\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60184.90\",\n  \"risk_scenario\": \"$60,331.54-$60,648.64의 bullish Bat PRZ에서 반등하지 못하고 $60,184.90 아래로 구조적으로 수용되면 bullish harmonic setup은 실패로 간주된다. 이 경우 $60,000 심리 레벨 및 7일 저점 $59,060.00 재탐색 위험이 커지며, 반대로 $61,256.00 회복 후 $61,449.68 EMA120 위 안착이 나오면 bullish 반응 시나리오가 강화된다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.76,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.7,
      "active_setups": [
        "ICT: 현재가 $60,849.90가 단기 EQ $60,158.00 위 premium zone에 있으며, 전일 저점 $60,866.00 이탈 후 그 아래에서 거래",
        "Wyckoff: 현재가 $60,849.90가 LPSY $60,960.50 아래에 있어 약한 되돌림 이후 공급 재출현 구간",
        "Derivatives: OI 24시간 +3.2020% 증가 중 CVD -13,996.4950 감소, 신규 포지션 유입 대비 공격적 매수 부재",
        "Derivatives: 롱 계정 비율 0.703 및 롱 쏠림 극단으로 하방 청산 취약성 상승",
        "Fibonacci 반대 조건: 현재가가 ret_0.382 $60,846.65 부근에서 반응 중이며 $60,777.60~$60,666.00 방어 시 단기 반등 셋업 존재",
        "Harmonic 반대 조건: 고품질 bullish Bat PRZ $60,331.54~$60,648.64가 아래에 있으나 아직 미확인 반전 후보"
      ],
      "setup_vs_structure": "실행 셋업은 구조와 대체로 정렬되어 있으며, 3개 핵심 분석가가 bearish setup을 제시한다. 다만 피보나치·캔들·하모닉은 $60,846~$60,648 부근의 단기 반등 조건을 제시하므로, 즉시 추격보다는 저항 재확인 또는 하단 반응 실패 여부가 중요하다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        60846.65,
        60788.39,
        60777.6,
        60690.6,
        60648.0,
        60648.64,
        60490.09,
        60331.54,
        60158.0,
        59060.0,
        58600.0,
        58500.0
      ],
      "resistance": [
        60866.0,
        60958.25,
        60960.5,
        60963.42,
        61256.0,
        61449.68,
        61900.0,
        62000.0,
        62156.69,
        62200.0,
        62328.6,
        62402.8,
        62837.1,
        63209.6
      ]
    },
    "confluences": [
      "구조 방향성: ICT, Derivatives, Wyckoff가 모두 bearish 신호를 제시하며, Candlestick과 Fibonacci도 구조 bias 자체는 bearish로 판단한다.",
      "전일 저점/근접 저항: ICT는 전일 저점 $60,866.00 이탈을 지지-저항 전환 조건으로 보고, 현재가 $60,849.90는 그 바로 아래에 위치한다.",
      "LPSY·피보나치·하모닉 TP 밀집: Wyckoff LPSY $60,960.50, Fibonacci ret_0.618 $60,958.25, Harmonic bullish Bat TP2 $60,963.42가 $60,958~$60,963에 밀집한다.",
      "단기 지지 밀집: Candlestick/Derivatives의 EMA20 $60,788.39, Fibonacci ret_0.236 $60,777.60, Harmonic Bat TP1 $60,782.67이 $60,777~$60,788에 집중된다.",
      "핵심 하단 구조대: Wyckoff Phase E 저점 $60,648.00, ICT London low $60,648.00, Harmonic Bat PRZ 상단 $60,648.64가 사실상 동일 가격대에 위치한다.",
      "중기 저항 합의: Candlestick, Derivatives, Wyckoff, Harmonic이 모두 EMA120 $61,449.68을 구조적 저항으로 인식한다.",
      "상위 구조 저항 합의: EMA240 $62,156.69, 7일 EQ $62,328.60, Harmonic 저항 $62,330.56, ICT CHoCH/BOS 구간 $62,402.80~$62,837.10이 $62.15K~$62.84K에 저항 클러스터를 형성한다.",
      "하방 주요 기준: ICT, Candlestick, Derivatives, Wyckoff, Harmonic이 모두 $59,060.00을 중요한 구조 저점 또는 하방 지지로 제시한다."
    ],
    "conflicts": [
      "구조와 단기 반등 셋업의 충돌: 전체 구조는 bearish이나, Fibonacci는 ret_0.382 $60,846.65 테스트와 confluence_quality 1.000을 근거로 bullish setup을 제시한다.",
      "캔들 신호의 혼조: Candlestick은 구조를 bearish로 보면서도 strict bullish_harami와 EMA20 $60,788.39 상회로 단기 반등 가능성을 제시한다.",
      "하모닉은 bullish Bat PRZ $60,331.54~$60,648.64를 제시하지만, 해당 PRZ는 아직 확인 전 후보라 Wyckoff·ICT·Derivatives의 bearish 구조를 뒤집기에는 권한이 낮다.",
      "ICT는 현재가를 자체 단기 레인지 EQ $60,158.00 위의 premium으로 해석해 숏 우위를 보지만, Candlestick/Derivatives는 7일 EQ $62,328.60 아래 discount 구간으로 해석해 반등 셋업 여지를 남긴다.",
      "파생 포지셔닝은 OI 증가와 CVD 하락으로 bearish divergence를 보이나, 상단 $61,900~$62,200 청산 밀집은 구조적 저항이면서 동시에 단기 변동성 리스크로 작용한다."
    ],
    "executive_summary": "BTC 15분 구조는 전반적으로 bearish이며, 이전 분배 구조가 $59,060.00 Phase E 저점까지 진행된 뒤 현재는 $63,209.60 UTAD 실패 이후의 재분배 후보 구조로 해석된다. 현재 위치는 LPSY $60,960.50 아래, SOW $60,690.60 및 Phase E $60,648.00 위의 하단 재테스트 구간으로, 구조상 공급 재출현 여부를 확인하는 단계다. $60,958~$60,963에는 Wyckoff LPSY, Fibonacci 0.618, Harmonic TP가 겹치는 단기 저항 클러스터가 있고, $60,648 부근은 Wyckoff·ICT·Harmonic이 공유하는 하단 구조 기준이다. 단기적으로는 Fibonacci·Candlestick·Harmonic의 반등 후보가 존재하지만, 이는 확인 전 실행 조건이며 전체 구조 bias를 뒤집지는 못한다. 구조 무효화는 $63,209.60 회복이며, 그 전에는 $62,402.80~$62,837.10 회복 여부가 bearish 구조 약화의 선행 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.76,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.7,\n    \"active_setups\": [\n      \"ICT: 현재가 $60,849.90가 단기 EQ $60,158.00 위 premium zone에 있으며, 전일 저점 $60,866.00 이탈 후 그 아래에서 거래\",\n      \"Wyckoff: 현재가 $60,849.90가 LPSY $60,960.50 아래에 있어 약한 되돌림 이후 공급 재출현 구간\",\n      \"Derivatives: OI 24시간 +3.2020% 증가 중 CVD -13,996.4950 감소, 신규 포지션 유입 대비 공격적 매수 부재\",\n      \"Derivatives: 롱 계정 비율 0.703 및 롱 쏠림 극단으로 하방 청산 취약성 상승\",\n      \"Fibonacci 반대 조건: 현재가가 ret_0.382 $60,846.65 부근에서 반응 중이며 $60,777.60~$60,666.00 방어 시 단기 반등 셋업 존재\",\n      \"Harmonic 반대 조건: 고품질 bullish Bat PRZ $60,331.54~$60,648.64가 아래에 있으나 아직 미확인 반전 후보\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조와 대체로 정렬되어 있으며, 3개 핵심 분석가가 bearish setup을 제시한다. 다만 피보나치·캔들·하모닉은 $60,846~$60,648 부근의 단기 반등 조건을 제시하므로, 즉시 추격보다는 저항 재확인 또는 하단 반응 실패 여부가 중요하다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      60846.65,\n      60788.39,\n      60777.6,\n      60690.6,\n      60648.0,\n      60648.64,\n      60490.09,\n      60331.54,\n      60158.0,\n      59060.0,\n      58600.0,\n      58500.0\n    ],\n    \"resistance\": [\n      60866.0,\n      60958.25,\n      60960.5,\n      60963.42,\n      61256.0,\n      61449.68,\n      61900.0,\n      62000.0,\n      62156.69,\n      62200.0,\n      62328.6,\n      62402.8,\n      62837.1,\n      63209.6\n    ]\n  },\n  \"confluences\": [\n    \"구조 방향성: ICT, Derivatives, Wyckoff가 모두 bearish 신호를 제시하며, Candlestick과 Fibonacci도 구조 bias 자체는 bearish로 판단한다.\",\n    \"전일 저점/근접 저항: ICT는 전일 저점 $60,866.00 이탈을 지지-저항 전환 조건으로 보고, 현재가 $60,849.90는 그 바로 아래에 위치한다.\",\n    \"LPSY·피보나치·하모닉 TP 밀집: Wyckoff LPSY $60,960.50, Fibonacci ret_0.618 $60,958.25, Harmonic bullish Bat TP2 $60,963.42가 $60,958~$60,963에 밀집한다.\",\n    \"단기 지지 밀집: Candlestick/Derivatives의 EMA20 $60,788.39, Fibonacci ret_0.236 $60,777.60, Harmonic Bat TP1 $60,782.67이 $60,777~$60,788에 집중된다.\",\n    \"핵심 하단 구조대: Wyckoff Phase E 저점 $60,648.00, ICT London low $60,648.00, Harmonic Bat PRZ 상단 $60,648.64가 사실상 동일 가격대에 위치한다.\",\n    \"중기 저항 합의: Candlestick, Derivatives, Wyckoff, Harmonic이 모두 EMA120 $61,449.68을 구조적 저항으로 인식한다.\",\n    \"상위 구조 저항 합의: EMA240 $62,156.69, 7일 EQ $62,328.60, Harmonic 저항 $62,330.56, ICT CHoCH/BOS 구간 $62,402.80~$62,837.10이 $62.15K~$62.84K에 저항 클러스터를 형성한다.\",\n    \"하방 주요 기준: ICT, Candlestick, Derivatives, Wyckoff, Harmonic이 모두 $59,060.00을 중요한 구조 저점 또는 하방 지지로 제시한다.\"\n  ],\n  \"conflicts\": [\n    \"구조와 단기 반등 셋업의 충돌: 전체 구조는 bearish이나, Fibonacci는 ret_0.382 $60,846.65 테스트와 confluence_quality 1.000을 근거로 bullish setup을 제시한다.\",\n    \"캔들 신호의 혼조: Candlestick은 구조를 bearish로 보면서도 strict bullish_harami와 EMA20 $60,788.39 상회로 단기 반등 가능성을 제시한다.\",\n    \"하모닉은 bullish Bat PRZ $60,331.54~$60,648.64를 제시하지만, 해당 PRZ는 아직 확인 전 후보라 Wyckoff·ICT·Derivatives의 bearish 구조를 뒤집기에는 권한이 낮다.\",\n    \"ICT는 현재가를 자체 단기 레인지 EQ $60,158.00 위의 premium으로 해석해 숏 우위를 보지만, Candlestick/Derivatives는 7일 EQ $62,328.60 아래 discount 구간으로 해석해 반등 셋업 여지를 남긴다.\",\n    \"파생 포지셔닝은 OI 증가와 CVD 하락으로 bearish divergence를 보이나, 상단 $61,900~$62,200 청산 밀집은 구조적 저항이면서 동시에 단기 변동성 리스크로 작용한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 분배/재분배 체계를 가장 구체적으로 제시했다. 이전 분배 구조는 BC $64,384.30, ST $64,637.10, SOW $62,532.40, Phase E $59,060.00으로 완성되었고, 현재 활성 구조는 UTAD $63,209.60 이후 LPSY $60,960.50, SOW $60,690.60, Phase E $60,648.00로 이어지는 재분배 성격을 보인다. 구조 적합도와 단계 식별이 높고, 현재가가 LPSY 아래에 있다는 점이 bearish 구조 판단을 강화한다.\",\n  \"invalidation_level\": \"구조적 bearish thesis는 $63,209.60 UTAD 상단을 15분봉 기준으로 회복·수용하면 무효화된다. 그 전 단계에서는 $62,402.80 및 $62,837.10 회복이 bearish 구조 약화 신호다.\",\n  \"executive_summary\": \"BTC 15분 구조는 전반적으로 bearish이며, 이전 분배 구조가 $59,060.00 Phase E 저점까지 진행된 뒤 현재는 $63,209.60 UTAD 실패 이후의 재분배 후보 구조로 해석된다. 현재 위치는 LPSY $60,960.50 아래, SOW $60,690.60 및 Phase E $60,648.00 위의 하단 재테스트 구간으로, 구조상 공급 재출현 여부를 확인하는 단계다. $60,958~$60,963에는 Wyckoff LPSY, Fibonacci 0.618, Harmonic TP가 겹치는 단기 저항 클러스터가 있고, $60,648 부근은 Wyckoff·ICT·Harmonic이 공유하는 하단 구조 기준이다. 단기적으로는 Fibonacci·Candlestick·Harmonic의 반등 후보가 존재하지만, 이는 확인 전 실행 조건이며 전체 구조 bias를 뒤집지는 못한다. 구조 무효화는 $63,209.60 회복이며, 그 전에는 $62,402.80~$62,837.10 회복 여부가 bearish 구조 약화의 선행 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.76,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 60958.25,
        "type": "resistance_test",
        "source": "fibonacci (ret_0.618 $60,958.25), wyckoff (LPSY $60,960.50), harmonic (bullish Bat TP2 $60,963.42)",
        "description": "현재가 $60,849.90가 fib ret_0.382 $60,846.65에서 반응 중이고 캔들 strict bullish_harami가 고거래량으로 감지돼 단기 반등 여지가 있다. 다만 그 반등은 fib ret_0.618 $60,958.25·Wyckoff LPSY $60,960.50·Harmonic Bat TP2 $60,963.42가 겹치는 $60,958~$60,963 저항 클러스터에서 공급 재출현으로 막힐 가능성이 높다. 즉시 추격이 아니라 이 구간을 숏 재진입 지점으로 보는 '저항 재확인' 경로.",
        "est_hours": 1.5,
        "turning_zone": [
          60958.25,
          61037.7
        ],
        "likely_wick": 60965.0,
        "rejection_confirm": 60788.39,
        "invalid_overshoot": 61139.0,
        "calibration_reasoning": "fib ret_0.618 $60,958.25와 Wyckoff LPSY $60,960.50가 겹치는 공급 클러스터가 존 하단을, 위쪽 fib 저항 $61,037.70이 존 상단을 정의(폭 약 0.41 ATR). 빽빽한 3중 저항($60,958~$60,963) 바로 위 스톱사냥 후 거부될 가능성이 커 likely_wick은 $60,965이며, Bat TP2($60,963.42)는 미확인이라 앵커가 아닌 보조 확인용으로만 참고. EMA20 $60,788.39 이탈이 거부 확정, 스윙고점 $61,139 재탈환은 무효화."
      },
      {
        "seq": 2,
        "price": 60648.0,
        "type": "support_test",
        "source": "wyckoff (SOW $60,690.60 / Phase E $60,648.00), ict (London low $60,648.00), harmonic (Bat PRZ 상단 $60,648.64)",
        "description": "LPSY 클러스터 거부 후 EMA20 $60,788.39 이탈을 선행 신호로 하락이 재개되며, Wyckoff SOW $60,690.60을 거쳐 Phase E $60,648.00·ICT London low $60,648.00·Harmonic Bat PRZ 상단 $60,648.64가 사실상 동일 가격대로 일치하는 핵심 하단 구조대를 테스트.",
        "est_hours": 5.0,
        "turning_zone": [
          60580.0,
          60648.64
        ],
        "likely_wick": 60605.0,
        "rejection_confirm": 60690.6,
        "invalid_overshoot": 60530.02,
        "calibration_reasoning": "Phase E·ICT London low $60,648.00과 Bat PRZ 상단 $60,648.64가 사실상 동일가로 존 상단을 형성. London low 아래 청산 유동성과 $60,600 라운드넘버가 wick을 끌어내려 likely_wick은 $60,605(폭 약 0.35 ATR). Wyckoff SOW $60,690.60 재탈환 시 지지 확인, 5중 fib 컨플루언스 $60,530.02 이탈 시 지지 실패로 wp3 연장."
      },
      {
        "seq": 3,
        "price": 60331.54,
        "type": "liquidity_sweep",
        "source": "harmonic (Bat PRZ 하단 $60,331.54, D $60,490.09), fibonacci (fib_confluence $60,530.02), derivatives (롱 청산 취약성)",
        "description": "롱 쏠림(롱 비율 0.703, crowding 1.000)과 OI 증가 대비 CVD -13,996 약세 다이버전스에 따른 하방 청산으로 $60,648 이탈, fib_confluence strict $60,530.02를 지나 Harmonic Bat PRZ 하단 $60,331.54(D값 $60,490.09 아래)를 스윕. 해당 PRZ는 미확인 반등 후보라 일시 반응 가능성은 있으나 구조 우위는 여전히 약세.",
        "est_hours": 12.0,
        "turning_zone": [
          60250.0,
          60331.54
        ],
        "likely_wick": 60295.0,
        "rejection_confirm": 60530.02,
        "invalid_overshoot": 60158.0,
        "calibration_reasoning": "경로상 하방 스윕이므로 liquidity_sweep 일반 분류와 달리 존을 base 아래로 확장. Bat PRZ 하단 $60,331.54(미확인·조건부 반응대, 단독 이동 불가)를 존 상단으로 두고 $60,300 라운드넘버 아래 유동성으로 likely_wick을 $60,295로 추정(폭 약 0.42 ATR). PRZ 반등은 약해 구조 약세 유지 — $60,530.02 재탈환 시 반전 확인, $60,158 이탈 시 wp4로 연장하며 무효화."
      },
      {
        "seq": 4,
        "price": 60158.0,
        "type": "swing_low",
        "source": "ict (단기 레인지 EQ $60,158.00), derivatives (하방 유동성), wyckoff (→$59,060 관문)",
        "description": "Bat PRZ($60,331~$60,490)가 반등 확인에 실패하면 ICT 단기 레인지 EQ $60,158.00까지 확장. 이 EQ가 추가로 이탈되면 다수 분석가가 공유하는 $59,060.00 주요 구조 저점이 열리는 관문이 된다.",
        "est_hours": 20.0,
        "turning_zone": [
          59985.0,
          60158.0
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60331.54,
        "invalid_overshoot": 59940.0,
        "calibration_reasoning": "터미널 웨이포인트라 존을 넓게(약 0.89 ATR) 설정. fib 컨플루언스 $60,046.97과 바로 아래 $60,000 대형 라운드넘버 유동성 자석이 하단 존을 정의해 likely_wick을 $60,000으로 편향. ICT 레인지 EQ $60,158이 존 상단, Bat PRZ 하단 $60,331.54 재탈환 시 반전 확인. $60,000 하향 수용($59,940) 시 $59,060 주요 구조 저점이 열리며 무효화."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60963.42,
        "expected_low": 60690.6,
        "high_first": true
      },
      "8h": {
        "expected_high": 60963.42,
        "expected_low": 60530.02,
        "high_first": true
      },
      "24h": {
        "expected_high": 60963.42,
        "expected_low": 60158.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60963.42,
        "description": "저항 클러스터 $60,958~$60,963을 종가로 회복·수용하면 LPSY 공급 재출현 시나리오가 무효화되고, fib ret_0.786 $61,037.70·$61,256·EMA120 $61,449.68 방향으로 반등이 확대된다. Fib·캔들의 단기 반등 셋업이 주도권을 잡는 신호."
      },
      "bearish": {
        "price": 60648.0,
        "description": "Phase E/London low/Bat PRZ 상단이 일치하는 $60,648을 종가로 이탈·수용하면 공급 재출현이 확정되며, $60,331.54(PRZ 하단) → $60,158.00(ICT EQ) → $59,060.00 하방 유동성 경로로 가속된다."
      }
    },
    "scenario_invalidation": 61449.68,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60958.25,\n      \"type\": \"resistance_test\",\n      \"source\": \"fibonacci (ret_0.618 $60,958.25), wyckoff (LPSY $60,960.50), harmonic (bullish Bat TP2 $60,963.42)\",\n      \"description\": \"현재가 $60,849.90가 fib ret_0.382 $60,846.65에서 반응 중이고 캔들 strict bullish_harami가 고거래량으로 감지돼 단기 반등 여지가 있다. 다만 그 반등은 fib ret_0.618 $60,958.25·Wyckoff LPSY $60,960.50·Harmonic Bat TP2 $60,963.42가 겹치는 $60,958~$60,963 저항 클러스터에서 공급 재출현으로 막힐 가능성이 높다. 즉시 추격이 아니라 이 구간을 숏 재진입 지점으로 보는 '저항 재확인' 경로.\",\n      \"est_hours\": 1.5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60648.00,\n      \"type\": \"support_test\",\n      \"source\": \"wyckoff (SOW $60,690.60 / Phase E $60,648.00), ict (London low $60,648.00), harmonic (Bat PRZ 상단 $60,648.64)\",\n      \"description\": \"LPSY 클러스터 거부 후 EMA20 $60,788.39 이탈을 선행 신호로 하락이 재개되며, Wyckoff SOW $60,690.60을 거쳐 Phase E $60,648.00·ICT London low $60,648.00·Harmonic Bat PRZ 상단 $60,648.64가 사실상 동일 가격대로 일치하는 핵심 하단 구조대를 테스트.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60331.54,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"harmonic (Bat PRZ 하단 $60,331.54, D $60,490.09), fibonacci (fib_confluence $60,530.02), derivatives (롱 청산 취약성)\",\n      \"description\": \"롱 쏠림(롱 비율 0.703, crowding 1.000)과 OI 증가 대비 CVD -13,996 약세 다이버전스에 따른 하방 청산으로 $60,648 이탈, fib_confluence strict $60,530.02를 지나 Harmonic Bat PRZ 하단 $60,331.54(D값 $60,490.09 아래)를 스윕. 해당 PRZ는 미확인 반등 후보라 일시 반응 가능성은 있으나 구조 우위는 여전히 약세.\",\n      \"est_hours\": 12.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60158.00,\n      \"type\": \"swing_low\",\n      \"source\": \"ict (단기 레인지 EQ $60,158.00), derivatives (하방 유동성), wyckoff (→$59,060 관문)\",\n      \"description\": \"Bat PRZ($60,331~$60,490)가 반등 확인에 실패하면 ICT 단기 레인지 EQ $60,158.00까지 확장. 이 EQ가 추가로 이탈되면 다수 분석가가 공유하는 $59,060.00 주요 구조 저점이 열리는 관문이 된다.\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60963.42, \"expected_low\": 60690.60, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60963.42, \"expected_low\": 60530.02, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60963.42, \"expected_low\": 60158.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 60963.42,\n      \"description\": \"저항 클러스터 $60,958~$60,963을 종가로 회복·수용하면 LPSY 공급 재출현 시나리오가 무효화되고, fib ret_0.786 $61,037.70·$61,256·EMA120 $61,449.68 방향으로 반등이 확대된다. Fib·캔들의 단기 반등 셋업이 주도권을 잡는 신호.\"\n    },\n    \"bearish\": {\n      \"price\": 60648.00,\n      \"description\": \"Phase E/London low/Bat PRZ 상단이 일치하는 $60,648을 종가로 이탈·수용하면 공급 재출현이 확정되며, $60,331.54(PRZ 하단) → $60,158.00(ICT EQ) → $59,060.00 하방 유동성 경로로 가속된다.\"\n    }\n  },\n  \"scenario_invalidation\": 61449.68\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60958.25,
        "turning_zone": [
          60958.25,
          61037.7
        ],
        "likely_wick": 60965.0,
        "rejection_confirm": 60788.39,
        "invalid_overshoot": 61139.0,
        "calibration_reasoning": "fib ret_0.618 $60,958.25와 Wyckoff LPSY $60,960.50가 겹치는 공급 클러스터가 존 하단을, 위쪽 fib 저항 $61,037.70이 존 상단을 정의(폭 약 0.41 ATR). 빽빽한 3중 저항($60,958~$60,963) 바로 위 스톱사냥 후 거부될 가능성이 커 likely_wick은 $60,965이며, Bat TP2($60,963.42)는 미확인이라 앵커가 아닌 보조 확인용으로만 참고. EMA20 $60,788.39 이탈이 거부 확정, 스윙고점 $61,139 재탈환은 무효화."
      },
      {
        "seq": 2,
        "base_target": 60648.0,
        "turning_zone": [
          60580.0,
          60648.64
        ],
        "likely_wick": 60605.0,
        "rejection_confirm": 60690.6,
        "invalid_overshoot": 60530.02,
        "calibration_reasoning": "Phase E·ICT London low $60,648.00과 Bat PRZ 상단 $60,648.64가 사실상 동일가로 존 상단을 형성. London low 아래 청산 유동성과 $60,600 라운드넘버가 wick을 끌어내려 likely_wick은 $60,605(폭 약 0.35 ATR). Wyckoff SOW $60,690.60 재탈환 시 지지 확인, 5중 fib 컨플루언스 $60,530.02 이탈 시 지지 실패로 wp3 연장."
      },
      {
        "seq": 3,
        "base_target": 60331.54,
        "turning_zone": [
          60250.0,
          60331.54
        ],
        "likely_wick": 60295.0,
        "rejection_confirm": 60530.02,
        "invalid_overshoot": 60158.0,
        "calibration_reasoning": "경로상 하방 스윕이므로 liquidity_sweep 일반 분류와 달리 존을 base 아래로 확장. Bat PRZ 하단 $60,331.54(미확인·조건부 반응대, 단독 이동 불가)를 존 상단으로 두고 $60,300 라운드넘버 아래 유동성으로 likely_wick을 $60,295로 추정(폭 약 0.42 ATR). PRZ 반등은 약해 구조 약세 유지 — $60,530.02 재탈환 시 반전 확인, $60,158 이탈 시 wp4로 연장하며 무효화."
      },
      {
        "seq": 4,
        "base_target": 60158.0,
        "turning_zone": [
          59985.0,
          60158.0
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60331.54,
        "invalid_overshoot": 59940.0,
        "calibration_reasoning": "터미널 웨이포인트라 존을 넓게(약 0.89 ATR) 설정. fib 컨플루언스 $60,046.97과 바로 아래 $60,000 대형 라운드넘버 유동성 자석이 하단 존을 정의해 likely_wick을 $60,000으로 편향. ICT 레인지 EQ $60,158이 존 상단, Bat PRZ 하단 $60,331.54 재탈환 시 반전 확인. $60,000 하향 수용($59,940) 시 $59,060 주요 구조 저점이 열리며 무효화."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60958.25,\n      \"turning_zone\": [60958.25, 61037.70],\n      \"likely_wick\": 60965.0,\n      \"rejection_confirm\": 60788.39,\n      \"invalid_overshoot\": 61139.0,\n      \"calibration_reasoning\": \"fib ret_0.618 $60,958.25와 Wyckoff LPSY $60,960.50가 겹치는 공급 클러스터가 존 하단을, 위쪽 fib 저항 $61,037.70이 존 상단을 정의(폭 약 0.41 ATR). 빽빽한 3중 저항($60,958~$60,963) 바로 위 스톱사냥 후 거부될 가능성이 커 likely_wick은 $60,965이며, Bat TP2($60,963.42)는 미확인이라 앵커가 아닌 보조 확인용으로만 참고. EMA20 $60,788.39 이탈이 거부 확정, 스윙고점 $61,139 재탈환은 무효화.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60648.0,\n      \"turning_zone\": [60580.0, 60648.64],\n      \"likely_wick\": 60605.0,\n      \"rejection_confirm\": 60690.60,\n      \"invalid_overshoot\": 60530.02,\n      \"calibration_reasoning\": \"Phase E·ICT London low $60,648.00과 Bat PRZ 상단 $60,648.64가 사실상 동일가로 존 상단을 형성. London low 아래 청산 유동성과 $60,600 라운드넘버가 wick을 끌어내려 likely_wick은 $60,605(폭 약 0.35 ATR). Wyckoff SOW $60,690.60 재탈환 시 지지 확인, 5중 fib 컨플루언스 $60,530.02 이탈 시 지지 실패로 wp3 연장.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60331.54,\n      \"turning_zone\": [60250.0, 60331.54],\n      \"likely_wick\": 60295.0,\n      \"rejection_confirm\": 60530.02,\n      \"invalid_overshoot\": 60158.0,\n      \"calibration_reasoning\": \"경로상 하방 스윕이므로 liquidity_sweep 일반 분류와 달리 존을 base 아래로 확장. Bat PRZ 하단 $60,331.54(미확인·조건부 반응대, 단독 이동 불가)를 존 상단으로 두고 $60,300 라운드넘버 아래 유동성으로 likely_wick을 $60,295로 추정(폭 약 0.42 ATR). PRZ 반등은 약해 구조 약세 유지 — $60,530.02 재탈환 시 반전 확인, $60,158 이탈 시 wp4로 연장하며 무효화.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60158.0,\n      \"turning_zone\": [59985.0, 60158.0],\n      \"likely_wick\": 60000.0,\n      \"rejection_confirm\": 60331.54,\n      \"invalid_overshoot\": 59940.0,\n      \"calibration_reasoning\": \"터미널 웨이포인트라 존을 넓게(약 0.89 ATR) 설정. fib 컨플루언스 $60,046.97과 바로 아래 $60,000 대형 라운드넘버 유동성 자석이 하단 존을 정의해 likely_wick을 $60,000으로 편향. ICT 레인지 EQ $60,158이 존 상단, Bat PRZ 하단 $60,331.54 재탈환 시 반전 확인. $60,000 하향 수용($59,940) 시 $59,060 주요 구조 저점이 열리며 무효화.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 52.6,
      "chairman": 89.3,
      "operating_path": 311.1,
      "tp_calibrator": 364.4
    },
    "agents": {},
    "total_s": 817.6
  }
}