{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-28 17:00 KST",
  "last_price": 60170.5,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.55,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.56,
      "setup_signals": [
        "현재가 $60,170.50가 EMA20 $60,185.78 바로 아래에 위치하여 단기 저항 압력을 받는 상태",
        "EMA120 $60,927.12 및 EMA240 $62,076.01 아래에서 거래되어 상위 평균선 회복 실패",
        "최근 5개 패턴 중 bearish_engulfing@291, @294, @296가 반복 출현하며 단기 매도 압력 우위",
        "bear_score 2.25 대 bull_score 0으로 캔들 모멘텀이 약세 쪽에 치우침",
        "7일 범위 EQ 약 $61,813.60 아래의 할인 구간에 있어 과매도 반등 가능성은 있으나, 아직 확인된 반전 캔들 부재"
      ],
      "reasoning": "현재 BTC는 $60,170.50으로 EMA20 $60,185.78 바로 아래에 있으며, EMA120 $60,927.12와 EMA240 $62,076.01도 회복하지 못해 단기 반등이 저항에 막히는 구조입니다. 최근 패턴은 bearish_engulfing 3개와 doji 2개로 구성되어 있고, best_pattern_quality가 0.493에 불과해 강한 확정 신호는 아니지만 bull_score 0 대비 bear_score 2.25로 매도 압력이 우세합니다. 다만 7일 저점 $58,030.00과 고점 $65,597.20의 중간값인 약 $61,813.60 아래에서 거래 중이므로 이미 할인 구간이며, 구조적으로는 명확한 BOS/CHoCH 확인이 없어 structure_bias는 neutral로 봅니다. 실행 관점에서는 EMA20 및 EMA120 아래에서 반복된 약세 장악형 후보가 나타났기 때문에 setup_bias는 bearish입니다.",
      "key_levels": {
        "support": [
          60000.0,
          58030.0
        ],
        "resistance": [
          60185.78,
          60927.12,
          61813.6,
          62076.01,
          65597.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,927.12 1시간봉 종가 상향 돌파",
      "risk_scenario": "반대 시나리오에서는 가격이 EMA20 $60,185.78을 회복한 뒤 EMA120 $60,927.12 위에서 1시간봉 종가를 형성하면, 최근 bearish engulfing 후보들은 실패 신호가 되며 $61,813.60 EQ와 EMA240 $62,076.01까지 숏 커버링 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 146,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@291",
          "bearish_engulfing@294",
          "bearish_engulfing@296",
          "doji@290",
          "doji@298"
        ],
        "atr_value": 306.92,
        "vol_avg_20": 3366.73,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.493,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.489,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.458,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.493,
        "bull_score": 0,
        "bear_score": 2.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"현재가 $60,170.50가 EMA20 $60,185.78 바로 아래에 위치하여 단기 저항 압력을 받는 상태\",\n    \"EMA120 $60,927.12 및 EMA240 $62,076.01 아래에서 거래되어 상위 평균선 회복 실패\",\n    \"최근 5개 패턴 중 bearish_engulfing@291, @294, @296가 반복 출현하며 단기 매도 압력 우위\",\n    \"bear_score 2.25 대 bull_score 0으로 캔들 모멘텀이 약세 쪽에 치우침\",\n    \"7일 범위 EQ 약 $61,813.60 아래의 할인 구간에 있어 과매도 반등 가능성은 있으나, 아직 확인된 반전 캔들 부재\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,170.50으로 EMA20 $60,185.78 바로 아래에 있으며, EMA120 $60,927.12와 EMA240 $62,076.01도 회복하지 못해 단기 반등이 저항에 막히는 구조입니다. 최근 패턴은 bearish_engulfing 3개와 doji 2개로 구성되어 있고, best_pattern_quality가 0.493에 불과해 강한 확정 신호는 아니지만 bull_score 0 대비 bear_score 2.25로 매도 압력이 우세합니다. 다만 7일 저점 $58,030.00과 고점 $65,597.20의 중간값인 약 $61,813.60 아래에서 거래 중이므로 이미 할인 구간이며, 구조적으로는 명확한 BOS/CHoCH 확인이 없어 structure_bias는 neutral로 봅니다. 실행 관점에서는 EMA20 및 EMA120 아래에서 반복된 약세 장악형 후보가 나타났기 때문에 setup_bias는 bearish입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60000.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60185.78,\n      60927.12,\n      61813.6,\n      62076.01,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,927.12 1시간봉 종가 상향 돌파\",\n  \"risk_scenario\": \"반대 시나리오에서는 가격이 EMA20 $60,185.78을 회복한 뒤 EMA120 $60,927.12 위에서 1시간봉 종가를 형성하면, 최근 bearish engulfing 후보들은 실패 신호가 되며 $61,813.60 EQ와 EMA240 $62,076.01까지 숏 커버링 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "가격이 EQ ret_0.5 $60,372.25 아래에 있어 단기적으로 할인 구간에 위치",
        "ret_0.236 지지 $60,080.56 위에서 거래되며 즉각적인 하방 이탈은 아직 미확인",
        "nearest_fib ret_0.382 $60,241.87까지 0.12% 거리로 단기 돌파 시 $60,372.25-$60,502.63까지 되돌림 여지 존재",
        "고품질 피보나치 클러스터 $60,250.27에 ret_0.236, ret_0.382, ret_0.5가 중첩되어 반응 가능성 증가",
        "fib_reaction_state가 testing이며 reaction_probability 0.65로 단기 반응 구간 진입"
      ],
      "reasoning": "확정 구조는 $60,925 고점에서 $59,820 저점으로 이어진 하락 스윙이 기준이며, 현재가는 EMA120 $60,927.12와 EMA240 $62,076.01 아래에 있어 structure_bias는 bearish로 판단한다. 다만 현재가 $60,170.50은 ret_0.5 $60,372.25 아래의 할인 구간이고 ret_0.236 지지 $60,080.56 위에 있어, 구조 전환 전 단기 반등 setup_bias는 bullish로 분리된다. 핵심 저항은 nearest_fib인 ret_0.382 $60,241.87이며, 이를 회복하면 $60,372.25와 골든비율 ret_0.618 $60,502.63까지 되돌림이 열릴 수 있다. 반대로 $60,080.56을 잃으면 하락 스윙 저점 $59,819.80 및 ext_1.272 $59,519.27 재테스트 가능성이 커진다.",
      "key_levels": {
        "support": [
          60080.56,
          59819.8,
          59519.27,
          59362.37,
          59136.97
        ],
        "resistance": [
          60241.87,
          60372.25,
          60502.63,
          60688.25
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,819.80",
      "risk_scenario": "단기 bullish setup이 실패하여 $60,080.56 아래로 밀리면, 시장은 하락 구조를 재확인하며 $59,819.80, $59,519.27, $59,136.97 순서로 확장 목표를 열 수 있다. 반대로 $60,502.63 골든비율 저항까지 강하게 회복하고 $60,688.25 위에서 수용되면 bearish structure 자체가 약화된다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,925 → $59,820",
        "direction": "down",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 60241.87,
        "nearest_fib_distance": 0.12,
        "golden_ratio_level": 60502.63,
        "fib_ret_382": 60241.87,
        "fib_ret_618": 60502.63,
        "confluence_zones": [
          {
            "price": 60250.27,
            "count": 3,
            "levels": [
              "ret_0.236",
              "ret_0.382",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 58031.04,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_2.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59249.67,
            "count": 2,
            "levels": [
              "ext_1.618",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59950.18,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60595.44,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.786"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60080.5564,
          59819.8,
          59519.2672
        ],
        "resistance_levels": [
          60241.8718,
          60372.25,
          60502.6282
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60080.56,
            "distance_pct": 0.15,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 60241.87,
            "distance_pct": 0.12,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 60372.25,
            "distance_pct": 0.34,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 60502.63,
            "distance_pct": 0.55,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 60688.25,
            "distance_pct": 0.86,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 59819.8,
            "distance_pct": 0.58,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 59519.27,
            "distance_pct": 1.08,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 59362.37,
            "distance_pct": 1.34,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 59136.97,
            "distance_pct": 1.72,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 58714.9,
            "distance_pct": 2.42,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"가격이 EQ ret_0.5 $60,372.25 아래에 있어 단기적으로 할인 구간에 위치\",\n    \"ret_0.236 지지 $60,080.56 위에서 거래되며 즉각적인 하방 이탈은 아직 미확인\",\n    \"nearest_fib ret_0.382 $60,241.87까지 0.12% 거리로 단기 돌파 시 $60,372.25-$60,502.63까지 되돌림 여지 존재\",\n    \"고품질 피보나치 클러스터 $60,250.27에 ret_0.236, ret_0.382, ret_0.5가 중첩되어 반응 가능성 증가\",\n    \"fib_reaction_state가 testing이며 reaction_probability 0.65로 단기 반응 구간 진입\"\n  ],\n  \"reasoning\": \"확정 구조는 $60,925 고점에서 $59,820 저점으로 이어진 하락 스윙이 기준이며, 현재가는 EMA120 $60,927.12와 EMA240 $62,076.01 아래에 있어 structure_bias는 bearish로 판단한다. 다만 현재가 $60,170.50은 ret_0.5 $60,372.25 아래의 할인 구간이고 ret_0.236 지지 $60,080.56 위에 있어, 구조 전환 전 단기 반등 setup_bias는 bullish로 분리된다. 핵심 저항은 nearest_fib인 ret_0.382 $60,241.87이며, 이를 회복하면 $60,372.25와 골든비율 ret_0.618 $60,502.63까지 되돌림이 열릴 수 있다. 반대로 $60,080.56을 잃으면 하락 스윙 저점 $59,819.80 및 ext_1.272 $59,519.27 재테스트 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      60080.56,\n      59819.8,\n      59519.27,\n      59362.37,\n      59136.97\n    ],\n    \"resistance\": [\n      60241.87,\n      60372.25,\n      60502.63,\n      60688.25\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,819.80\",\n  \"risk_scenario\": \"단기 bullish setup이 실패하여 $60,080.56 아래로 밀리면, 시장은 하락 구조를 재확인하며 $59,819.80, $59,519.27, $59,136.97 순서로 확장 목표를 열 수 있다. 반대로 $60,502.63 골든비율 저항까지 강하게 회복하고 $60,688.25 위에서 수용되면 bearish structure 자체가 약화된다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.783,
      "setup_signals": [
        "현재가 $60,170.50가 EQ $59,656.35 위에 있어 프리미엄 구간에서 매도 셋업 우위",
        "이전 고가 $60,697.60는 돌파됐지만 이전 저가 $59,530.70는 미이탈 상태로, 상단 유동성 취득 후 하방 회전 가능성",
        "후보 bearish OB가 $62,272.10~$63,209.60에 위치하며, 상방 재가격화 시 공급 구간으로 작용 가능",
        "확정 bearish CHoCH 기준 $63,220.00 및 bearish BOS $61,870.00, $59,060.00가 존재해 상위 구조의 매도 압력이 아직 유효",
        "EMA20 $60,185.78 부근에서 현재가 $60,170.50가 저항을 받고 있으며 EMA120 $60,927.12, EMA240 $62,076.01 아래에 위치"
      ],
      "reasoning": "1시간 구조상 가장 최근 이벤트는 $60,734.00 상향 BOS이므로 단기 structure_bias는 bullish로 읽히지만, 이는 아직 연속 bullish BOS가 1회뿐이라 강한 추세 확정으로 보기 어렵다. 반면 실행 관점에서는 현재가 $60,170.50가 EQ $59,656.35 위의 프리미엄에 있고, 이전 고가 $60,697.60 돌파 후 지속 수용이 약해 매수 유동성 소진 이후 하방 회전 셋업이 우세하다. 주요 공급은 후보 bearish OB $62,272.10~$63,209.60이며, 그 위 $63,220.00 bearish CHoCH 레벨을 회복하기 전까지는 매도 측 시나리오가 유리하다. 하방 목표는 먼저 이전 저가 $59,530.70, 이후 range low $58,388.00 및 7일 저점 $58,030.00 유동성이다.",
      "key_levels": {
        "support": [
          59530.7,
          59060.0,
          58388.0,
          58030.0
        ],
        "resistance": [
          60697.6,
          60924.7,
          61870.0,
          62272.1,
          63209.6,
          63220.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,924.70",
      "risk_scenario": "가격이 range high $60,924.70 위에서 수용되고, 이후 $61,870.00을 회복하면 프리미엄 매도 셋업은 약화된다. 특히 $62,272.10~$63,209.60 bearish OB를 강하게 돌파하고 $63,220.00 위에 안착하면 하방 시나리오는 무효화되며, $65,597.20 7일 고점 쪽 buy-side liquidity 재공략 가능성이 커진다.",
      "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": 59656.35,
        "range_high": 60924.7,
        "range_low": 58388.0,
        "bull_score": 5.8,
        "bear_score": 7.2,
        "setup_bias": "bearish",
        "setup_score": 0.783,
        "setup_signals": [
          "bearish CHoCH below $63,220.00",
          "bearish BOS below $61,870.00",
          "bearish BOS below $59,060.00"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 45.4,
        "deepest_retracement_pct": 47.7,
        "previous_day_high": 60697.6,
        "previous_day_low": 59530.7,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 60314.3,
            "low": 59714.8
          },
          "New York": {
            "active": true,
            "high": 60247.1,
            "low": 59714.8
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.783,\n  \"setup_signals\": [\n    \"현재가 $60,170.50가 EQ $59,656.35 위에 있어 프리미엄 구간에서 매도 셋업 우위\",\n    \"이전 고가 $60,697.60는 돌파됐지만 이전 저가 $59,530.70는 미이탈 상태로, 상단 유동성 취득 후 하방 회전 가능성\",\n    \"후보 bearish OB가 $62,272.10~$63,209.60에 위치하며, 상방 재가격화 시 공급 구간으로 작용 가능\",\n    \"확정 bearish CHoCH 기준 $63,220.00 및 bearish BOS $61,870.00, $59,060.00가 존재해 상위 구조의 매도 압력이 아직 유효\",\n    \"EMA20 $60,185.78 부근에서 현재가 $60,170.50가 저항을 받고 있으며 EMA120 $60,927.12, EMA240 $62,076.01 아래에 위치\"\n  ],\n  \"reasoning\": \"1시간 구조상 가장 최근 이벤트는 $60,734.00 상향 BOS이므로 단기 structure_bias는 bullish로 읽히지만, 이는 아직 연속 bullish BOS가 1회뿐이라 강한 추세 확정으로 보기 어렵다. 반면 실행 관점에서는 현재가 $60,170.50가 EQ $59,656.35 위의 프리미엄에 있고, 이전 고가 $60,697.60 돌파 후 지속 수용이 약해 매수 유동성 소진 이후 하방 회전 셋업이 우세하다. 주요 공급은 후보 bearish OB $62,272.10~$63,209.60이며, 그 위 $63,220.00 bearish CHoCH 레벨을 회복하기 전까지는 매도 측 시나리오가 유리하다. 하방 목표는 먼저 이전 저가 $59,530.70, 이후 range low $58,388.00 및 7일 저점 $58,030.00 유동성이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59530.7,\n      59060.0,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60697.6,\n      60924.7,\n      61870.0,\n      62272.1,\n      63209.6,\n      63220.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,924.70\",\n  \"risk_scenario\": \"가격이 range high $60,924.70 위에서 수용되고, 이후 $61,870.00을 회복하면 프리미엄 매도 셋업은 약화된다. 특히 $62,272.10~$63,209.60 bearish OB를 강하게 돌파하고 $63,220.00 위에 안착하면 하방 시나리오는 무효화되며, $65,597.20 7일 고점 쪽 buy-side liquidity 재공략 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.84,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.76,
      "setup_signals": [
        "확정 분배 구조: BC $66,246.10 → AR $64,525.00 이후 UT $65,597.20, LPSY $64,247.20, SOW $61,870.00, Phase E 저점 $58,030.00까지 진행",
        "현재 가격 $60,170.50은 메인 분배 범위 하단 $64,525.00 아래에 머물러 있어 Phase E 하방 이탈 이후 재진입 실패 상태",
        "단기 재분배 후보 구간에서 UTAD $60,924.70 이후 LPSY $60,314.30 아래로 밀린 상태",
        "SOW 기준선 $61,870.00을 회복하지 못해 이전 분배 하단의 공급 우위가 유지됨",
        "현재가가 EMA120 $60,927.12 및 EMA240 $62,076.01 아래에 있어 반등이 아직 구조적 회복으로 확인되지 않음"
      ],
      "reasoning": "1시간 기준 regime은 DIS이며 dis_score 100.0, regime_fitness 1.000으로 확정 분배 구조가 우세합니다. 핵심 메인 앵커는 BC $66,246.10, AR $64,525.00이며, 이후 UT $65,597.20 → LPSY $64,247.20 → SOW $61,870.00 → Phase E $58,030.00으로 분배 후 하방 이탈이 이미 확인되었습니다. 현재 $60,170.50은 메인 분배 범위 하단 $64,525.00과 이전 SOW $61,870.00 아래에 있어 구조적 편향은 여전히 bearish입니다. 단기적으로는 $58,030.00 이후 반등 구간이 재분배 후보로 보이며, UTAD $60,924.70 및 LPSY $60,314.30 회복 실패가 이어지면 $59,530.70, $58,388.00, $58,030.00 재시험 가능성이 높습니다.",
      "key_levels": {
        "support": [
          59530.7,
          58388.0,
          58030.0
        ],
        "resistance": [
          60314.3,
          60466.9,
          60557.8,
          60924.7,
          61870.0,
          64525.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$60,924.70 상방 회복 및 1시간 종가 기준 수용",
      "risk_scenario": "반대 시나리오는 가격이 UTAD $60,924.70을 회복하고, 이어서 SOW 기준선 $61,870.00 위로 재진입하는 경우입니다. 이 경우 단기 LPSY 실패 해석은 무효화되고, $64,525.00 메인 AR 하단까지 되돌림성 반등 또는 재분배 범위 확장 가능성을 열어야 합니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 81.5,
        "dis_score": 100.0,
        "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",
          "LPSY",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 22,
            "price": 66246.1,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 39,
            "price": 64525.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 89,
            "price": 63410.3,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 114,
            "price": 63136.2,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 162,
            "price": 65597.2,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 174,
            "price": 64247.2,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 180,
            "price": 61870.0,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 233,
            "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": 22,
            "end_idx": 233,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 22,
                "price": 66246.1,
                "color": "#ffd166",
                "dt": "2026-06-17 03:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 39,
                "price": 64525.0,
                "color": "#06d6a0",
                "dt": "2026-06-17 20:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 89,
                "price": 63410.3,
                "color": "#118ab2",
                "dt": "2026-06-19 22:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 114,
                "price": 63136.2,
                "color": "#ef476f",
                "dt": "2026-06-20 23:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 162,
                "price": 65597.2,
                "color": "#f9844a",
                "dt": "2026-06-22 23:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 174,
                "price": 64247.2,
                "color": "#8338ec",
                "dt": "2026-06-23 11:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 180,
                "price": 61870.0,
                "color": "#ef476f",
                "dt": "2026-06-23 17:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 233,
                "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": 233,
            "end_idx": 294,
            "phase_count": 7,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 233,
                "price": 58030.0,
                "color": "#ffd166",
                "dt": "2026-06-25 22:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 234,
                "price": 60466.9,
                "color": "#06d6a0",
                "dt": "2026-06-25 23:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 257,
                "price": 58388.0,
                "color": "#118ab2",
                "dt": "2026-06-26 22:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 262,
                "price": 59530.7,
                "color": "#ef476f",
                "dt": "2026-06-27 03:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 275,
                "price": 60557.8,
                "color": "#f9844a",
                "dt": "2026-06-27 16:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 283,
                "price": 60924.7,
                "color": "#f9844a",
                "dt": "2026-06-28 00:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 294,
                "price": 60314.3,
                "color": "#8338ec",
                "dt": "2026-06-28 11:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_2",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 64525.0,
        "main_range_high": 66246.1
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.84,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.76,\n  \"setup_signals\": [\n    \"확정 분배 구조: BC $66,246.10 → AR $64,525.00 이후 UT $65,597.20, LPSY $64,247.20, SOW $61,870.00, Phase E 저점 $58,030.00까지 진행\",\n    \"현재 가격 $60,170.50은 메인 분배 범위 하단 $64,525.00 아래에 머물러 있어 Phase E 하방 이탈 이후 재진입 실패 상태\",\n    \"단기 재분배 후보 구간에서 UTAD $60,924.70 이후 LPSY $60,314.30 아래로 밀린 상태\",\n    \"SOW 기준선 $61,870.00을 회복하지 못해 이전 분배 하단의 공급 우위가 유지됨\",\n    \"현재가가 EMA120 $60,927.12 및 EMA240 $62,076.01 아래에 있어 반등이 아직 구조적 회복으로 확인되지 않음\"\n  ],\n  \"reasoning\": \"1시간 기준 regime은 DIS이며 dis_score 100.0, regime_fitness 1.000으로 확정 분배 구조가 우세합니다. 핵심 메인 앵커는 BC $66,246.10, AR $64,525.00이며, 이후 UT $65,597.20 → LPSY $64,247.20 → SOW $61,870.00 → Phase E $58,030.00으로 분배 후 하방 이탈이 이미 확인되었습니다. 현재 $60,170.50은 메인 분배 범위 하단 $64,525.00과 이전 SOW $61,870.00 아래에 있어 구조적 편향은 여전히 bearish입니다. 단기적으로는 $58,030.00 이후 반등 구간이 재분배 후보로 보이며, UTAD $60,924.70 및 LPSY $60,314.30 회복 실패가 이어지면 $59,530.70, $58,388.00, $58,030.00 재시험 가능성이 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59530.7,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60314.3,\n      60466.9,\n      60557.8,\n      60924.7,\n      61870.0,\n      64525.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$60,924.70 상방 회복 및 1시간 종가 기준 수용\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 UTAD $60,924.70을 회복하고, 이어서 SOW 기준선 $61,870.00 위로 재진입하는 경우입니다. 이 경우 단기 LPSY 실패 해석은 무효화되고, $64,525.00 메인 AR 하단까지 되돌림성 반등 또는 재분배 범위 확장 가능성을 열어야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "롱 계정 비율 0.667 / 숏 계정 비율 0.333으로 롱 계정 쏠림이 강하며, account_long_crowding=1.000으로 단기 contrarian 하방 압력",
        "24시간 OI가 -1.6630% 감소하여 신규 추세 확장보다는 포지션 언와인딩 국면",
        "가격은 $60,170.50으로 EMA20 $60,185.78 바로 아래, EMA120 $60,927.12 및 EMA240 $62,076.01 아래에 위치해 구조적 회복 확인 전",
        "CVD 변화가 +$2,232.59인데 가격은 24시간 -0.58%로 하락하여 공격적 매수 유입 대비 가격 반응이 약한 CVD 약세 다이버전스",
        "선물 basis가 -0.0822%이고 basis_change_lookback -0.0311로 현물 대비 선물 할인 압력이 지속",
        "근접 하방 청산 유동성이 $59,600 및 $59,000에 위치해 단기 가격 자석으로 작동 가능"
      ],
      "reasoning": "현재 BTC는 $60,170.50으로 EMA20 $60,185.78을 살짝 하회하고, EMA120 $60,927.12와 EMA240 $62,076.01 아래에 있어 확인된 강세 구조라기보다 $58,030~$65,597 범위 내 중립 구조에 가깝습니다. 다만 세팅 관점에서는 롱 계정 비율이 0.667로 과밀하고 account_long_crowding=1.000인 반면, 24시간 OI가 -1.6630% 감소해 롱 포지션의 힘이 확장되지 못하고 있습니다. CVD는 +$2,232.59 증가했지만 가격은 24시간 -0.58% 하락해 매수 체결이 가격 상승으로 연결되지 않는 약세 다이버전스가 보입니다. 하방에는 $59,600, $59,000 청산대가 가깝고, 상방 $60,800~$61,400 회수 전까지는 파생 포지셔닝상 4~8시간 내 하방 테스트 확률이 우세합니다.",
      "key_levels": {
        "support": [
          59600,
          59000,
          58030,
          54200
        ],
        "resistance": [
          60800,
          60927.12,
          61400,
          62076.01,
          62600,
          65597.2
        ]
      },
      "time_horizon": "단기, 약 4~8시간",
      "invalidation_level": "$61,400 상방 안착",
      "risk_scenario": "반대 시나리오는 $60,800의 근접 상방 청산을 먼저 회수한 뒤 EMA120 $60,927.12를 회복하고 $61,400 위에 안착하는 경우입니다. 이 경우 숏 커버링이 붙으면서 $62,076.01 EMA240 및 $62,600 청산 구간까지 빠른 되돌림이 나올 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 2232.59,
        "oi_trend": 0.334,
        "oi_change_pct_24h": -1.663,
        "oi_latest": 102919.497,
        "funding_pressure": 0.459,
        "funding_avg": 4.095e-05,
        "funding_change_24h": -2.6e-07,
        "long_account_ratio": 0.667,
        "short_account_ratio": 0.333,
        "long_account_latest": 0.667,
        "short_account_latest": 0.333,
        "long_account_change_24h": -0.0048,
        "short_account_change_24h": 0.0048,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.479,
        "spot_futures_basis_pct": -0.0822,
        "basis_change_lookback": -0.0311,
        "aggregate_score": 0.424,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            59600,
            5080.824831899999
          ],
          [
            59000,
            5808.082778999999
          ],
          [
            54200,
            6238.0207249999985
          ]
        ],
        "liq_above": [
          [
            60800,
            6051.035288399998
          ],
          [
            61400,
            6530.577533399998
          ],
          [
            62600,
            7412.626124000001
          ]
        ],
        "strongest_liq_level": 66200,
        "fragility_score": 0.811,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"롱 계정 비율 0.667 / 숏 계정 비율 0.333으로 롱 계정 쏠림이 강하며, account_long_crowding=1.000으로 단기 contrarian 하방 압력\",\n    \"24시간 OI가 -1.6630% 감소하여 신규 추세 확장보다는 포지션 언와인딩 국면\",\n    \"가격은 $60,170.50으로 EMA20 $60,185.78 바로 아래, EMA120 $60,927.12 및 EMA240 $62,076.01 아래에 위치해 구조적 회복 확인 전\",\n    \"CVD 변화가 +$2,232.59인데 가격은 24시간 -0.58%로 하락하여 공격적 매수 유입 대비 가격 반응이 약한 CVD 약세 다이버전스\",\n    \"선물 basis가 -0.0822%이고 basis_change_lookback -0.0311로 현물 대비 선물 할인 압력이 지속\",\n    \"근접 하방 청산 유동성이 $59,600 및 $59,000에 위치해 단기 가격 자석으로 작동 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,170.50으로 EMA20 $60,185.78을 살짝 하회하고, EMA120 $60,927.12와 EMA240 $62,076.01 아래에 있어 확인된 강세 구조라기보다 $58,030~$65,597 범위 내 중립 구조에 가깝습니다. 다만 세팅 관점에서는 롱 계정 비율이 0.667로 과밀하고 account_long_crowding=1.000인 반면, 24시간 OI가 -1.6630% 감소해 롱 포지션의 힘이 확장되지 못하고 있습니다. CVD는 +$2,232.59 증가했지만 가격은 24시간 -0.58% 하락해 매수 체결이 가격 상승으로 연결되지 않는 약세 다이버전스가 보입니다. 하방에는 $59,600, $59,000 청산대가 가깝고, 상방 $60,800~$61,400 회수 전까지는 파생 포지셔닝상 4~8시간 내 하방 테스트 확률이 우세합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59600,\n      59000,\n      58030,\n      54200\n    ],\n    \"resistance\": [\n      60800,\n      60927.12,\n      61400,\n      62076.01,\n      62600,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"단기, 약 4~8시간\",\n  \"invalidation_level\": \"$61,400 상방 안착\",\n  \"risk_scenario\": \"반대 시나리오는 $60,800의 근접 상방 청산을 먼저 회수한 뒤 EMA120 $60,927.12를 회복하고 $61,400 위에 안착하는 경우입니다. 이 경우 숏 커버링이 붙으면서 $62,076.01 EMA240 및 $62,600 청산 구간까지 빠른 되돌림이 나올 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "고품질 strict bullish Bat 형성 PRZ가 $59,615.47-$60,100.20에 활성화되어 있으며 D 예상가는 $59,857.83, 점수는 0.956",
        "동일 구간에 strict bullish Butterfly 형성 PRZ $59,743.46-$60,100.24가 중첩되어 있으며 D 예상가는 $59,921.85, PRZ confluence는 ABCD+BC_EXT+XAD 3개",
        "현재가 $60,170.50은 주요 bullish PRZ 상단 $60,100.20 바로 위에 있어 PRZ 터치/반응 대기 구간이나, confirmed_reaction_prz_count는 0",
        "상방 반등 시 harmonic TP ladder는 $60,125.22, $60,290.41, $60,557.80 순으로 열려 있음",
        "상단에는 반대 방향 strict bearish Gartley PRZ $60,620.89-$61,046.73가 nearby로 대기하며, 도달 시 하락 반응 위험 구간"
      ],
      "reasoning": "현재 핵심 harmonic 구조는 $59,615.47-$60,100.24에 bullish Bat/Butterfly 고컨플루언스 PRZ가 겹쳐 있는 반등 후보 구간이며, 가장 우수한 패턴은 strict high Bat 점수 0.956, D $59,857.83입니다. 다만 이 PRZ들은 모두 forming 상태이고 confirmed_reaction=false이므로, 아직 구조 전환이나 메인 경로 반전을 주장할 수 없으며 structure_bias는 중립으로 둡니다. setup_bias는 bullish로 평가합니다. 이유는 현재가 $60,170.50이 활성 bullish PRZ 바로 위에 있고, TP 후보가 $60,125.22-$60,290.41-$60,557.80으로 정렬되어 있기 때문입니다. 그러나 $60,620.89-$61,046.73에는 strict high bearish Gartley PRZ가 있어, 반등이 나오더라도 해당 구간은 강한 반응/익절/재하락 위험 구간입니다.",
      "key_levels": {
        "support": [
          60100.2,
          59921.85,
          59857.83,
          59615.47,
          59530.7,
          59060.0
        ],
        "resistance": [
          60290.41,
          60557.8,
          60620.89,
          60833.81,
          61046.73,
          61231.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,530.70",
      "risk_scenario": "$59,615.47 PRZ 하단 방어에 실패하고 $59,530.70 아래로 1시간 종가가 확정되면 bullish Bat/Butterfly 반등 셋업은 실패로 간주되며, 다음 하방 유동성은 $59,286.90-$59,060.00 및 7일 저점 $58,030.00 방향으로 열립니다. 반대로 가격이 $60,620.89-$61,046.73 bearish Gartley PRZ에 진입한 뒤 거절되면 현재 bullish setup은 단기 반등으로 제한되고 $60,336.02, $60,028.49, $59,530.70 재테스트가 리스크가 됩니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 117,
        "completed_patterns_found": 31,
        "forming_d_prz_found": 86,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 67,
        "swing_highs_scanned": 35,
        "swing_lows_scanned": 32,
        "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": 5,
          "medium": 42,
          "low": 70
        },
        "prz_status_counts": {
          "active": 22,
          "nearby": 20,
          "watch": 21,
          "far": 54,
          "forming": 46
        },
        "high_confluence_prz_count": 24,
        "strict_patterns_found": 51,
        "candidate_patterns_found": 66,
        "active_patterns_at_prz": 22,
        "nearby_patterns": 20,
        "all_patterns": [
          "bat",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "bat",
          "shark",
          "bat",
          "bat",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "bat",
          "crab",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "bat",
          "bat",
          "shark",
          "shark",
          "gartley",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "crab",
          "gartley",
          "crab",
          "bat",
          "crab",
          "butterfly"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.956,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 60264.01,
        "price_to_prz": 0.16,
        "prz_range": [
          59927.57,
          60600.44
        ],
        "council_relevant_prz_count": 3,
        "directional_influence_prz_count": 3,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.956,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59857.83,
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_width_pct": 0.81,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.52,
            "price_to_prz_pct_raw": -0.5196,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.3848
            },
            "x_price": 59530.7,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 275,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "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.34,
            "price_to_prz_pct_raw": -0.3387,
            "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": 223,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 241,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.902,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59921.85,
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_width_pct": 0.595,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4132,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.3848
            },
            "x_price": 60074.5,
            "x_idx": 274,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 275,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.888,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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.1,
            "price_to_prz_pct_raw": 1.1024,
            "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": 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": 218,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 262,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.916,
            "ratio_score": 1.0,
            "prz_score": 0.924,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59574.57,
            "prz_range": [
              59218.67,
              59930.47
            ],
            "prz_width_pct": 1.195,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.99,
            "price_to_prz_pct_raw": -0.9904,
            "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": 59574.57,
              "a_price": 60734.0,
              "tp1_ad_382": 60017.47,
              "tp2_ad_618": 60291.1,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7328
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60557.8,
            "c_idx": 275,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 0.999,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59286.9,
            "prz_range": [
              58987.68,
              59586.11
            ],
            "prz_width_pct": 1.009,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.47,
            "price_to_prz_pct_raw": -1.4685,
            "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": 59286.9,
              "a_price": 60580.0,
              "tp1_ad_382": 59780.86,
              "tp2_ad_618": 60086.04,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5001,
              "ABC": 0.6505
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 59819.8,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.872,
            "ratio_score": 0.912,
            "prz_score": 0.893,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59262.99,
            "prz_range": [
              58873.95,
              59652.03
            ],
            "prz_width_pct": 1.313,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.51,
            "price_to_prz_pct_raw": -1.5082,
            "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": 59262.99,
              "a_price": 60245.0,
              "tp1_ad_382": 59638.12,
              "tp2_ad_618": 59869.87,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6028,
              "ABC": 1.097
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60245.0,
            "a_idx": 241,
            "a_order": 5,
            "b_price": 59530.7,
            "b_idx": 262,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.863,
            "ratio_score": 0.894,
            "prz_score": 0.97,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60924.7,
            "prz_range": [
              60612.4,
              61231.1
            ],
            "prz_width_pct": 1.016,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.25,
            "price_to_prz_pct_raw": 1.2485,
            "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.3,
                "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": "butterfly",
              "d_price": 60921.75,
              "a_price": 60074.5,
              "tp1_ad_382": 60598.1,
              "tp2_ad_618": 60398.15,
              "tp3_a_or_structure_liquidity": 60074.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7328,
              "ABC": 0.819,
              "BCD": 1.927,
              "XAD": 1.2892
            },
            "x_price": 60734.0,
            "x_idx": 251,
            "x_order": 8,
            "a_price": 60074.5,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 60162.0,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": 283
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.956,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59857.83,
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_width_pct": 0.81,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.52,
            "price_to_prz_pct_raw": -0.5196,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.3848
            },
            "x_price": 59530.7,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 275,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.902,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59921.85,
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_width_pct": 0.595,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4132,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.3848
            },
            "x_price": 60074.5,
            "x_idx": 274,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 275,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.888,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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.1,
            "price_to_prz_pct_raw": 1.1024,
            "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": 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": 218,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 262,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.956,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59857.83,
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_width_pct": 0.81,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.52,
            "price_to_prz_pct_raw": -0.5196,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.3848
            },
            "x_price": 59530.7,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 275,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "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.34,
            "price_to_prz_pct_raw": -0.3387,
            "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": 223,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 241,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.902,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59921.85,
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_width_pct": 0.595,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4132,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.3848
            },
            "x_price": 60074.5,
            "x_idx": 274,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 275,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.888,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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.1,
            "price_to_prz_pct_raw": 1.1024,
            "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": 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": 218,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 262,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.916,
            "ratio_score": 1.0,
            "prz_score": 0.924,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59574.57,
            "prz_range": [
              59218.67,
              59930.47
            ],
            "prz_width_pct": 1.195,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.99,
            "price_to_prz_pct_raw": -0.9904,
            "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": 59574.57,
              "a_price": 60734.0,
              "tp1_ad_382": 60017.47,
              "tp2_ad_618": 60291.1,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7328
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60557.8,
            "c_idx": 275,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 0.999,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59286.9,
            "prz_range": [
              58987.68,
              59586.11
            ],
            "prz_width_pct": 1.009,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.47,
            "price_to_prz_pct_raw": -1.4685,
            "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": 59286.9,
              "a_price": 60580.0,
              "tp1_ad_382": 59780.86,
              "tp2_ad_618": 60086.04,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5001,
              "ABC": 0.6505
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 59819.8,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.872,
            "ratio_score": 0.912,
            "prz_score": 0.893,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59262.99,
            "prz_range": [
              58873.95,
              59652.03
            ],
            "prz_width_pct": 1.313,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.51,
            "price_to_prz_pct_raw": -1.5082,
            "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": 59262.99,
              "a_price": 60245.0,
              "tp1_ad_382": 59638.12,
              "tp2_ad_618": 59869.87,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6028,
              "ABC": 1.097
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60245.0,
            "a_idx": 241,
            "a_order": 5,
            "b_price": 59530.7,
            "b_idx": 262,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.863,
            "ratio_score": 0.894,
            "prz_score": 0.97,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60924.7,
            "prz_range": [
              60612.4,
              61231.1
            ],
            "prz_width_pct": 1.016,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.25,
            "price_to_prz_pct_raw": 1.2485,
            "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.3,
                "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": "butterfly",
              "d_price": 60921.75,
              "a_price": 60074.5,
              "tp1_ad_382": 60598.1,
              "tp2_ad_618": 60398.15,
              "tp3_a_or_structure_liquidity": 60074.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7328,
              "ABC": 0.819,
              "BCD": 1.927,
              "XAD": 1.2892
            },
            "x_price": 60734.0,
            "x_idx": 251,
            "x_order": 8,
            "a_price": 60074.5,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 60162.0,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": 283
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.852,
            "ratio_score": 0.998,
            "prz_score": 0.883,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58833.24,
            "prz_range": [
              58435.31,
              59231.17
            ],
            "prz_width_pct": 1.353,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.22,
            "price_to_prz_pct_raw": -2.2225,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58833.24,
              "a_price": 61256.0,
              "tp1_ad_382": 59758.73,
              "tp2_ad_618": 60330.51,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7857,
              "ABC": 0.808
            },
            "x_price": 59060.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 61256.0,
            "a_idx": 218,
            "a_order": 5,
            "b_price": 59530.7,
            "b_idx": 262,
            "b_order": 3,
            "c_price": 60924.7,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 0.752,
            "prz_score": 0.97,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60921.75,
            "prz_range": [
              60612.4,
              61231.1
            ],
            "prz_width_pct": 1.016,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.25,
            "price_to_prz_pct_raw": 1.2485,
            "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": "butterfly",
              "d_price": 60921.75,
              "a_price": 60074.5,
              "tp1_ad_382": 60598.1,
              "tp2_ad_618": 60398.15,
              "tp3_a_or_structure_liquidity": 60074.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7328,
              "ABC": 0.819
            },
            "x_price": 60734.0,
            "x_idx": 251,
            "x_order": 8,
            "a_price": 60074.5,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 60162.0,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.829,
            "ratio_score": 0.883,
            "prz_score": 0.944,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61709.5,
            "prz_range": [
              61364.76,
              62054.24
            ],
            "prz_width_pct": 1.117,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.56,
            "price_to_prz_pct_raw": 2.5577,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61709.5,
              "a_price": 62837.1,
              "tp1_ad_382": 62140.24,
              "tp2_ad_618": 62406.36,
              "tp3_a_or_structure_liquidity": 62837.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4715,
              "ABC": 1.0861
            },
            "x_price": 63758.3,
            "x_idx": 170,
            "x_order": 5,
            "a_price": 62837.1,
            "a_idx": 186,
            "a_order": 5,
            "b_price": 62402.8,
            "b_idx": 199,
            "b_order": 5,
            "c_price": 61931.1,
            "c_idx": 227,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.781,
            "ratio_score": 0.685,
            "prz_score": 0.919,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61140.02,
            "prz_range": [
              60769.39,
              61510.66
            ],
            "prz_width_pct": 1.212,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.61,
            "price_to_prz_pct_raw": 1.6113,
            "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": "butterfly",
              "d_price": 61140.02,
              "a_price": 59530.7,
              "tp1_ad_382": 60525.26,
              "tp2_ad_618": 60145.46,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8536,
              "ABC": 0.3854
            },
            "x_price": 60734.0,
            "x_idx": 251,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 262,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 275,
            "b_order": 5,
            "c_price": 60162.0,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.956,
            "prz_proximity": "active",
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.52,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "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,100.20: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.902,
            "prz_proximity": "active",
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.41,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "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,100.24: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.888,
            "prz_proximity": "nearby",
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 1.1,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "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."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,620.89-$61,046.73: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.956,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59857.83,
          "prz_range": [
            59615.47,
            60100.2
          ],
          "prz_width_pct": 0.81,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.52,
          "price_to_prz_pct_raw": -0.5196,
          "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": 59857.83,
            "a_price": 60557.8,
            "tp1_ad_382": 60125.22,
            "tp2_ad_618": 60290.41,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.3854,
            "ABC": 0.3848
          },
          "x_price": 59530.7,
          "x_idx": 262,
          "x_order": 3,
          "a_price": 60557.8,
          "a_idx": 275,
          "a_order": 5,
          "b_price": 60162.0,
          "b_idx": 279,
          "b_order": 3,
          "c_price": 60314.3,
          "c_idx": 294,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59857.83,
          "a_price": 60557.8,
          "tp1_ad_382": 60125.22,
          "tp2_ad_618": 60290.41,
          "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": 59857.83,
            "a_price": 60557.8,
            "tp1_ad_382": 60125.22,
            "tp2_ad_618": 60290.41,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59921.85,
            "a_price": 60557.8,
            "tp1_ad_382": 60164.78,
            "tp2_ad_618": 60314.87,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "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."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.393,
          "bearish": 0.132
        },
        "directional_score_total": 0.525,
        "directional_dominance": 0.499
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"고품질 strict bullish Bat 형성 PRZ가 $59,615.47-$60,100.20에 활성화되어 있으며 D 예상가는 $59,857.83, 점수는 0.956\",\n    \"동일 구간에 strict bullish Butterfly 형성 PRZ $59,743.46-$60,100.24가 중첩되어 있으며 D 예상가는 $59,921.85, PRZ confluence는 ABCD+BC_EXT+XAD 3개\",\n    \"현재가 $60,170.50은 주요 bullish PRZ 상단 $60,100.20 바로 위에 있어 PRZ 터치/반응 대기 구간이나, confirmed_reaction_prz_count는 0\",\n    \"상방 반등 시 harmonic TP ladder는 $60,125.22, $60,290.41, $60,557.80 순으로 열려 있음\",\n    \"상단에는 반대 방향 strict bearish Gartley PRZ $60,620.89-$61,046.73가 nearby로 대기하며, 도달 시 하락 반응 위험 구간\"\n  ],\n  \"reasoning\": \"현재 핵심 harmonic 구조는 $59,615.47-$60,100.24에 bullish Bat/Butterfly 고컨플루언스 PRZ가 겹쳐 있는 반등 후보 구간이며, 가장 우수한 패턴은 strict high Bat 점수 0.956, D $59,857.83입니다. 다만 이 PRZ들은 모두 forming 상태이고 confirmed_reaction=false이므로, 아직 구조 전환이나 메인 경로 반전을 주장할 수 없으며 structure_bias는 중립으로 둡니다. setup_bias는 bullish로 평가합니다. 이유는 현재가 $60,170.50이 활성 bullish PRZ 바로 위에 있고, TP 후보가 $60,125.22-$60,290.41-$60,557.80으로 정렬되어 있기 때문입니다. 그러나 $60,620.89-$61,046.73에는 strict high bearish Gartley PRZ가 있어, 반등이 나오더라도 해당 구간은 강한 반응/익절/재하락 위험 구간입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60100.2,\n      59921.85,\n      59857.83,\n      59615.47,\n      59530.7,\n      59060.0\n    ],\n    \"resistance\": [\n      60290.41,\n      60557.8,\n      60620.89,\n      60833.81,\n      61046.73,\n      61231.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,530.70\",\n  \"risk_scenario\": \"$59,615.47 PRZ 하단 방어에 실패하고 $59,530.70 아래로 1시간 종가가 확정되면 bullish Bat/Butterfly 반등 셋업은 실패로 간주되며, 다음 하방 유동성은 $59,286.90-$59,060.00 및 7일 저점 $58,030.00 방향으로 열립니다. 반대로 가격이 $60,620.89-$61,046.73 bearish Gartley PRZ에 진입한 뒤 거절되면 현재 bullish setup은 단기 반등으로 제한되고 $60,336.02, $60,028.49, $59,530.70 재테스트가 리스크가 됩니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.7,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.72,
      "active_setups": [
        "현재가 $60,170.50가 EMA20 $60,185.78 바로 아래에 있어 단기 회복 실패 상태",
        "ICT 기준 현재가가 EQ $59,656.35 위 프리미엄 구간에 위치하며, 이전 고가 $60,697.60 돌파 후 수용이 약함",
        "Wyckoff 기준 단기 재분배 후보 구조에서 UTAD $60,924.70 이후 LPSY $60,314.30 아래로 밀린 상태",
        "파생 포지셔닝상 롱 계정 비율 0.667로 롱 쏠림이 강하고, 24시간 OI -1.6630% 감소로 추세 확장보다 언와인딩 성격이 강함",
        "반대편 조건으로는 $59,615.47-$60,100.24 구간에 bullish Bat/Butterfly PRZ가 활성화되어 있어 단기 반등 반응 리스크 존재"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 현재 가격이 하모닉 bullish PRZ 상단과 피보나치 단기 지지 $60,080.56 근처에 있어, 즉각적인 하방 추종보다는 지지 반응 여부를 확인해야 하는 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 2,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        60100.2,
        60080.56,
        59857.83,
        59530.7,
        59060.0,
        58388.0,
        58030.0
      ],
      "resistance": [
        60185.78,
        60241.87,
        60314.3,
        60557.8,
        60697.6,
        60924.7,
        60927.12,
        61870.0,
        62272.1,
        63220.0
      ]
    },
    "confluences": [
      "Wyckoff와 ICT가 모두 $60,924-$60,927 부근을 핵심 상단 구조 레벨로 본다: Wyckoff는 UTAD $60,924.70, ICT는 range high $60,924.70, 캔들/파생은 EMA120 $60,927.12 저항으로 제시한다.",
      "Wyckoff의 LPSY $60,314.30, Harmonic의 bullish TP2 $60,290.41-$60,314.87, Fibonacci의 ret_0.382 $60,241.87이 $60,240-$60,315 단기 반응 구간으로 겹친다.",
      "ICT와 Wyckoff가 $59,530.70을 동일한 하단 구조 레벨로 제시한다. Harmonic도 이 가격을 주요 스윙 기준점으로 사용해 $59,530 부근의 구조적 중요도가 높다.",
      "Wyckoff, ICT, Candlestick, Derivatives 모두 $58,030.00을 주요 하단 유동성 또는 7일 저점 지지로 인식한다.",
      "Wyckoff의 이전 SOW $61,870.00과 ICT의 bearish BOS 레벨 $61,870.00이 완전히 일치해, 이 가격은 단순 저항이 아니라 구조 회복 여부를 판단하는 핵심 경계다.",
      "Candlestick, ICT, Wyckoff, Derivatives가 모두 실행 관점에서 bearish 조건을 제시한다. 특히 EMA20 하회, 프리미엄 구간, LPSY 하회, 롱 계정 과밀이 같은 방향으로 정렬되어 있다."
    ],
    "conflicts": [
      "ICT는 최근 $60,734.00 상향 BOS 때문에 단기 structure_bias를 bullish로 보지만, Wyckoff는 큰 구조를 이미 분배 이후 Phase E 및 재분배 후보로 해석해 bearish 구조를 더 강하게 본다.",
      "Fibonacci와 Harmonic은 $59,615-$60,100 부근을 할인/PRZ 반등 후보로 평가해 setup_bias가 bullish인 반면, Candlestick, ICT, Wyckoff, Derivatives는 실행 셋업을 bearish로 본다.",
      "Derivatives에서 CVD는 +$2,232.59 증가했지만 가격은 24시간 기준 약세를 보이고 OI도 -1.6630% 감소했다. 이는 매수 체결이 가격 상승으로 연결되지 않는 흡수 또는 약세 다이버전스 조건이다.",
      "Harmonic의 bullish Bat/Butterfly PRZ는 품질이 높지만 아직 확인 반응이 없으므로, Wyckoff/ICT/Fib/파생 구조를 뒤집는 독립적 근거로 보기 어렵다."
    ],
    "executive_summary": "현재 1시간 BTC 구조는 중립 반등 구간이 아니라, 이전 대형 분배가 Phase E $58,030.00까지 진행된 뒤 재분배 후보 구조로 재편되는 bearish regime으로 평가된다. 현재 위치는 단기 재분배 내에서 UTAD $60,924.70 이후 LPSY $60,314.30 아래에 머무는 구간이며, $61,870.00 SOW/BOS 레벨을 회복하지 못한 상태다. 다만 $59,615.47-$60,100.24에는 고품질 bullish Harmonic PRZ와 Fibonacci 지지 $60,080.56이 겹쳐 있어, 하단 반응 위험은 조건으로 관리해야 한다. 구조적 핵심 저항은 $60,924-$60,927, $61,870, $63,220이며, 특히 $63,220 회복 전까지는 bearish 구조 해석이 우위다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.7,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.72,\n    \"active_setups\": [\n      \"현재가 $60,170.50가 EMA20 $60,185.78 바로 아래에 있어 단기 회복 실패 상태\",\n      \"ICT 기준 현재가가 EQ $59,656.35 위 프리미엄 구간에 위치하며, 이전 고가 $60,697.60 돌파 후 수용이 약함\",\n      \"Wyckoff 기준 단기 재분배 후보 구조에서 UTAD $60,924.70 이후 LPSY $60,314.30 아래로 밀린 상태\",\n      \"파생 포지셔닝상 롱 계정 비율 0.667로 롱 쏠림이 강하고, 24시간 OI -1.6630% 감소로 추세 확장보다 언와인딩 성격이 강함\",\n      \"반대편 조건으로는 $59,615.47-$60,100.24 구간에 bullish Bat/Butterfly PRZ가 활성화되어 있어 단기 반등 반응 리스크 존재\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 현재 가격이 하모닉 bullish PRZ 상단과 피보나치 단기 지지 $60,080.56 근처에 있어, 즉각적인 하방 추종보다는 지지 반응 여부를 확인해야 하는 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 2,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      60100.2,\n      60080.56,\n      59857.83,\n      59530.7,\n      59060.0,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60185.78,\n      60241.87,\n      60314.3,\n      60557.8,\n      60697.6,\n      60924.7,\n      60927.12,\n      61870.0,\n      62272.1,\n      63220.0\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff와 ICT가 모두 $60,924-$60,927 부근을 핵심 상단 구조 레벨로 본다: Wyckoff는 UTAD $60,924.70, ICT는 range high $60,924.70, 캔들/파생은 EMA120 $60,927.12 저항으로 제시한다.\",\n    \"Wyckoff의 LPSY $60,314.30, Harmonic의 bullish TP2 $60,290.41-$60,314.87, Fibonacci의 ret_0.382 $60,241.87이 $60,240-$60,315 단기 반응 구간으로 겹친다.\",\n    \"ICT와 Wyckoff가 $59,530.70을 동일한 하단 구조 레벨로 제시한다. Harmonic도 이 가격을 주요 스윙 기준점으로 사용해 $59,530 부근의 구조적 중요도가 높다.\",\n    \"Wyckoff, ICT, Candlestick, Derivatives 모두 $58,030.00을 주요 하단 유동성 또는 7일 저점 지지로 인식한다.\",\n    \"Wyckoff의 이전 SOW $61,870.00과 ICT의 bearish BOS 레벨 $61,870.00이 완전히 일치해, 이 가격은 단순 저항이 아니라 구조 회복 여부를 판단하는 핵심 경계다.\",\n    \"Candlestick, ICT, Wyckoff, Derivatives가 모두 실행 관점에서 bearish 조건을 제시한다. 특히 EMA20 하회, 프리미엄 구간, LPSY 하회, 롱 계정 과밀이 같은 방향으로 정렬되어 있다.\"\n  ],\n  \"conflicts\": [\n    \"ICT는 최근 $60,734.00 상향 BOS 때문에 단기 structure_bias를 bullish로 보지만, Wyckoff는 큰 구조를 이미 분배 이후 Phase E 및 재분배 후보로 해석해 bearish 구조를 더 강하게 본다.\",\n    \"Fibonacci와 Harmonic은 $59,615-$60,100 부근을 할인/PRZ 반등 후보로 평가해 setup_bias가 bullish인 반면, Candlestick, ICT, Wyckoff, Derivatives는 실행 셋업을 bearish로 본다.\",\n    \"Derivatives에서 CVD는 +$2,232.59 증가했지만 가격은 24시간 기준 약세를 보이고 OI도 -1.6630% 감소했다. 이는 매수 체결이 가격 상승으로 연결되지 않는 흡수 또는 약세 다이버전스 조건이다.\",\n    \"Harmonic의 bullish Bat/Butterfly PRZ는 품질이 높지만 아직 확인 반응이 없으므로, Wyckoff/ICT/Fib/파생 구조를 뒤집는 독립적 근거로 보기 어렵다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 가장 강한 근거는 확정 분배 구조와 현재 재분배 후보 구조를 모두 가격 단계별로 제시했다는 점이다. 메인 구조는 BC $66,246.10 → AR $64,525.00 → UT $65,597.20 → LPSY $64,247.20 → SOW $61,870.00 → Phase E $58,030.00으로 정리되며, 현재는 $58,030.00 이후 반등이 UTAD $60,924.70 및 LPSY $60,314.30 아래에서 약화된 재분배 후보 구간으로 해석된다.\",\n  \"invalidation_level\": \"$63,220.00 회복 시 현재 bearish 구조 해석은 크게 훼손된다. 그 전 단계로 $61,870.00 회복은 bearish 구조 약화 및 중립화 경고 레벨이다.\",\n  \"executive_summary\": \"현재 1시간 BTC 구조는 중립 반등 구간이 아니라, 이전 대형 분배가 Phase E $58,030.00까지 진행된 뒤 재분배 후보 구조로 재편되는 bearish regime으로 평가된다. 현재 위치는 단기 재분배 내에서 UTAD $60,924.70 이후 LPSY $60,314.30 아래에 머무는 구간이며, $61,870.00 SOW/BOS 레벨을 회복하지 못한 상태다. 다만 $59,615.47-$60,100.24에는 고품질 bullish Harmonic PRZ와 Fibonacci 지지 $60,080.56이 겹쳐 있어, 하단 반응 위험은 조건으로 관리해야 한다. 구조적 핵심 저항은 $60,924-$60,927, $61,870, $63,220이며, 특히 $63,220 회복 전까지는 bearish 구조 해석이 우위다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.7,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.65,
    "waypoints": [
      {
        "seq": 1,
        "price": 60250.27,
        "type": "resistance_test",
        "source": "Fibonacci (ret_0.382 $60,241.87 / strict fib_confluence $60,250.27), Wyckoff (LPSY $60,314.30), Harmonic (TP2 $60,290.41), Candlestick (EMA20 $60,185.78)",
        "description": "현재가 $60,170.50 바로 위 $60,240-$60,315 공급 컨플루언스로의 단기 반등 리테스트. WP1 후보 표에서 가장 가깝고 품질 높은 strict 레벨($60,250.27, score 0.85)이며, EMA20 $60,185.78 회복 시도 후 Wyckoff LPSY $60,314.30·Fib ret_0.382 $60,241.87·Harmonic TP2 $60,290.41이 겹치는 프리미엄 공급 구간에서 매도 재진입이 예상되는 LPSY 리테스트 지점. setup·structure가 모두 bearish이므로 이 반등은 추세 전환이 아닌 매도 기회로 본다.",
        "est_hours": 2.0,
        "turning_zone": [
          60250.27,
          60372.25
        ],
        "likely_wick": 60314.3,
        "rejection_confirm": 60080.56,
        "invalid_overshoot": 60502.63,
        "calibration_reasoning": "$60,240-$60,315 공급 컨플루언스 기준으로 zone을 잡고 상단은 다음 Fib 저항 $60,372.25(폭 ≈0.40 ATR), likely_wick는 Wyckoff LPSY $60,314.30·Chairman $60,314.3·Harmonic butterfly TP2 $60,314.87 삼중 겹침에 배치(하모닉은 pre-confirmation이므로 보조 확인용). Fib ret_0.236+Chairman $60,080.56 상실로 LPSY 거부 확정, Fib 0.618 골든 $60,502.63 회복 시 약세 무효."
      },
      {
        "seq": 2,
        "price": 59530.7,
        "type": "support_test",
        "source": "ICT (이전 저가 $59,530.70), Wyckoff (지지 $59,530.70), Harmonic (스윙 기준점 $59,530.70), Fibonacci ($60,080.56 이탈 후 $59,819.80)",
        "description": "공급 리테스트 거부 후 bearish 연속. 미확인 bullish PRZ($59,615.47-$60,100.24)와 Fib ret_0.236 지지 $60,080.56를 하향 이탈하며, ICT 이전 저가·Wyckoff 단기 지지·Harmonic 스윙 기준점이 겹치는 $59,530.70 삼중 컨플루언스를 테스트. PRZ($59,857.83 D) 구간에서 일시적 반응 가능하나 confirmed_reaction=0으로 약하게 평가하며, 하향 통과 후 이 레벨에서 1차 반응을 본다.",
        "est_hours": 10.0,
        "turning_zone": [
          59400.0,
          59530.7
        ],
        "likely_wick": 59500.0,
        "rejection_confirm": 59820.0,
        "invalid_overshoot": 59249.67,
        "calibration_reasoning": "Chairman $59,530.70·Fib ret_0.5 $59,519.27·ICT 이전 저가·Wyckoff 지지의 삼중 컨플루언스가 base이며, confirmed_reaction=0의 약한 1차 반응을 반영해 zone을 base 아래 ≈0.43 ATR로 두고 라운드넘버 $59,500 자석으로 얕은 스윕 wick 예상. 이전 스윙저 $59,819.80 회복 시 반등 확정, Fib 컨플루언스 $59,249.67(ext_1.618·1.414) 이탈 시 무반응으로 WP3 직행(무효)."
      },
      {
        "seq": 3,
        "price": 58388.0,
        "type": "swing_low",
        "source": "Wyckoff (range low $58,388.00, Phase E $58,030.00), ICT (range low $58,388.00 → 7일 저점 $58,030.00)",
        "description": "$59,530.70 이탈 시 하방 유동성 확장. Wyckoff·ICT가 공통으로 제시하는 range low $58,388.00이 24시간 내 주 하방 목표이며, 그 아래 7일 저점·Phase E $58,030.00(fib_confluence 후보 $58,031.04)이 더 깊은 청산 유동성으로 대기. 분배 후 재분배 구조의 측정 목표 구간으로 본다.",
        "est_hours": 18.0,
        "turning_zone": [
          58031.04,
          58388.0
        ],
        "likely_wick": 58200.0,
        "rejection_confirm": 59060.0,
        "invalid_overshoot": 57900.0,
        "calibration_reasoning": "Wyckoff·ICT range low $58,388을 ceiling, Phase E·7일 저점·Fib ext_1.0+2.618 컨플루언스 $58,031.04($58,030)를 floor로 두어 터미널+유동성풀 규칙에 따라 path가 명시한 측정목표 구간으로 zone 확장. likely_wick는 range low를 ≈0.6 ATR 스윕한 $58,200($58,000 라운드넘버가 추가 하방 자석), 깨진 Chairman 지지 $59,060 회복 시 반전 확정, $58,000 하향 결정적 이탈 시 재분배 실패로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60314.3,
        "expected_low": 59857.83,
        "high_first": true
      },
      "8h": {
        "expected_high": 60314.3,
        "expected_low": 59530.7,
        "high_first": true
      },
      "24h": {
        "expected_high": 60314.3,
        "expected_low": 58388.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60557.8,
        "description": "리테스트 상단 $60,314.30(LPSY)을 넘어 $60,557.80(Wyckoff/Harmonic 저항)을 수용하면 반등이 단순 LPSY 리테스트를 넘어 확장. $60,697.60(ICT 이전 고가) → $60,924.70(UTAD/range high/EMA120) 재가격화로 bearish 경로가 약화된다는 경고 신호."
      },
      "bearish": {
        "price": 60080.56,
        "description": "Fib ret_0.236 지지 $60,080.56와 Harmonic PRZ 상단 $60,100.24를 동시에 상실하면 하단 지지 클러스터 붕괴 확정. $59,857.83(Harmonic D) → $59,530.70 → $58,388.00 순으로 하방 가속, WP2·WP3 진행을 확증."
      }
    },
    "scenario_invalidation": 60924.7,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.65,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60250.27,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (ret_0.382 $60,241.87 / strict fib_confluence $60,250.27), Wyckoff (LPSY $60,314.30), Harmonic (TP2 $60,290.41), Candlestick (EMA20 $60,185.78)\",\n      \"description\": \"현재가 $60,170.50 바로 위 $60,240-$60,315 공급 컨플루언스로의 단기 반등 리테스트. WP1 후보 표에서 가장 가깝고 품질 높은 strict 레벨($60,250.27, score 0.85)이며, EMA20 $60,185.78 회복 시도 후 Wyckoff LPSY $60,314.30·Fib ret_0.382 $60,241.87·Harmonic TP2 $60,290.41이 겹치는 프리미엄 공급 구간에서 매도 재진입이 예상되는 LPSY 리테스트 지점. setup·structure가 모두 bearish이므로 이 반등은 추세 전환이 아닌 매도 기회로 본다.\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59530.70,\n      \"type\": \"support_test\",\n      \"source\": \"ICT (이전 저가 $59,530.70), Wyckoff (지지 $59,530.70), Harmonic (스윙 기준점 $59,530.70), Fibonacci ($60,080.56 이탈 후 $59,819.80)\",\n      \"description\": \"공급 리테스트 거부 후 bearish 연속. 미확인 bullish PRZ($59,615.47-$60,100.24)와 Fib ret_0.236 지지 $60,080.56를 하향 이탈하며, ICT 이전 저가·Wyckoff 단기 지지·Harmonic 스윙 기준점이 겹치는 $59,530.70 삼중 컨플루언스를 테스트. PRZ($59,857.83 D) 구간에서 일시적 반응 가능하나 confirmed_reaction=0으로 약하게 평가하며, 하향 통과 후 이 레벨에서 1차 반응을 본다.\",\n      \"est_hours\": 10.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58388.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff (range low $58,388.00, Phase E $58,030.00), ICT (range low $58,388.00 → 7일 저점 $58,030.00)\",\n      \"description\": \"$59,530.70 이탈 시 하방 유동성 확장. Wyckoff·ICT가 공통으로 제시하는 range low $58,388.00이 24시간 내 주 하방 목표이며, 그 아래 7일 저점·Phase E $58,030.00(fib_confluence 후보 $58,031.04)이 더 깊은 청산 유동성으로 대기. 분배 후 재분배 구조의 측정 목표 구간으로 본다.\",\n      \"est_hours\": 18.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60314.30, \"expected_low\": 59857.83, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60314.30, \"expected_low\": 59530.70, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60314.30, \"expected_low\": 58388.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60557.80, \"description\": \"리테스트 상단 $60,314.30(LPSY)을 넘어 $60,557.80(Wyckoff/Harmonic 저항)을 수용하면 반등이 단순 LPSY 리테스트를 넘어 확장. $60,697.60(ICT 이전 고가) → $60,924.70(UTAD/range high/EMA120) 재가격화로 bearish 경로가 약화된다는 경고 신호.\"},\n    \"bearish\": {\"price\": 60080.56, \"description\": \"Fib ret_0.236 지지 $60,080.56와 Harmonic PRZ 상단 $60,100.24를 동시에 상실하면 하단 지지 클러스터 붕괴 확정. $59,857.83(Harmonic D) → $59,530.70 → $58,388.00 순으로 하방 가속, WP2·WP3 진행을 확증.\"}\n  },\n  \"scenario_invalidation\": 60924.70\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60250.27,
        "turning_zone": [
          60250.27,
          60372.25
        ],
        "likely_wick": 60314.3,
        "rejection_confirm": 60080.56,
        "invalid_overshoot": 60502.63,
        "calibration_reasoning": "$60,240-$60,315 공급 컨플루언스 기준으로 zone을 잡고 상단은 다음 Fib 저항 $60,372.25(폭 ≈0.40 ATR), likely_wick는 Wyckoff LPSY $60,314.30·Chairman $60,314.3·Harmonic butterfly TP2 $60,314.87 삼중 겹침에 배치(하모닉은 pre-confirmation이므로 보조 확인용). Fib ret_0.236+Chairman $60,080.56 상실로 LPSY 거부 확정, Fib 0.618 골든 $60,502.63 회복 시 약세 무효."
      },
      {
        "seq": 2,
        "base_target": 59530.7,
        "turning_zone": [
          59400.0,
          59530.7
        ],
        "likely_wick": 59500.0,
        "rejection_confirm": 59820.0,
        "invalid_overshoot": 59249.67,
        "calibration_reasoning": "Chairman $59,530.70·Fib ret_0.5 $59,519.27·ICT 이전 저가·Wyckoff 지지의 삼중 컨플루언스가 base이며, confirmed_reaction=0의 약한 1차 반응을 반영해 zone을 base 아래 ≈0.43 ATR로 두고 라운드넘버 $59,500 자석으로 얕은 스윕 wick 예상. 이전 스윙저 $59,819.80 회복 시 반등 확정, Fib 컨플루언스 $59,249.67(ext_1.618·1.414) 이탈 시 무반응으로 WP3 직행(무효)."
      },
      {
        "seq": 3,
        "base_target": 58388.0,
        "turning_zone": [
          58031.04,
          58388.0
        ],
        "likely_wick": 58200.0,
        "rejection_confirm": 59060.0,
        "invalid_overshoot": 57900.0,
        "calibration_reasoning": "Wyckoff·ICT range low $58,388을 ceiling, Phase E·7일 저점·Fib ext_1.0+2.618 컨플루언스 $58,031.04($58,030)를 floor로 두어 터미널+유동성풀 규칙에 따라 path가 명시한 측정목표 구간으로 zone 확장. likely_wick는 range low를 ≈0.6 ATR 스윕한 $58,200($58,000 라운드넘버가 추가 하방 자석), 깨진 Chairman 지지 $59,060 회복 시 반전 확정, $58,000 하향 결정적 이탈 시 재분배 실패로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60250.27,\n      \"turning_zone\": [60250.27, 60372.25],\n      \"likely_wick\": 60314.30,\n      \"rejection_confirm\": 60080.56,\n      \"invalid_overshoot\": 60502.63,\n      \"calibration_reasoning\": \"$60,240-$60,315 공급 컨플루언스 기준으로 zone을 잡고 상단은 다음 Fib 저항 $60,372.25(폭 ≈0.40 ATR), likely_wick는 Wyckoff LPSY $60,314.30·Chairman $60,314.3·Harmonic butterfly TP2 $60,314.87 삼중 겹침에 배치(하모닉은 pre-confirmation이므로 보조 확인용). Fib ret_0.236+Chairman $60,080.56 상실로 LPSY 거부 확정, Fib 0.618 골든 $60,502.63 회복 시 약세 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59530.70,\n      \"turning_zone\": [59400.00, 59530.70],\n      \"likely_wick\": 59500.00,\n      \"rejection_confirm\": 59820.00,\n      \"invalid_overshoot\": 59249.67,\n      \"calibration_reasoning\": \"Chairman $59,530.70·Fib ret_0.5 $59,519.27·ICT 이전 저가·Wyckoff 지지의 삼중 컨플루언스가 base이며, confirmed_reaction=0의 약한 1차 반응을 반영해 zone을 base 아래 ≈0.43 ATR로 두고 라운드넘버 $59,500 자석으로 얕은 스윕 wick 예상. 이전 스윙저 $59,819.80 회복 시 반등 확정, Fib 컨플루언스 $59,249.67(ext_1.618·1.414) 이탈 시 무반응으로 WP3 직행(무효).\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58388.00,\n      \"turning_zone\": [58031.04, 58388.00],\n      \"likely_wick\": 58200.00,\n      \"rejection_confirm\": 59060.00,\n      \"invalid_overshoot\": 57900.00,\n      \"calibration_reasoning\": \"Wyckoff·ICT range low $58,388을 ceiling, Phase E·7일 저점·Fib ext_1.0+2.618 컨플루언스 $58,031.04($58,030)를 floor로 두어 터미널+유동성풀 규칙에 따라 path가 명시한 측정목표 구간으로 zone 확장. likely_wick는 range low를 ≈0.6 ATR 스윕한 $58,200($58,000 라운드넘버가 추가 하방 자석), 깨진 Chairman 지지 $59,060 회복 시 반전 확정, $58,000 하향 결정적 이탈 시 재분배 실패로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 52.0,
      "chairman": 78.9,
      "operating_path": 259.1,
      "tp_calibrator": 397.8
    },
    "agents": {},
    "total_s": 788.0
  }
}