{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-29 21:00 KST",
  "last_price": 59941.5,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $59,941.50는 7일 레인지 EQ $61,813.60 아래의 할인 구간에 위치",
        "7일 저점 $58,030.00 부근에서 반등 시도 후 EMA20 $59,876.27를 소폭 회복",
        "최근 패턴 중 strict 등급 bullish_engulfing이 감지되었고 품질 0.716, 고거래량 동반",
        "bull_score 2.35가 bear_score 1.35보다 우위로 단기 매수 반응이 우세",
        "다만 shooting_star@298 품질 0.613과 dark_cloud_cover@292가 있어 상단 추격 매수는 확인 필요"
      ],
      "reasoning": "현재 BTC는 $59,941.50로 EMA20 $59,876.27 위에 겨우 올라섰지만, EMA120 $60,516.99와 EMA240 $61,551.61 아래에 있어 확인된 구조는 아직 약세로 봅니다. 7일 고점 $65,597.20 대비 저점 $58,030.00 이후 명확한 BOS 또는 CHoCH가 확인되지 않았으므로 structure_bias는 bearish입니다. 반면 가격은 7일 레인지 EQ $61,813.60 아래 할인 구간에 있고, 품질 0.716의 strict bullish_engulfing이 고거래량으로 발생해 단기 반등 setup은 유효합니다. 그러나 최근 shooting_star와 dark_cloud_cover가 함께 출현했고, $60,516.99~$61,551.61 구간의 EMA 저항을 돌파하지 못하면 반등은 매도 재개 구간으로 변할 수 있습니다.",
      "key_levels": {
        "support": [
          59876.27,
          58030.0
        ],
        "resistance": [
          60516.99,
          61551.61,
          61813.6,
          65597.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,030.00 하향 이탈",
      "risk_scenario": "$60,516.99 EMA120 돌파에 실패하고 $59,876.27 EMA20 아래로 재이탈하면 bullish_engulfing 기반의 반등 setup은 약화되며, $58,030.00 재테스트 및 하향 이탈 시 추가 하락 구조가 강화될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 5,
        "pattern_list": [
          "shooting_star@298",
          "bullish_engulfing@290",
          "bullish_engulfing@293",
          "bullish_engulfing@297",
          "dark_cloud_cover@292"
        ],
        "atr_value": 424.68,
        "vol_avg_20": 6770.43,
        "high_volume_patterns": [
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.716,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "shooting_star",
            "signal": "bearish",
            "pattern_quality": 0.613,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "dark_cloud_cover",
            "signal": "bearish",
            "pattern_quality": 0.577,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.445,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.432,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.716,
        "bull_score": 2.35,
        "bear_score": 1.35
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $59,941.50는 7일 레인지 EQ $61,813.60 아래의 할인 구간에 위치\",\n    \"7일 저점 $58,030.00 부근에서 반등 시도 후 EMA20 $59,876.27를 소폭 회복\",\n    \"최근 패턴 중 strict 등급 bullish_engulfing이 감지되었고 품질 0.716, 고거래량 동반\",\n    \"bull_score 2.35가 bear_score 1.35보다 우위로 단기 매수 반응이 우세\",\n    \"다만 shooting_star@298 품질 0.613과 dark_cloud_cover@292가 있어 상단 추격 매수는 확인 필요\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,941.50로 EMA20 $59,876.27 위에 겨우 올라섰지만, EMA120 $60,516.99와 EMA240 $61,551.61 아래에 있어 확인된 구조는 아직 약세로 봅니다. 7일 고점 $65,597.20 대비 저점 $58,030.00 이후 명확한 BOS 또는 CHoCH가 확인되지 않았으므로 structure_bias는 bearish입니다. 반면 가격은 7일 레인지 EQ $61,813.60 아래 할인 구간에 있고, 품질 0.716의 strict bullish_engulfing이 고거래량으로 발생해 단기 반등 setup은 유효합니다. 그러나 최근 shooting_star와 dark_cloud_cover가 함께 출현했고, $60,516.99~$61,551.61 구간의 EMA 저항을 돌파하지 못하면 반등은 매도 재개 구간으로 변할 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59876.27,\n      58030.0\n    ],\n    \"resistance\": [\n      60516.99,\n      61551.61,\n      61813.6,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,030.00 하향 이탈\",\n  \"risk_scenario\": \"$60,516.99 EMA120 돌파에 실패하고 $59,876.27 EMA20 아래로 재이탈하면 bullish_engulfing 기반의 반등 setup은 약화되며, $58,030.00 재테스트 및 하향 이탈 시 추가 하락 구조가 강화될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.84,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.843,
      "setup_signals": [
        "현재가 $59,941.50가 EQ $59,887.35 위에 위치하여 단기 프리미엄 영역 진입",
        "이전일 저가 $59,714.80 하향 돌파 완료로 매도측 구조 압력 확인",
        "bearish CHoCH 기준선 $63,220.00 하회 유지",
        "bearish BOS 기준선 $61,870.00 하회 유지",
        "bearish BOS 기준선 $59,060.00 이후 반등이 $60,734.00 bullish BOS 레벨을 지속적으로 회복하지 못함",
        "상단 후보 bearish OB $62,272.10-$63,209.60가 미완전 공급 구간으로 남아 있음"
      ],
      "reasoning": "확정 구조는 $63,220.00 bearish CHoCH 이후 $61,870.00 및 $59,060.00 bearish BOS가 연속적으로 발생했기 때문에 아직 bearish로 해석한다. 최근 $60,734.00에서 bullish BOS가 있었지만 현재가 $59,941.50는 해당 레벨 아래로 되밀렸고, EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 구조적 수용이 부족하다. 단기적으로 가격은 EQ $59,887.35 바로 위 프리미엄에 위치해 있으며, 이전일 저가 $59,714.80을 이미 깨고 올라온 상태라 유동성 확보 후 재하락 셋업이 우세하다. 활성 FVG는 없고 확인된 OB도 없지만, 상단 $62,272.10-$63,209.60 후보 bearish OB가 남아 있어 반등 시 기관 매도 재개 구간으로 볼 수 있다.",
      "key_levels": {
        "support": [
          59714.8,
          59060.0,
          58850.0,
          58030.0
        ],
        "resistance": [
          60325.0,
          60734.0,
          60924.7,
          61870.0,
          62272.1,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,924.70",
      "risk_scenario": "가격이 $60,734.00 bullish BOS 레벨을 회복하고 이전일 고점 $60,924.70까지 상향 돌파하면 단기 bearish 셋업은 무효화된다. 그 경우 매도측 유동성 확보 실패로 해석되며, $61,870.00 재테스트 및 상단 후보 bearish OB 하단 $62,272.10까지 숏 스퀴즈성 반등이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 62272.1,
          "top": 63209.6,
          "quality": "candidate",
          "score": 0.548
        },
        "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": 51,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 64568.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 63220.0
          },
          {
            "type": "BOS_bearish",
            "level": 61870.0
          },
          {
            "type": "BOS_bearish",
            "level": 59060.0
          },
          {
            "type": "BOS_bullish",
            "level": 60734.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 59887.35,
        "range_high": 60924.7,
        "range_low": 58850.0,
        "bull_score": 5.0,
        "bear_score": 8.0,
        "setup_bias": "bearish",
        "setup_score": 0.843,
        "setup_signals": [
          "bearish CHoCH below $63,220.00",
          "bearish BOS below $61,870.00",
          "bearish BOS below $59,060.00",
          "broken previous day low $59,714.80"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 61.8,
        "deepest_retracement_pct": 204.4,
        "previous_day_high": 60924.7,
        "previous_day_low": 59714.8,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 60325.0,
            "low": 59360.3
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.84,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.843,\n  \"setup_signals\": [\n    \"현재가 $59,941.50가 EQ $59,887.35 위에 위치하여 단기 프리미엄 영역 진입\",\n    \"이전일 저가 $59,714.80 하향 돌파 완료로 매도측 구조 압력 확인\",\n    \"bearish CHoCH 기준선 $63,220.00 하회 유지\",\n    \"bearish BOS 기준선 $61,870.00 하회 유지\",\n    \"bearish BOS 기준선 $59,060.00 이후 반등이 $60,734.00 bullish BOS 레벨을 지속적으로 회복하지 못함\",\n    \"상단 후보 bearish OB $62,272.10-$63,209.60가 미완전 공급 구간으로 남아 있음\"\n  ],\n  \"reasoning\": \"확정 구조는 $63,220.00 bearish CHoCH 이후 $61,870.00 및 $59,060.00 bearish BOS가 연속적으로 발생했기 때문에 아직 bearish로 해석한다. 최근 $60,734.00에서 bullish BOS가 있었지만 현재가 $59,941.50는 해당 레벨 아래로 되밀렸고, EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 구조적 수용이 부족하다. 단기적으로 가격은 EQ $59,887.35 바로 위 프리미엄에 위치해 있으며, 이전일 저가 $59,714.80을 이미 깨고 올라온 상태라 유동성 확보 후 재하락 셋업이 우세하다. 활성 FVG는 없고 확인된 OB도 없지만, 상단 $62,272.10-$63,209.60 후보 bearish OB가 남아 있어 반등 시 기관 매도 재개 구간으로 볼 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59714.8,\n      59060.0,\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60325.0,\n      60734.0,\n      60924.7,\n      61870.0,\n      62272.1,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,924.70\",\n  \"risk_scenario\": \"가격이 $60,734.00 bullish BOS 레벨을 회복하고 이전일 고점 $60,924.70까지 상향 돌파하면 단기 bearish 셋업은 무효화된다. 그 경우 매도측 유동성 확보 실패로 해석되며, $61,870.00 재테스트 및 상단 후보 bearish OB 하단 $62,272.10까지 숏 스퀴즈성 반등이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $59,941.50가 스윙 EQ인 ret_0.5 $59,587.50 위에 있어 단기 프리미엄 영역에 위치",
        "가장 가까운 피보나치 저항 ret_0.236 $59,976.90까지 거리 0.06%로 즉시 저항 테스트 구간",
        "현재가가 EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 상위 평균선 저항이 남아 있음",
        "ret_0.236 클러스터 구간 $59,993.38 부근에서 반응 상태가 testing이며, 확정 돌파 전에는 되돌림 리스크 우세",
        "하방 목표로 ret_0.382 $59,761.55, ret_0.5 $59,587.50, golden ratio ret_0.618 $59,413.45가 순차적으로 열려 있음"
      ],
      "reasoning": "확정 구조 관점에서는 Low $58,850 → High $60,325의 단기 상승 스윙은 존재하지만, 현재가 $59,941.50가 고점 $60,325를 재돌파하지 못했고 명확한 BOS/CHoCH 확인도 없어 structure_bias는 neutral로 판단한다. 실행 셋업 관점에서는 가격이 EQ인 $59,587.50 위 프리미엄 영역에 있으면서 ret_0.236 $59,976.90 저항을 0.06% 거리에서 테스트 중이므로 단기적으로는 bearish setup이 우세하다. 핵심 하방 확인 구간은 ret_0.382 $59,761.55와 ret_0.5 $59,587.50이며, 가장 중요한 고확률 되돌림 지점은 golden ratio ret_0.618 $59,413.45이다. 반대로 $59,976.90을 회복하고 $60,325.00 스윙 고점 위로 수용되면 $60,726.20, $60,935.65, $61,236.55 확장 목표가 다시 활성화된다.",
      "key_levels": {
        "support": [
          59761.55,
          59587.5,
          59413.45,
          59165.65
        ],
        "resistance": [
          59976.9,
          60325.0,
          60726.2,
          60935.65,
          61236.55
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,325.00 상향 돌파 및 1시간봉 종가 안착",
      "risk_scenario": "$60,325.00 위로 가격이 수용되면 현재의 bearish setup은 무효화되며, ext_1.272 $60,726.20과 ext_1.414 $60,935.65까지 숏 커버성 상승이 이어질 수 있다. 반대로 $59,761.55가 이탈되면 $59,587.50 EQ와 golden ratio $59,413.45까지 되돌림이 깊어질 가능성이 높아진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $58,850 → $60,325",
        "direction": "up",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 59976.9,
        "nearest_fib_distance": 0.06,
        "golden_ratio_level": 59413.45,
        "fib_ret_382": 59761.55,
        "fib_ret_618": 59413.45,
        "confluence_zones": [
          {
            "price": 59289.55,
            "count": 2,
            "levels": [
              "ret_0.786",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59674.53,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59993.38,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60830.93,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61235.61,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59761.55,
          59587.5,
          59413.45
        ],
        "resistance_levels": [
          59976.9,
          60325.0,
          60726.2
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59976.9,
            "distance_pct": 0.06,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 59761.55,
            "distance_pct": 0.3,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 59587.5,
            "distance_pct": 0.59,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 59413.45,
            "distance_pct": 0.88,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 59165.65,
            "distance_pct": 1.29,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 60325.0,
            "distance_pct": 0.64,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 60726.2,
            "distance_pct": 1.31,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 60935.65,
            "distance_pct": 1.66,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 61236.55,
            "distance_pct": 2.16,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 61800.0,
            "distance_pct": 3.1,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $59,941.50가 스윙 EQ인 ret_0.5 $59,587.50 위에 있어 단기 프리미엄 영역에 위치\",\n    \"가장 가까운 피보나치 저항 ret_0.236 $59,976.90까지 거리 0.06%로 즉시 저항 테스트 구간\",\n    \"현재가가 EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 상위 평균선 저항이 남아 있음\",\n    \"ret_0.236 클러스터 구간 $59,993.38 부근에서 반응 상태가 testing이며, 확정 돌파 전에는 되돌림 리스크 우세\",\n    \"하방 목표로 ret_0.382 $59,761.55, ret_0.5 $59,587.50, golden ratio ret_0.618 $59,413.45가 순차적으로 열려 있음\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 Low $58,850 → High $60,325의 단기 상승 스윙은 존재하지만, 현재가 $59,941.50가 고점 $60,325를 재돌파하지 못했고 명확한 BOS/CHoCH 확인도 없어 structure_bias는 neutral로 판단한다. 실행 셋업 관점에서는 가격이 EQ인 $59,587.50 위 프리미엄 영역에 있으면서 ret_0.236 $59,976.90 저항을 0.06% 거리에서 테스트 중이므로 단기적으로는 bearish setup이 우세하다. 핵심 하방 확인 구간은 ret_0.382 $59,761.55와 ret_0.5 $59,587.50이며, 가장 중요한 고확률 되돌림 지점은 golden ratio ret_0.618 $59,413.45이다. 반대로 $59,976.90을 회복하고 $60,325.00 스윙 고점 위로 수용되면 $60,726.20, $60,935.65, $61,236.55 확장 목표가 다시 활성화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59761.55,\n      59587.5,\n      59413.45,\n      59165.65\n    ],\n    \"resistance\": [\n      59976.9,\n      60325.0,\n      60726.2,\n      60935.65,\n      61236.55\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,325.00 상향 돌파 및 1시간봉 종가 안착\",\n  \"risk_scenario\": \"$60,325.00 위로 가격이 수용되면 현재의 bearish setup은 무효화되며, ext_1.272 $60,726.20과 ext_1.414 $60,935.65까지 숏 커버성 상승이 이어질 수 있다. 반대로 $59,761.55가 이탈되면 $59,587.50 EQ와 golden ratio $59,413.45까지 되돌림이 깊어질 가능성이 높아진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $59,941.50는 활성 재분배 범위 $58,030.00~$60,557.80의 EQ 약 $59,293.90 위에 있어 프리미엄 구간에서 되돌림 중",
        "활성 구조에서 UT $60,557.80 및 UTAD $60,543.30 이후 LPSY $59,883.20와 SOW $58,850.00가 형성되어 공급 우위가 유지됨",
        "현재가가 LPSY $59,883.20 부근을 소폭 상회하지만 UT/UTAD 공급대 $60,543.30~$60,557.80를 회복하지 못해 반등은 아직 구조 전환이 아님",
        "현재가 $59,941.50는 EMA120 $60,516.99 아래에 있어 중기 평균선 기준으로도 상방 수용이 부족함"
      ],
      "reasoning": "1시간 기준 Wyckoff regime은 DIS이며 regime_state는 confirmed_dis, dis_score는 99.1로 분배 구조가 확정적으로 우세하다. 선행 구조는 BC $63,410.30 → AR $62,836.60 → ST $64,568.00 → UTAD $63,209.60 → SOW $59,060.00 → Phase E $58,030.00로 진행되어 기존 분배가 하방 이탈 후 Phase E에 진입했다. 현재 활성 구조는 하락 이후 재분배 성격으로, UT $60,557.80 / UTAD $60,543.30 실패 뒤 LPSY $59,883.20와 SOW $58,850.00가 표시되어 있어 구조적 편향은 여전히 bearish이다. 다만 현재가 $59,941.50가 LPSY 부근을 재시험하고 있어 즉시 하락 확정이라기보다 $60,543.30~$60,557.80 공급대에서 재차 거부되는지가 단기 경로의 핵심이다.",
      "key_levels": {
        "support": [
          59530.7,
          58850.0,
          58388.0,
          58030.0
        ],
        "resistance": [
          59883.2,
          60466.9,
          60543.3,
          60557.8,
          61870.0,
          63209.6
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$60,557.80",
      "risk_scenario": "가격이 $60,557.80 위로 회복하고 1시간 기준 수용을 보이면 현재 LPSY/SOW 기반의 즉시 bearish setup은 무효화되며, $61,870.00 이전 SOW_IN_PHASE_B 영역까지 되돌림이 확장될 수 있다. 더 큰 구조의 분배 무효화는 아직 아니지만, $63,209.60 UTAD 고점 회복 시에는 기존 Phase E 하방 지속 해석도 강하게 재검토해야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 82.0,
        "dis_score": 99.1,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 61,
            "price": 63410.3,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 65,
            "price": 62836.6,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 100,
            "price": 64568.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 152,
            "price": 61870.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 169,
            "price": 63090.9,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 179,
            "price": 63209.6,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 185,
            "price": 59060.0,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 205,
            "price": 58030.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1h_cycle_1",
            "sequence": 1,
            "timeframe": "1h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 61,
            "end_idx": 205,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 61,
                "price": 63410.3,
                "color": "#ffd166",
                "dt": "2026-06-19 22:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 65,
                "price": 62836.6,
                "color": "#06d6a0",
                "dt": "2026-06-20 02:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 100,
                "price": 64568.0,
                "color": "#118ab2",
                "dt": "2026-06-21 13:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 152,
                "price": 61870.0,
                "color": "#ef476f",
                "dt": "2026-06-23 17:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 169,
                "price": 63090.9,
                "color": "#f9844a",
                "dt": "2026-06-24 10:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 179,
                "price": 63209.6,
                "color": "#f9844a",
                "dt": "2026-06-24 20:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 185,
                "price": 59060.0,
                "color": "#ef476f",
                "dt": "2026-06-25 02:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 205,
                "price": 58030.0,
                "color": "#7209b7",
                "dt": "2026-06-25 22:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "1h_cycle_2",
            "sequence": 2,
            "timeframe": "1h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 205,
            "end_idx": 290,
            "phase_count": 8,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 205,
                "price": 58030.0,
                "color": "#ffd166",
                "dt": "2026-06-25 22:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 206,
                "price": 60466.9,
                "color": "#06d6a0",
                "dt": "2026-06-25 23:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 229,
                "price": 58388.0,
                "color": "#118ab2",
                "dt": "2026-06-26 22:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 234,
                "price": 59530.7,
                "color": "#ef476f",
                "dt": "2026-06-27 03:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 247,
                "price": 60557.8,
                "color": "#f9844a",
                "dt": "2026-06-27 16:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 272,
                "price": 60543.3,
                "color": "#f9844a",
                "dt": "2026-06-28 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 286,
                "price": 59883.2,
                "color": "#8338ec",
                "dt": "2026-06-29 07:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 290,
                "price": 58850.0,
                "color": "#ef476f",
                "dt": "2026-06-29 11:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_2",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9908026755852842,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 62836.6,
        "main_range_high": 63410.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $59,941.50는 활성 재분배 범위 $58,030.00~$60,557.80의 EQ 약 $59,293.90 위에 있어 프리미엄 구간에서 되돌림 중\",\n    \"활성 구조에서 UT $60,557.80 및 UTAD $60,543.30 이후 LPSY $59,883.20와 SOW $58,850.00가 형성되어 공급 우위가 유지됨\",\n    \"현재가가 LPSY $59,883.20 부근을 소폭 상회하지만 UT/UTAD 공급대 $60,543.30~$60,557.80를 회복하지 못해 반등은 아직 구조 전환이 아님\",\n    \"현재가 $59,941.50는 EMA120 $60,516.99 아래에 있어 중기 평균선 기준으로도 상방 수용이 부족함\"\n  ],\n  \"reasoning\": \"1시간 기준 Wyckoff regime은 DIS이며 regime_state는 confirmed_dis, dis_score는 99.1로 분배 구조가 확정적으로 우세하다. 선행 구조는 BC $63,410.30 → AR $62,836.60 → ST $64,568.00 → UTAD $63,209.60 → SOW $59,060.00 → Phase E $58,030.00로 진행되어 기존 분배가 하방 이탈 후 Phase E에 진입했다. 현재 활성 구조는 하락 이후 재분배 성격으로, UT $60,557.80 / UTAD $60,543.30 실패 뒤 LPSY $59,883.20와 SOW $58,850.00가 표시되어 있어 구조적 편향은 여전히 bearish이다. 다만 현재가 $59,941.50가 LPSY 부근을 재시험하고 있어 즉시 하락 확정이라기보다 $60,543.30~$60,557.80 공급대에서 재차 거부되는지가 단기 경로의 핵심이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59530.7,\n      58850.0,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      59883.2,\n      60466.9,\n      60543.3,\n      60557.8,\n      61870.0,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$60,557.80\",\n  \"risk_scenario\": \"가격이 $60,557.80 위로 회복하고 1시간 기준 수용을 보이면 현재 LPSY/SOW 기반의 즉시 bearish setup은 무효화되며, $61,870.00 이전 SOW_IN_PHASE_B 영역까지 되돌림이 확장될 수 있다. 더 큰 구조의 분배 무효화는 아직 아니지만, $63,209.60 UTAD 고점 회복 시에는 기존 Phase E 하방 지속 해석도 강하게 재검토해야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $59,941.50가 EMA120 $60,516.99 아래에 있어 중기 구조상 매도 우위",
        "7일 EQ 약 $61,813.60 아래의 할인 구간에 있으나, 롱 계정 비율 0.676 및 account_long_crowding 1.000으로 롱 포지셔닝 과밀",
        "24시간 OI +1.886% 증가에도 가격은 24시간 -0.62% 하락하여 신규 포지션 유입이 가격 상승으로 연결되지 않음",
        "CVD 변화 -4,070.329로 매수 체결 참여가 약하고, 가격 대비 수급 지지력이 부족",
        "하방 청산 클러스터가 $58,800, $58,400, $57,600에 밀집되어 있으며 fragility_score 0.716으로 롱 청산 취약성 높음"
      ],
      "reasoning": "현재 가격 $59,941.50는 EMA20 $59,876.27 부근에서는 버티고 있지만 EMA120 $60,516.99와 EMA240 $61,551.61 아래에 있어 확인된 구조는 아직 약세입니다. 파생 포지셔닝은 롱 계정 비율 0.676, 롱 과밀도 1.000, 롱 계정 24시간 +0.008로 롱 쏠림이 커졌는데, 동시에 CVD는 -4,070.329로 악화되어 상승 참여가 따라오지 않습니다. OI가 24시간 +1.886% 증가했음에도 가격이 -0.62% 하락한 것은 신규 레버리지 롱이 물리는 형태로 해석되며, $58,800, $58,400, $57,600 하방 청산 구간으로 가격이 끌릴 위험이 큽니다. 단기적으로 $60,600 상단 청산을 회수하지 못하면 매도 우위가 유지되며, $62,400 회복 전까지는 구조 전환으로 보기 어렵습니다.",
      "key_levels": {
        "support": [
          58800,
          58400,
          58030,
          57600,
          54000
        ],
        "resistance": [
          60516.99,
          60600,
          61813.6,
          62400,
          65597.2,
          66000
        ]
      },
      "time_horizon": "short term, 약 4-8시간에서 24시간",
      "invalidation_level": "$62,400",
      "risk_scenario": "$60,600 상단 청산을 먼저 회수한 뒤 $61,813.60 7일 EQ 위로 안착하면 숏 커버링이 발생할 수 있으며, $62,400 돌파 시 약세 셋업은 무효화되고 $65,597~$66,000 유동성까지 반등이 확장될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -4070.329,
        "oi_trend": 0.689,
        "oi_change_pct_24h": 1.886,
        "oi_latest": 104745.112,
        "funding_pressure": 0.45,
        "funding_avg": 4.995e-05,
        "funding_change_24h": 3.014e-05,
        "long_account_ratio": 0.685,
        "short_account_ratio": 0.315,
        "long_account_latest": 0.676,
        "short_account_latest": 0.324,
        "long_account_change_24h": 0.0077,
        "short_account_change_24h": -0.0077,
        "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.494,
        "spot_futures_basis_pct": -0.0243,
        "basis_change_lookback": 0.0147,
        "aggregate_score": 0.387,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            58800,
            6229.5591735
          ],
          [
            58400,
            5918.2237175499995
          ],
          [
            57600,
            7033.436578000001
          ]
        ],
        "liq_above": [
          [
            60600,
            5237.9360868
          ],
          [
            62400,
            5669.616763
          ],
          [
            66000,
            7087.0209537499995
          ]
        ],
        "strongest_liq_level": 54000,
        "fragility_score": 0.716,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $59,941.50가 EMA120 $60,516.99 아래에 있어 중기 구조상 매도 우위\",\n    \"7일 EQ 약 $61,813.60 아래의 할인 구간에 있으나, 롱 계정 비율 0.676 및 account_long_crowding 1.000으로 롱 포지셔닝 과밀\",\n    \"24시간 OI +1.886% 증가에도 가격은 24시간 -0.62% 하락하여 신규 포지션 유입이 가격 상승으로 연결되지 않음\",\n    \"CVD 변화 -4,070.329로 매수 체결 참여가 약하고, 가격 대비 수급 지지력이 부족\",\n    \"하방 청산 클러스터가 $58,800, $58,400, $57,600에 밀집되어 있으며 fragility_score 0.716으로 롱 청산 취약성 높음\"\n  ],\n  \"reasoning\": \"현재 가격 $59,941.50는 EMA20 $59,876.27 부근에서는 버티고 있지만 EMA120 $60,516.99와 EMA240 $61,551.61 아래에 있어 확인된 구조는 아직 약세입니다. 파생 포지셔닝은 롱 계정 비율 0.676, 롱 과밀도 1.000, 롱 계정 24시간 +0.008로 롱 쏠림이 커졌는데, 동시에 CVD는 -4,070.329로 악화되어 상승 참여가 따라오지 않습니다. OI가 24시간 +1.886% 증가했음에도 가격이 -0.62% 하락한 것은 신규 레버리지 롱이 물리는 형태로 해석되며, $58,800, $58,400, $57,600 하방 청산 구간으로 가격이 끌릴 위험이 큽니다. 단기적으로 $60,600 상단 청산을 회수하지 못하면 매도 우위가 유지되며, $62,400 회복 전까지는 구조 전환으로 보기 어렵습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58800,\n      58400,\n      58030,\n      57600,\n      54000\n    ],\n    \"resistance\": [\n      60516.99,\n      60600,\n      61813.6,\n      62400,\n      65597.2,\n      66000\n    ]\n  },\n  \"time_horizon\": \"short term, 약 4-8시간에서 24시간\",\n  \"invalidation_level\": \"$62,400\",\n  \"risk_scenario\": \"$60,600 상단 청산을 먼저 회수한 뒤 $61,813.60 7일 EQ 위로 안착하면 숏 커버링이 발생할 수 있으며, $62,400 돌파 시 약세 셋업은 무효화되고 $65,597~$66,000 유동성까지 반등이 확장될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.66,
      "setup_signals": [
        "현재가 $59,941.50이 고컨플루언스 bullish Bat 형성 PRZ $59,615.47-$60,093.59 내부에 위치, D 기준가 $59,854.53와 -0.15% 거리",
        "고컨플루언스 bullish Butterfly 형성 PRZ $59,743.46-$60,093.62도 현재가와 거의 중첩, D 기준가 $59,918.54와 -0.04% 거리",
        "완성된 bullish Crab PRZ $58,818.05-$59,519.35는 이미 PRZ 방어 및 AD 0.382 반응 확인, reaction_score 1.0, 확인된 TP2 $60,027.16 부근 도달권",
        "상방 TP 클러스터가 $60,123.18, $60,162.74, $60,289.15, $60,313.60에 밀집해 단기 반등 시 1차 저항/청산 구간 형성",
        "반대편에는 bearish Gartley PRZ $60,359.54-$60,717.48 및 watch PRZ $60,620.89-$61,046.73가 있어 $60.3k-$61.0k는 반등 후 매도 반응 위험 구간"
      ],
      "reasoning": "확정 구조 관점에서는 1h BOS/CHoCH 또는 명확한 구조적 수용 데이터가 제공되지 않았으므로 structure_bias는 중립으로 둔다. 다만 실행 셋업 관점에서는 현재가 $59,941.50이 strict/high bullish Bat PRZ $59,615.47-$60,093.59와 strict/high bullish Butterfly PRZ $59,743.46-$60,093.62 안에 있으며, 두 PRZ 모두 ABCD·BC_EXT·XAD 3개 Fib 패밀리 컨플루언스를 가진다. 이미 완성된 bullish Crab도 $58,818.05-$59,519.35에서 reaction_score 1.0으로 방어 확인됐고, 검증 TP ladder의 TP2 $60,027.16 및 A/구조 유동성 $60,557.80이 상방 waypoint로 남아 있다. 단, 형성 중인 Bat/Butterfly는 아직 PRZ 진입 후 MSS/CHoCH나 파생 확인이 없으므로 단독 추세 전환 근거가 아니며, $60,359.54-$60,717.48의 bearish Gartley PRZ가 반등 저항으로 작동할 수 있다.",
      "key_levels": {
        "support": [
          59918.54,
          59854.53,
          59743.46,
          59615.47,
          59519.35,
          58818.05
        ],
        "resistance": [
          60027.16,
          60093.62,
          60123.18,
          60289.15,
          60313.6,
          60557.8,
          60717.48
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,818.05 1h 종가 이탈",
      "risk_scenario": "$59,615.47-$60,093.62의 활성 bullish PRZ가 방어되지 못하고 $59,519.35 아래로 재진입하면 확인된 Crab 반등의 효력이 약해지며, $58,818.05 하단 이탈 시 harmonic bullish 셋업은 실패로 본다. 반대로 반등이 $60,359.54-$60,717.48 bearish Gartley PRZ에서 거부되면 $60,027-$59,915 재테스트로 되밀릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 115,
        "completed_patterns_found": 34,
        "forming_d_prz_found": 81,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 66,
        "swing_highs_scanned": 35,
        "swing_lows_scanned": 31,
        "timeframe": "1h",
        "prz_active_threshold_pct": 0.5,
        "prz_nearby_threshold_pct": 1.0,
        "prz_watch_threshold_pct": 2.0,
        "prz_max_width_pct": 0.9,
        "quality_counts": {
          "high": 8,
          "medium": 50,
          "low": 57
        },
        "prz_status_counts": {
          "active": 25,
          "nearby": 15,
          "watch": 26,
          "far": 49,
          "forming": 46
        },
        "high_confluence_prz_count": 37,
        "strict_patterns_found": 57,
        "candidate_patterns_found": 58,
        "active_patterns_at_prz": 25,
        "nearby_patterns": 15,
        "all_patterns": [
          "bat",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "shark",
          "bat",
          "gartley",
          "gartley",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "bat",
          "shark",
          "shark",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "gartley",
          "shark",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "gartley",
          "crab",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.964,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 59942.66,
        "price_to_prz": 0.0,
        "prz_range": [
          59498.33,
          60386.98
        ],
        "council_relevant_prz_count": 3,
        "directional_influence_prz_count": 3,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59854.53,
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_width_pct": 0.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1451,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4118
            },
            "x_price": 59530.7,
            "x_idx": 234,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59918.54,
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0383,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.4118
            },
            "x_price": 60074.5,
            "x_idx": 246,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.812,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59966.71,
            "prz_range": [
              59757.23,
              60176.18
            ],
            "prz_width_pct": 0.699,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.042,
            "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": "shark",
              "d_price": 59966.71,
              "a_price": 60245.0,
              "tp1_ad_382": 60073.01,
              "tp2_ad_618": 60138.69,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4231,
              "ABC": 1.4065
            },
            "x_price": 60648.0,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 213,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.873,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60833.81,
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_width_pct": 0.7,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.49,
            "price_to_prz_pct_raw": 1.4886,
            "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": "gartley",
              "d_price": 60833.81,
              "a_price": 59530.7,
              "tp1_ad_382": 60336.02,
              "tp2_ad_618": 60028.49,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5953,
              "ABC": 0.7185
            },
            "x_price": 61256.0,
            "x_idx": 190,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 247,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 262,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.868,
            "ratio_score": 0.803,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60538.51,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.996,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651
            },
            "x_price": 60734.0,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 266,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.857,
            "ratio_score": 0.711,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59486.59,
            "prz_range": [
              59305.57,
              59667.6
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.76,
            "price_to_prz_pct_raw": -0.7589,
            "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": 59486.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59904.27,
              "tp2_ad_618": 60162.32,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5692,
              "ABC": 0.7053
            },
            "x_price": 59060.0,
            "x_idx": 185,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 59714.8,
            "b_idx": 269,
            "b_order": 8,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.823,
            "ratio_score": 0.777,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60543.3,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.996,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.302,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651,
              "BCD": 1.382,
              "XAD": 0.8415
            },
            "x_price": 60734.0,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 266,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": 272
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.948,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59567.32,
            "prz_range": [
              59218.67,
              59915.97
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.62,
            "price_to_prz_pct_raw": -0.6242,
            "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": 59567.32,
              "a_price": 60734.0,
              "tp1_ad_382": 60012.99,
              "tp2_ad_618": 60288.33,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7108
            },
            "x_price": 59060.0,
            "x_idx": 185,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 60543.3,
            "c_idx": 272,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.85,
            "ratio_score": 0.898,
            "prz_score": 0.926,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 58850.0,
            "prz_range": [
              58818.05,
              59519.35
            ],
            "prz_width_pct": 1.185,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.29,
            "price_to_prz_pct_raw": -1.2893,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.864,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 9,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59168.7,
              "a_price": 60557.8,
              "tp1_ad_382": 59699.34,
              "tp2_ad_618": 60027.16,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7044,
              "BCD": 3.7059,
              "XAD": 1.6627
            },
            "x_price": 59530.7,
            "x_idx": 234,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 59883.2,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": 290
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59854.53,
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_width_pct": 0.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1451,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4118
            },
            "x_price": 59530.7,
            "x_idx": 234,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59918.54,
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0383,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.4118
            },
            "x_price": 60074.5,
            "x_idx": 246,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59854.53,
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_width_pct": 0.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1451,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4118
            },
            "x_price": 59530.7,
            "x_idx": 234,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59918.54,
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0383,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.4118
            },
            "x_price": 60074.5,
            "x_idx": 246,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.812,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59966.71,
            "prz_range": [
              59757.23,
              60176.18
            ],
            "prz_width_pct": 0.699,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.042,
            "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": "shark",
              "d_price": 59966.71,
              "a_price": 60245.0,
              "tp1_ad_382": 60073.01,
              "tp2_ad_618": 60138.69,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4231,
              "ABC": 1.4065
            },
            "x_price": 60648.0,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 213,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.873,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60833.81,
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_width_pct": 0.7,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.49,
            "price_to_prz_pct_raw": 1.4886,
            "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": "gartley",
              "d_price": 60833.81,
              "a_price": 59530.7,
              "tp1_ad_382": 60336.02,
              "tp2_ad_618": 60028.49,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5953,
              "ABC": 0.7185
            },
            "x_price": 61256.0,
            "x_idx": 190,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 247,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 262,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.868,
            "ratio_score": 0.803,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60538.51,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.996,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651
            },
            "x_price": 60734.0,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 266,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.857,
            "ratio_score": 0.711,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59486.59,
            "prz_range": [
              59305.57,
              59667.6
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.76,
            "price_to_prz_pct_raw": -0.7589,
            "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": 59486.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59904.27,
              "tp2_ad_618": 60162.32,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5692,
              "ABC": 0.7053
            },
            "x_price": 59060.0,
            "x_idx": 185,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 59714.8,
            "b_idx": 269,
            "b_order": 8,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.823,
            "ratio_score": 0.777,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60543.3,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.996,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.302,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651,
              "BCD": 1.382,
              "XAD": 0.8415
            },
            "x_price": 60734.0,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 266,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": 272
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.948,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59567.32,
            "prz_range": [
              59218.67,
              59915.97
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.62,
            "price_to_prz_pct_raw": -0.6242,
            "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": 59567.32,
              "a_price": 60734.0,
              "tp1_ad_382": 60012.99,
              "tp2_ad_618": 60288.33,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7108
            },
            "x_price": 59060.0,
            "x_idx": 185,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 60543.3,
            "c_idx": 272,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.941,
            "ratio_score": 0.999,
            "prz_score": 0.959,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59283.59,
            "prz_range": [
              58970.37,
              59596.81
            ],
            "prz_width_pct": 1.057,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.1,
            "price_to_prz_pct_raw": -1.0976,
            "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": 59283.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59778.82,
              "tp2_ad_618": 60084.77,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5001,
              "ABC": 0.6646
            },
            "x_price": 59060.0,
            "x_idx": 185,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 59819.8,
            "b_idx": 262,
            "b_order": 5,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.919,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60531.07,
            "prz_range": [
              60176.61,
              60885.53
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.98,
            "price_to_prz_pct_raw": 0.9836,
            "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": 60531.07,
              "a_price": 59819.8,
              "tp1_ad_382": 60259.37,
              "tp2_ad_618": 60091.51,
              "tp3_a_or_structure_liquidity": 59819.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5409,
              "ABC": 1.2123
            },
            "x_price": 60734.0,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 59819.8,
            "a_idx": 262,
            "a_order": 5,
            "b_price": 60314.3,
            "b_idx": 266,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 0.937,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59180.95,
            "prz_range": [
              58842.54,
              59519.36
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.27,
            "price_to_prz_pct_raw": -1.2688,
            "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": 59180.95,
              "a_price": 60557.8,
              "tp1_ad_382": 59706.91,
              "tp2_ad_618": 60031.84,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7044
            },
            "x_price": 59530.7,
            "x_idx": 234,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 247,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 59883.2,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 1.0,
            "prz_score": 0.915,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59007.44,
            "prz_range": [
              58645.32,
              59369.56
            ],
            "prz_width_pct": 1.227,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.56,
            "price_to_prz_pct_raw": -1.5583,
            "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": 59007.44,
              "a_price": 60924.7,
              "tp1_ad_382": 59739.83,
              "tp2_ad_618": 60192.31,
              "tp3_a_or_structure_liquidity": 60924.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.5043
            },
            "x_price": 58388.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 60924.7,
            "a_idx": 255,
            "a_order": 8,
            "b_price": 59714.8,
            "b_idx": 269,
            "b_order": 8,
            "c_price": 60325.0,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "prz_proximity": "active",
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.15,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,615.47-$60,093.59: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.91,
            "prz_proximity": "active",
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.04,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,743.46-$60,093.62: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.85,
            "prz_proximity": "nearby",
            "prz_range": [
              58818.05,
              59519.35
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.29,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.864,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 9,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59168.7,
              "a_price": 60557.8,
              "tp1_ad_382": 59699.34,
              "tp2_ad_618": 60027.16,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB COMPLETED MEDIUM PRZ $58,818.05-$59,519.35: 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.964,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59854.53,
          "prz_range": [
            59615.47,
            60093.59
          ],
          "prz_width_pct": 0.799,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.15,
          "price_to_prz_pct_raw": -0.1451,
          "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": 59854.53,
            "a_price": 60557.8,
            "tp1_ad_382": 60123.18,
            "tp2_ad_618": 60289.15,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.3854,
            "ABC": 0.4118
          },
          "x_price": 59530.7,
          "x_idx": 234,
          "x_order": 3,
          "a_price": 60557.8,
          "a_idx": 247,
          "a_order": 5,
          "b_price": 60162.0,
          "b_idx": 251,
          "b_order": 3,
          "c_price": 60325.0,
          "c_idx": 294,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59854.53,
          "a_price": 60557.8,
          "tp1_ad_382": 60123.18,
          "tp2_ad_618": 60289.15,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 59168.7,
          "a_price": 60557.8,
          "tp1_ad_382": 59699.34,
          "tp2_ad_618": 60027.16,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59854.53,
            "a_price": 60557.8,
            "tp1_ad_382": 60123.18,
            "tp2_ad_618": 60289.15,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59918.54,
            "a_price": 60557.8,
            "tp1_ad_382": 60162.74,
            "tp2_ad_618": 60313.6,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59168.7,
            "a_price": 60557.8,
            "tp1_ad_382": 59699.34,
            "tp2_ad_618": 60027.16,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59168.7,
            "a_price": 60557.8,
            "tp1_ad_382": 59699.34,
            "tp2_ad_618": 60027.16,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.644,
          "bearish": 0
        },
        "directional_score_total": 0.644,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"현재가 $59,941.50이 고컨플루언스 bullish Bat 형성 PRZ $59,615.47-$60,093.59 내부에 위치, D 기준가 $59,854.53와 -0.15% 거리\",\n    \"고컨플루언스 bullish Butterfly 형성 PRZ $59,743.46-$60,093.62도 현재가와 거의 중첩, D 기준가 $59,918.54와 -0.04% 거리\",\n    \"완성된 bullish Crab PRZ $58,818.05-$59,519.35는 이미 PRZ 방어 및 AD 0.382 반응 확인, reaction_score 1.0, 확인된 TP2 $60,027.16 부근 도달권\",\n    \"상방 TP 클러스터가 $60,123.18, $60,162.74, $60,289.15, $60,313.60에 밀집해 단기 반등 시 1차 저항/청산 구간 형성\",\n    \"반대편에는 bearish Gartley PRZ $60,359.54-$60,717.48 및 watch PRZ $60,620.89-$61,046.73가 있어 $60.3k-$61.0k는 반등 후 매도 반응 위험 구간\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 1h BOS/CHoCH 또는 명확한 구조적 수용 데이터가 제공되지 않았으므로 structure_bias는 중립으로 둔다. 다만 실행 셋업 관점에서는 현재가 $59,941.50이 strict/high bullish Bat PRZ $59,615.47-$60,093.59와 strict/high bullish Butterfly PRZ $59,743.46-$60,093.62 안에 있으며, 두 PRZ 모두 ABCD·BC_EXT·XAD 3개 Fib 패밀리 컨플루언스를 가진다. 이미 완성된 bullish Crab도 $58,818.05-$59,519.35에서 reaction_score 1.0으로 방어 확인됐고, 검증 TP ladder의 TP2 $60,027.16 및 A/구조 유동성 $60,557.80이 상방 waypoint로 남아 있다. 단, 형성 중인 Bat/Butterfly는 아직 PRZ 진입 후 MSS/CHoCH나 파생 확인이 없으므로 단독 추세 전환 근거가 아니며, $60,359.54-$60,717.48의 bearish Gartley PRZ가 반등 저항으로 작동할 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59918.54,\n      59854.53,\n      59743.46,\n      59615.47,\n      59519.35,\n      58818.05\n    ],\n    \"resistance\": [\n      60027.16,\n      60093.62,\n      60123.18,\n      60289.15,\n      60313.6,\n      60557.8,\n      60717.48\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,818.05 1h 종가 이탈\",\n  \"risk_scenario\": \"$59,615.47-$60,093.62의 활성 bullish PRZ가 방어되지 못하고 $59,519.35 아래로 재진입하면 확인된 Crab 반등의 효력이 약해지며, $58,818.05 하단 이탈 시 harmonic bullish 셋업은 실패로 본다. 반대로 반등이 $60,359.54-$60,717.48 bearish Gartley PRZ에서 거부되면 $60,027-$59,915 재테스트로 되밀릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.76,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.69,
      "active_setups": [
        "ICT: $63,220.00 bearish CHoCH 이후 $61,870.00 및 $59,060.00 bearish BOS가 유지되어 구조적 매도 우위",
        "Wyckoff: 활성 재분배 범위 $58,030.00-$60,557.80 내에서 UT/UTAD $60,543.30-$60,557.80 실패 후 LPSY $59,883.20와 SOW $58,850.00 형성",
        "Fibonacci: 현재가 $59,941.50가 단기 스윙 EQ $59,587.50 위 프리미엄에 있으며 ret_0.236 $59,976.90 즉시 저항을 테스트",
        "Derivatives: 롱 계정 비율 0.676, 롱 과밀도 1.000, 24시간 OI +1.886% 증가에도 가격 -0.62%로 레버리지 롱 취약성 확대",
        "Candlestick: strict bullish engulfing은 있으나 가격이 EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 반등은 아직 구조 전환으로 확인되지 않음",
        "Harmonic: bullish Bat PRZ $59,615.47-$60,093.59 및 Butterfly PRZ $59,743.46-$60,093.62 내부에 있어 단기 반등 후보는 존재하지만, 사전확인 PRZ로 구조를 뒤집을 권한은 제한적"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 캔들·하모닉은 $59,615-$60,094 부근의 단기 반등 후보를 제시하므로, 현재 구간은 약세 구조 안의 반등/재분배 테스트로 해석하는 것이 적절하다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        59876.27,
        59761.55,
        59714.8,
        59587.5,
        59413.45,
        59060.0,
        58850.0,
        58030.0
      ],
      "resistance": [
        59976.9,
        60093.62,
        60325.0,
        60516.99,
        60557.8,
        60734.0,
        61870.0,
        63220.0
      ]
    },
    "confluences": [
      "Wyckoff의 활성 재분배 상단 $60,543.30-$60,557.80, Derivatives의 EMA120 $60,516.99, Candlestick의 EMA120 $60,516.99가 모두 $60,500-$60,560 부근을 핵심 구조 저항으로 지목한다.",
      "ICT의 최근 bullish BOS 기준 $60,734.00, Fibonacci 확장/저항 $60,726.20, Harmonic의 상단 bearish PRZ 후보 $60,717.48이 $60,717-$60,734 구간에서 저항 컨플루언스를 만든다.",
      "ICT와 Wyckoff 모두 $58,850.00을 최근 하방 구조 기준점으로 제시하며, Harmonic의 completed bullish Crab D/PRZ 하단 방어 구간 $58,818.05-$59,519.35와도 겹친다.",
      "Candlestick, ICT, Wyckoff, Derivatives가 모두 $58,030.00을 주요 저점/구조 지지로 공유한다.",
      "Fibonacci의 ret_0.236 $59,976.90, Harmonic의 bullish Butterfly D $59,918.54 및 Shark D $59,966.71, 현재가 $59,941.50이 모두 $59,900-$60,000 부근에 밀집해 단기 반응 구간을 형성한다.",
      "Candlestick과 Derivatives는 모두 가격이 EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 중기 구조가 아직 약세라고 판단한다."
    ],
    "conflicts": [
      "Harmonic은 현재가가 bullish Bat PRZ $59,615.47-$60,093.59 및 bullish Butterfly PRZ $59,743.46-$60,093.62 내부에 있어 단기 반등 후보를 제시하지만, ICT·Wyckoff·Derivatives는 이를 약세 구조 내 되돌림 또는 공급 재시험으로 본다.",
      "Candlestick은 고거래량 strict bullish engulfing 품질 0.716을 근거로 단기 bullish setup을 인정하지만, 자체 구조 판단은 EMA120/EMA240 아래의 bearish 구조로 유지된다.",
      "Fibonacci는 구조를 neutral로 두지만 실행 관점에서는 $59,976.90 저항 테스트와 EQ $59,587.50 위 프리미엄 때문에 bearish setup을 제시해, 방향보다 구간 반응에 더 초점을 둔다.",
      "Derivatives는 롱 과밀과 CVD 악화를 약세로 보지만, 하방 청산 밀집 $58,800/$58,400/$57,600은 가격 유도 위험 조건이지 독립적인 구조 붕괴 확정 신호는 아니다."
    ],
    "executive_summary": "BTC 1시간 구조는 prior distribution이 $58,030.00 Phase E로 하방 이탈한 뒤, 현재 $58,030.00-$60,557.80 범위의 재분배 후보가 활성화된 상태로 진단된다. 활성 구조 안에서는 UT/UTAD $60,543.30-$60,557.80 실패 이후 LPSY $59,883.20와 SOW $58,850.00가 표시되어 공급 우위가 유지되며, ICT의 $63,220.00 bearish CHoCH 및 $61,870.00/$59,060.00 bearish BOS도 같은 약세 구조를 지지한다. 현재가 $59,941.50는 단기 하모닉 bullish PRZ와 피보나치 저항 $59,976.90 부근에 있어 반등 후보가 존재하지만, 이는 아직 구조 전환이 아니라 재분배 상단 저항을 재시험하는 조건으로 보는 것이 타당하다. 구조적 위험은 $60,516.99-$60,557.80 저항대에서의 실패, 롱 과밀 포지셔닝, 그리고 $58,850.00/$58,030.00 하방 구조 지지 재시험이며, 약세 구조의 핵심 무효화는 $63,209.60-$63,220.00 상방 수용이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.76,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.69,\n    \"active_setups\": [\n      \"ICT: $63,220.00 bearish CHoCH 이후 $61,870.00 및 $59,060.00 bearish BOS가 유지되어 구조적 매도 우위\",\n      \"Wyckoff: 활성 재분배 범위 $58,030.00-$60,557.80 내에서 UT/UTAD $60,543.30-$60,557.80 실패 후 LPSY $59,883.20와 SOW $58,850.00 형성\",\n      \"Fibonacci: 현재가 $59,941.50가 단기 스윙 EQ $59,587.50 위 프리미엄에 있으며 ret_0.236 $59,976.90 즉시 저항을 테스트\",\n      \"Derivatives: 롱 계정 비율 0.676, 롱 과밀도 1.000, 24시간 OI +1.886% 증가에도 가격 -0.62%로 레버리지 롱 취약성 확대\",\n      \"Candlestick: strict bullish engulfing은 있으나 가격이 EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 반등은 아직 구조 전환으로 확인되지 않음\",\n      \"Harmonic: bullish Bat PRZ $59,615.47-$60,093.59 및 Butterfly PRZ $59,743.46-$60,093.62 내부에 있어 단기 반등 후보는 존재하지만, 사전확인 PRZ로 구조를 뒤집을 권한은 제한적\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 캔들·하모닉은 $59,615-$60,094 부근의 단기 반등 후보를 제시하므로, 현재 구간은 약세 구조 안의 반등/재분배 테스트로 해석하는 것이 적절하다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      59876.27,\n      59761.55,\n      59714.8,\n      59587.5,\n      59413.45,\n      59060.0,\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      59976.9,\n      60093.62,\n      60325.0,\n      60516.99,\n      60557.8,\n      60734.0,\n      61870.0,\n      63220.0\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff의 활성 재분배 상단 $60,543.30-$60,557.80, Derivatives의 EMA120 $60,516.99, Candlestick의 EMA120 $60,516.99가 모두 $60,500-$60,560 부근을 핵심 구조 저항으로 지목한다.\",\n    \"ICT의 최근 bullish BOS 기준 $60,734.00, Fibonacci 확장/저항 $60,726.20, Harmonic의 상단 bearish PRZ 후보 $60,717.48이 $60,717-$60,734 구간에서 저항 컨플루언스를 만든다.\",\n    \"ICT와 Wyckoff 모두 $58,850.00을 최근 하방 구조 기준점으로 제시하며, Harmonic의 completed bullish Crab D/PRZ 하단 방어 구간 $58,818.05-$59,519.35와도 겹친다.\",\n    \"Candlestick, ICT, Wyckoff, Derivatives가 모두 $58,030.00을 주요 저점/구조 지지로 공유한다.\",\n    \"Fibonacci의 ret_0.236 $59,976.90, Harmonic의 bullish Butterfly D $59,918.54 및 Shark D $59,966.71, 현재가 $59,941.50이 모두 $59,900-$60,000 부근에 밀집해 단기 반응 구간을 형성한다.\",\n    \"Candlestick과 Derivatives는 모두 가격이 EMA120 $60,516.99 및 EMA240 $61,551.61 아래에 있어 중기 구조가 아직 약세라고 판단한다.\"\n  ],\n  \"conflicts\": [\n    \"Harmonic은 현재가가 bullish Bat PRZ $59,615.47-$60,093.59 및 bullish Butterfly PRZ $59,743.46-$60,093.62 내부에 있어 단기 반등 후보를 제시하지만, ICT·Wyckoff·Derivatives는 이를 약세 구조 내 되돌림 또는 공급 재시험으로 본다.\",\n    \"Candlestick은 고거래량 strict bullish engulfing 품질 0.716을 근거로 단기 bullish setup을 인정하지만, 자체 구조 판단은 EMA120/EMA240 아래의 bearish 구조로 유지된다.\",\n    \"Fibonacci는 구조를 neutral로 두지만 실행 관점에서는 $59,976.90 저항 테스트와 EQ $59,587.50 위 프리미엄 때문에 bearish setup을 제시해, 방향보다 구간 반응에 더 초점을 둔다.\",\n    \"Derivatives는 롱 과밀과 CVD 악화를 약세로 보지만, 하방 청산 밀집 $58,800/$58,400/$57,600은 가격 유도 위험 조건이지 독립적인 구조 붕괴 확정 신호는 아니다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 1시간 regime이 confirmed distribution 및 현재 활성 재분배 구조로 분류되며, prior distribution의 Phase E 이후 새 재분배 후보에서 UT $60,557.80, UTAD $60,543.30, LPSY $59,883.20, SOW $58,850.00가 순차적으로 식별되어 구조적 설명력이 가장 높다.\",\n  \"invalidation_level\": \"단기 재분배 약세 구조는 $60,557.80 상방 수용 시 약화되며, regime-level bearish thesis는 $63,209.60-$63,220.00 회복 및 수용 시 무효화된다.\",\n  \"executive_summary\": \"BTC 1시간 구조는 prior distribution이 $58,030.00 Phase E로 하방 이탈한 뒤, 현재 $58,030.00-$60,557.80 범위의 재분배 후보가 활성화된 상태로 진단된다. 활성 구조 안에서는 UT/UTAD $60,543.30-$60,557.80 실패 이후 LPSY $59,883.20와 SOW $58,850.00가 표시되어 공급 우위가 유지되며, ICT의 $63,220.00 bearish CHoCH 및 $61,870.00/$59,060.00 bearish BOS도 같은 약세 구조를 지지한다. 현재가 $59,941.50는 단기 하모닉 bullish PRZ와 피보나치 저항 $59,976.90 부근에 있어 반등 후보가 존재하지만, 이는 아직 구조 전환이 아니라 재분배 상단 저항을 재시험하는 조건으로 보는 것이 타당하다. 구조적 위험은 $60,516.99-$60,557.80 저항대에서의 실패, 롱 과밀 포지셔닝, 그리고 $58,850.00/$58,030.00 하방 구조 지지 재시험이며, 약세 구조의 핵심 무효화는 $63,209.60-$63,220.00 상방 수용이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.76,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.68,
    "waypoints": [
      {
        "seq": 1,
        "price": 60325.0,
        "type": "resistance_test",
        "source": "Candlestick(strict bullish engulfing 0.716), Harmonic(bullish Bat/Butterfly PRZ 방어 + bearish Gartley PRZ $60,359~), Fibonacci(스윙 고점 $60,325/ret_0.236 $59,976.90), ICT(저항 $60,325)",
        "description": "단기 strict bullish engulfing(품질 0.716, 고거래량)과 하모닉 bullish Bat/Butterfly PRZ 방어를 동력으로 한 반등이 '재분배 상단'을 재시험하는 구간. 하모닉 PRZ 천장 $60,093.62를 통과해 직전 스윙 고점 $60,325.00(Fib/ICT 저항)를 테스트하지만, bearish Gartley PRZ($60,359.54~) 진입과 그 위 EMA120/UTAD 공급대 $60,516.99~$60,557.80에 막혀 거부될 가능성이 높다. 약세 구조 내 반등/공급 재시험으로 해석.",
        "est_hours": 3.0,
        "turning_zone": [
          60325.0,
          60557.8
        ],
        "likely_wick": 60517.0,
        "rejection_confirm": 60093.62,
        "invalid_overshoot": 60640.0,
        "calibration_reasoning": "직전 스윙고점 $60,325 위 유동성 그랩 지점을 bearish Gartley PRZ $60,359.54가, 존 상단을 EMA120/UTAD 공급대($60,516.99~$60,557.80)가 정의하며 이는 확정된 bullish Crab TP3 A/유동성 $60,557.80·Chairman 저항과 합류(존폭 0.55×ATR). 위크는 공급대 하단 합류 $60,517로 편향, 하모닉 PRZ 천장 $60,093.62 재이탈 시 거부 확정."
      },
      {
        "seq": 2,
        "price": 59587.5,
        "type": "support_test",
        "source": "Fibonacci(EQ ret_0.5 $59,587.50, ret_0.382 $59,761.55), ICT(이전일 저가 $59,714.80), Chairman(EQ 지지)",
        "description": "공급대 거부 확인 후 프리미엄→디스카운트 피벗인 스윙 EQ(ret_0.5) $59,587.50까지 하락. 도중 ret_0.382 $59,761.55와 이전일 저가 $59,714.80을 하향 이탈하며 매도 우위를 재확인한다. EQ 하회 시 약세 셋업이 본격화되고 디스카운트 구간으로 전환.",
        "est_hours": 11.0,
        "turning_zone": [
          59413.45,
          59587.5
        ],
        "likely_wick": 59430.0,
        "rejection_confirm": 59674.53,
        "invalid_overshoot": 59289.55,
        "calibration_reasoning": "프리미엄→디스카운트 피벗인 스윙 EQ(ret_0.5) $59,587.50를 상단, 골든비율 ret_0.618 $59,413.45(Chairman 지지)를 하단으로 한 0.41×ATR 존. EQ는 깨지기 쉬운 피벗이라 위크는 0.618 지지 부근($59,430)으로 치우치고, ret_0.5/0.382 합류 $59,674.53 재탈환이 국지 반등 확정. ret_0.786/0.618 합류 $59,289.55 하회 시 무효(WP3 직행)."
      },
      {
        "seq": 3,
        "price": 58850.0,
        "type": "swing_low",
        "source": "Wyckoff(SOW $58,850), ICT(bearish BOS $59,060/지지 $58,850), Harmonic(완성 Crab PRZ 방어 $58,818.05~$59,519.35), Derivatives(청산 밀집 $58,800)",
        "description": "EQ 이탈 후 ICT bearish BOS $59,060.00 구조 지지를 깨고 Wyckoff SOW $58,850.00까지 마크다운을 연장. $58,850.00은 ICT·Wyckoff 공통 하방 구조 기준점이자 하모닉 완성 bullish Crab PRZ($58,818.05~$59,519.35) 방어대와 겹쳐, 롱 청산 밀집 $58,800과 함께 다음 반등 반응이 형성될 수 있는 1차 목표 저점.",
        "est_hours": 22.0,
        "turning_zone": [
          58560.0,
          58850.0
        ],
        "likely_wick": 58800.0,
        "rejection_confirm": 59060.0,
        "invalid_overshoot": 58450.0,
        "calibration_reasoning": "확정 bullish Crab D/PRZ $58,850(PRZ 바닥 $58,818.05)·Wyckoff SOW·ICT 하방 구조 기준점에 롱 청산 밀집 $58,800 자석이 겹친 1차 목표 저점. 터미널이라 존폭 0.68×ATR로 확대해 청산 스윕 여지를 포함하고 위크는 청산 클러스터 $58,800로 편향. ICT BOS $59,060 재탈환이 반등 확정, $58,450 하회 시 Crab PRZ 방어 실패."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60360.0,
        "expected_low": 59800.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 60360.0,
        "expected_low": 59620.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 60360.0,
        "expected_low": 58800.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60557.8,
        "description": "EMA120·UT/UTAD 공급 컨플루언스 $60,516.99~$60,557.80 상단을 종가로 수용하면 재분배 상단 거부 시나리오가 약화되고, $60,734.00(최근 bullish BOS)·$61,870.00을 향한 상승 압력이 되살아난다. 약세 셋업 무효화 신호."
      },
      "bearish": {
        "price": 59060.0,
        "description": "ICT bearish BOS이자 Wyckoff SOW 기준선 $59,060.00을 하향 이탈·수용하면 마크다운이 가속된다. 롱 과밀(0.676/과밀도 1.000) 청산 트리거로 $58,850.00·$58,030.00(Phase E)과 청산 밀집 $58,800/$58,400 구간으로 빠르게 확장."
      }
    },
    "scenario_invalidation": 60734.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.68,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60325.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"Candlestick(strict bullish engulfing 0.716), Harmonic(bullish Bat/Butterfly PRZ 방어 + bearish Gartley PRZ $60,359~), Fibonacci(스윙 고점 $60,325/ret_0.236 $59,976.90), ICT(저항 $60,325)\",\n      \"description\": \"단기 strict bullish engulfing(품질 0.716, 고거래량)과 하모닉 bullish Bat/Butterfly PRZ 방어를 동력으로 한 반등이 '재분배 상단'을 재시험하는 구간. 하모닉 PRZ 천장 $60,093.62를 통과해 직전 스윙 고점 $60,325.00(Fib/ICT 저항)를 테스트하지만, bearish Gartley PRZ($60,359.54~) 진입과 그 위 EMA120/UTAD 공급대 $60,516.99~$60,557.80에 막혀 거부될 가능성이 높다. 약세 구조 내 반등/공급 재시험으로 해석.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59587.5,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci(EQ ret_0.5 $59,587.50, ret_0.382 $59,761.55), ICT(이전일 저가 $59,714.80), Chairman(EQ 지지)\",\n      \"description\": \"공급대 거부 확인 후 프리미엄→디스카운트 피벗인 스윙 EQ(ret_0.5) $59,587.50까지 하락. 도중 ret_0.382 $59,761.55와 이전일 저가 $59,714.80을 하향 이탈하며 매도 우위를 재확인한다. EQ 하회 시 약세 셋업이 본격화되고 디스카운트 구간으로 전환.\",\n      \"est_hours\": 11.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58850.0,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(SOW $58,850), ICT(bearish BOS $59,060/지지 $58,850), Harmonic(완성 Crab PRZ 방어 $58,818.05~$59,519.35), Derivatives(청산 밀집 $58,800)\",\n      \"description\": \"EQ 이탈 후 ICT bearish BOS $59,060.00 구조 지지를 깨고 Wyckoff SOW $58,850.00까지 마크다운을 연장. $58,850.00은 ICT·Wyckoff 공통 하방 구조 기준점이자 하모닉 완성 bullish Crab PRZ($58,818.05~$59,519.35) 방어대와 겹쳐, 롱 청산 밀집 $58,800과 함께 다음 반등 반응이 형성될 수 있는 1차 목표 저점.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60360.0, \"expected_low\": 59800.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60360.0, \"expected_low\": 59620.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60360.0, \"expected_low\": 58800.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 60557.8,\n      \"description\": \"EMA120·UT/UTAD 공급 컨플루언스 $60,516.99~$60,557.80 상단을 종가로 수용하면 재분배 상단 거부 시나리오가 약화되고, $60,734.00(최근 bullish BOS)·$61,870.00을 향한 상승 압력이 되살아난다. 약세 셋업 무효화 신호.\"\n    },\n    \"bearish\": {\n      \"price\": 59060.0,\n      \"description\": \"ICT bearish BOS이자 Wyckoff SOW 기준선 $59,060.00을 하향 이탈·수용하면 마크다운이 가속된다. 롱 과밀(0.676/과밀도 1.000) 청산 트리거로 $58,850.00·$58,030.00(Phase E)과 청산 밀집 $58,800/$58,400 구간으로 빠르게 확장.\"\n    }\n  },\n  \"scenario_invalidation\": 60734.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60325.0,
        "turning_zone": [
          60325.0,
          60557.8
        ],
        "likely_wick": 60517.0,
        "rejection_confirm": 60093.62,
        "invalid_overshoot": 60640.0,
        "calibration_reasoning": "직전 스윙고점 $60,325 위 유동성 그랩 지점을 bearish Gartley PRZ $60,359.54가, 존 상단을 EMA120/UTAD 공급대($60,516.99~$60,557.80)가 정의하며 이는 확정된 bullish Crab TP3 A/유동성 $60,557.80·Chairman 저항과 합류(존폭 0.55×ATR). 위크는 공급대 하단 합류 $60,517로 편향, 하모닉 PRZ 천장 $60,093.62 재이탈 시 거부 확정."
      },
      {
        "seq": 2,
        "base_target": 59587.5,
        "turning_zone": [
          59413.45,
          59587.5
        ],
        "likely_wick": 59430.0,
        "rejection_confirm": 59674.53,
        "invalid_overshoot": 59289.55,
        "calibration_reasoning": "프리미엄→디스카운트 피벗인 스윙 EQ(ret_0.5) $59,587.50를 상단, 골든비율 ret_0.618 $59,413.45(Chairman 지지)를 하단으로 한 0.41×ATR 존. EQ는 깨지기 쉬운 피벗이라 위크는 0.618 지지 부근($59,430)으로 치우치고, ret_0.5/0.382 합류 $59,674.53 재탈환이 국지 반등 확정. ret_0.786/0.618 합류 $59,289.55 하회 시 무효(WP3 직행)."
      },
      {
        "seq": 3,
        "base_target": 58850.0,
        "turning_zone": [
          58560.0,
          58850.0
        ],
        "likely_wick": 58800.0,
        "rejection_confirm": 59060.0,
        "invalid_overshoot": 58450.0,
        "calibration_reasoning": "확정 bullish Crab D/PRZ $58,850(PRZ 바닥 $58,818.05)·Wyckoff SOW·ICT 하방 구조 기준점에 롱 청산 밀집 $58,800 자석이 겹친 1차 목표 저점. 터미널이라 존폭 0.68×ATR로 확대해 청산 스윕 여지를 포함하고 위크는 청산 클러스터 $58,800로 편향. ICT BOS $59,060 재탈환이 반등 확정, $58,450 하회 시 Crab PRZ 방어 실패."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60325.00,\n      \"turning_zone\": [60325.00, 60557.80],\n      \"likely_wick\": 60517.00,\n      \"rejection_confirm\": 60093.62,\n      \"invalid_overshoot\": 60640.00,\n      \"calibration_reasoning\": \"직전 스윙고점 $60,325 위 유동성 그랩 지점을 bearish Gartley PRZ $60,359.54가, 존 상단을 EMA120/UTAD 공급대($60,516.99~$60,557.80)가 정의하며 이는 확정된 bullish Crab TP3 A/유동성 $60,557.80·Chairman 저항과 합류(존폭 0.55×ATR). 위크는 공급대 하단 합류 $60,517로 편향, 하모닉 PRZ 천장 $60,093.62 재이탈 시 거부 확정.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59587.50,\n      \"turning_zone\": [59413.45, 59587.50],\n      \"likely_wick\": 59430.00,\n      \"rejection_confirm\": 59674.53,\n      \"invalid_overshoot\": 59289.55,\n      \"calibration_reasoning\": \"프리미엄→디스카운트 피벗인 스윙 EQ(ret_0.5) $59,587.50를 상단, 골든비율 ret_0.618 $59,413.45(Chairman 지지)를 하단으로 한 0.41×ATR 존. EQ는 깨지기 쉬운 피벗이라 위크는 0.618 지지 부근($59,430)으로 치우치고, ret_0.5/0.382 합류 $59,674.53 재탈환이 국지 반등 확정. ret_0.786/0.618 합류 $59,289.55 하회 시 무효(WP3 직행).\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58850.00,\n      \"turning_zone\": [58560.00, 58850.00],\n      \"likely_wick\": 58800.00,\n      \"rejection_confirm\": 59060.00,\n      \"invalid_overshoot\": 58450.00,\n      \"calibration_reasoning\": \"확정 bullish Crab D/PRZ $58,850(PRZ 바닥 $58,818.05)·Wyckoff SOW·ICT 하방 구조 기준점에 롱 청산 밀집 $58,800 자석이 겹친 1차 목표 저점. 터미널이라 존폭 0.68×ATR로 확대해 청산 스윕 여지를 포함하고 위크는 청산 클러스터 $58,800로 편향. ICT BOS $59,060 재탈환이 반등 확정, $58,450 하회 시 Crab PRZ 방어 실패.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 53.8,
      "chairman": 83.4,
      "operating_path": 285.3,
      "tp_calibrator": 247.5
    },
    "agents": {},
    "total_s": 670.1
  }
}