{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-06-23 21:00 KST",
  "last_price": 62478.5,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $62,478.50가 EMA20 $63,834.72보다 2.1% 낮고 EMA120 $65,335.70보다 4.4% 낮아 단기·중기 하방 압력이 우세",
        "7일 범위 EQ $64,328.55 아래의 디스카운트 구간에 위치하지만, 반등 캔들 확인 없이 7일 저점 $61,870.00을 재시험 중",
        "최근 감지된 bearish_engulfing@295 후보의 품질이 0.617이며, bull_score 0 대비 bear_score 0.750으로 매도 우위",
        "최근 5개 4시간봉 흐름이 ▼-0.6% | ▼-0.7% | ▲+0.1% | ▼-1.9% | ▼-0.6%로 약한 반등 후 재차 매도 지속",
        "고거래량 패턴은 없지만, 가격이 EMA20 $63,834.72 회복에 실패한 상태라 하락 continuation setup이 유지"
      ],
      "reasoning": "BTC/USDT는 현재 $62,478.50으로 7일 저점 $61,870.00에 매우 근접해 있으며, EMA20 $63,834.72와 EMA120 $65,335.70 아래에서 거래되어 구조적으로 매도 우위가 확인된다. 최근 bearish engulfing 후보가 감지되었고 품질은 0.617로 완벽한 신호는 아니지만, bull_score 0 대비 bear_score 0.750은 단기 캔들 흐름이 하방 쪽임을 보여준다. 다만 현재 가격은 7일 EQ $64,328.55 아래의 디스카운트 영역이므로 신규 숏은 $61,870.00 지지 이탈 확인 전에는 추격 리스크가 있다. $61,870.00이 무너지면 ATR $803.45 기준 다음 하방 확장 목표는 약 $61,066.55 부근으로 열릴 수 있다.",
      "key_levels": {
        "support": [
          61870.0,
          61066.55
        ],
        "resistance": [
          63834.72,
          64328.55,
          65335.7,
          66787.1,
          68528.27
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,328.55",
      "risk_scenario": "반대 시나리오는 $61,870.00 부근에서 매도세가 흡수되고 강한 양봉 또는 bullish engulfing/hammer가 출현하는 경우이다. 이때 가격이 EMA20 $63,834.72를 회복하고 7일 EQ $64,328.55 위로 안착하면 현재의 하락 continuation 관점은 무효화되며, 숏 커버링으로 EMA120 $65,335.70 및 7일 고점 $66,787.10 재시험이 가능하다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 139,
        "recent_patterns": 1,
        "pattern_list": [
          "bearish_engulfing@295"
        ],
        "atr_value": 803.45,
        "vol_avg_20": 21592.86,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.617,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.617,
        "bull_score": 0,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $62,478.50가 EMA20 $63,834.72보다 2.1% 낮고 EMA120 $65,335.70보다 4.4% 낮아 단기·중기 하방 압력이 우세\",\n    \"7일 범위 EQ $64,328.55 아래의 디스카운트 구간에 위치하지만, 반등 캔들 확인 없이 7일 저점 $61,870.00을 재시험 중\",\n    \"최근 감지된 bearish_engulfing@295 후보의 품질이 0.617이며, bull_score 0 대비 bear_score 0.750으로 매도 우위\",\n    \"최근 5개 4시간봉 흐름이 ▼-0.6% | ▼-0.7% | ▲+0.1% | ▼-1.9% | ▼-0.6%로 약한 반등 후 재차 매도 지속\",\n    \"고거래량 패턴은 없지만, 가격이 EMA20 $63,834.72 회복에 실패한 상태라 하락 continuation setup이 유지\"\n  ],\n  \"reasoning\": \"BTC/USDT는 현재 $62,478.50으로 7일 저점 $61,870.00에 매우 근접해 있으며, EMA20 $63,834.72와 EMA120 $65,335.70 아래에서 거래되어 구조적으로 매도 우위가 확인된다. 최근 bearish engulfing 후보가 감지되었고 품질은 0.617로 완벽한 신호는 아니지만, bull_score 0 대비 bear_score 0.750은 단기 캔들 흐름이 하방 쪽임을 보여준다. 다만 현재 가격은 7일 EQ $64,328.55 아래의 디스카운트 영역이므로 신규 숏은 $61,870.00 지지 이탈 확인 전에는 추격 리스크가 있다. $61,870.00이 무너지면 ATR $803.45 기준 다음 하방 확장 목표는 약 $61,066.55 부근으로 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      61066.55\n    ],\n    \"resistance\": [\n      63834.72,\n      64328.55,\n      65335.7,\n      66787.1,\n      68528.27\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,328.55\",\n  \"risk_scenario\": \"반대 시나리오는 $61,870.00 부근에서 매도세가 흡수되고 강한 양봉 또는 bullish engulfing/hammer가 출현하는 경우이다. 이때 가격이 EMA20 $63,834.72를 회복하고 7일 EQ $64,328.55 위로 안착하면 현재의 하락 continuation 관점은 무효화되며, 숏 커버링으로 EMA120 $65,335.70 및 7일 고점 $66,787.10 재시험이 가능하다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.25,
      "setup_signals": [
        "현재가 $62,478.50는 업스윙 기준 저점 $63,220 아래에 위치하여 최근 Low→High 구조가 훼손됨",
        "현재가가 EQ/ret_0.5 $64,408.60 아래의 할인 구간에 있으나, 아직 0.786 되돌림 $63,728.72 재진입 반응이 확인되지 않음",
        "황금비율 ret_0.618 $64,128.09가 현재가보다 2.64% 위에 있어 즉각 지지보다 상방 저항으로 작동 중",
        "피보나치 반응 상태가 distant이고 reaction_probability가 0.25로 낮아 강한 반전 셋업은 아직 미확인"
      ],
      "reasoning": "최근 기준 스윙은 $63,220 → $65,597의 상승 구조였으나, 현재가 $62,478.50가 스윙 저점 $63,220 아래로 내려오면서 해당 업스윙의 0.786 되돌림 $63,728.72까지 모두 이탈한 상태입니다. 가장 중요한 황금비율 ret_0.618은 $64,128.09이며, 현재 가격보다 2.64% 위에 있어 지지보다 재상승 시 1차 핵심 저항으로 해석됩니다. confluence_quality는 0.600으로 중간 수준이며, 주요 클러스터는 $64,268.35 부근의 ret_0.618/ret_0.5 구간과 $64,686.90 부근의 ret_0.236/ret_0.382 구간에 집중되어 있습니다. 구조적으로는 하방 이탈이 우세하지만, 현재가가 EQ $64,408.60 아래의 할인 구간에 있기 때문에 신규 추격 매도보다는 $63,728.72~$64,128.09 되돌림 저항 확인 후의 반응이 더 중요합니다.",
      "key_levels": {
        "support": [
          61870.0,
          63220.0
        ],
        "resistance": [
          63728.72,
          64128.09,
          64408.6,
          64689.11,
          65597.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,408.60",
      "risk_scenario": "반대 시나리오는 가격이 $63,728.72의 ret_0.786을 회복한 뒤 황금비율 $64,128.09를 돌파하고, EQ $64,408.60 위에서 4시간봉 기준 수용되는 경우입니다. 이 경우 현재의 하방 구조 이탈은 단기 과매도 이탈로 해석될 수 있으며, 다음 저항은 $64,689.11의 ret_0.382와 $65,597.20의 스윙 고점으로 이동합니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $63,220 → $65,597",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 63728.72,
        "nearest_fib_distance": 2.0,
        "golden_ratio_level": 64128.09,
        "fib_ret_382": 64689.11,
        "fib_ret_618": 64128.09,
        "confluence_zones": [
          {
            "price": 64268.35,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 64686.9,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 68063.2,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          63728.7208,
          64128.0904,
          64408.6
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 65036.18,
            "distance_pct": 4.09,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 64689.11,
            "distance_pct": 3.54,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 64408.6,
            "distance_pct": 3.09,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 64128.09,
            "distance_pct": 2.64,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 63728.72,
            "distance_pct": 2.0,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 65597.2,
            "distance_pct": 4.99,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 66243.8,
            "distance_pct": 6.03,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 66581.36,
            "distance_pct": 6.57,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 67066.31,
            "distance_pct": 7.34,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 67974.4,
            "distance_pct": 8.8,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "distant",
        "reaction_probability": 0.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.25,\n  \"setup_signals\": [\n    \"현재가 $62,478.50는 업스윙 기준 저점 $63,220 아래에 위치하여 최근 Low→High 구조가 훼손됨\",\n    \"현재가가 EQ/ret_0.5 $64,408.60 아래의 할인 구간에 있으나, 아직 0.786 되돌림 $63,728.72 재진입 반응이 확인되지 않음\",\n    \"황금비율 ret_0.618 $64,128.09가 현재가보다 2.64% 위에 있어 즉각 지지보다 상방 저항으로 작동 중\",\n    \"피보나치 반응 상태가 distant이고 reaction_probability가 0.25로 낮아 강한 반전 셋업은 아직 미확인\"\n  ],\n  \"reasoning\": \"최근 기준 스윙은 $63,220 → $65,597의 상승 구조였으나, 현재가 $62,478.50가 스윙 저점 $63,220 아래로 내려오면서 해당 업스윙의 0.786 되돌림 $63,728.72까지 모두 이탈한 상태입니다. 가장 중요한 황금비율 ret_0.618은 $64,128.09이며, 현재 가격보다 2.64% 위에 있어 지지보다 재상승 시 1차 핵심 저항으로 해석됩니다. confluence_quality는 0.600으로 중간 수준이며, 주요 클러스터는 $64,268.35 부근의 ret_0.618/ret_0.5 구간과 $64,686.90 부근의 ret_0.236/ret_0.382 구간에 집중되어 있습니다. 구조적으로는 하방 이탈이 우세하지만, 현재가가 EQ $64,408.60 아래의 할인 구간에 있기 때문에 신규 추격 매도보다는 $63,728.72~$64,128.09 되돌림 저항 확인 후의 반응이 더 중요합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      63220.0\n    ],\n    \"resistance\": [\n      63728.72,\n      64128.09,\n      64408.6,\n      64689.11,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,408.60\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $63,728.72의 ret_0.786을 회복한 뒤 황금비율 $64,128.09를 돌파하고, EQ $64,408.60 위에서 4시간봉 기준 수용되는 경우입니다. 이 경우 현재의 하방 구조 이탈은 단기 과매도 이탈로 해석될 수 있으며, 다음 저항은 $64,689.11의 ret_0.382와 $65,597.20의 스윙 고점으로 이동합니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $62,478.50가 EMA20 $63,834.72 아래 -2.1%, EMA120 $65,335.70 아래 -4.4%에 위치해 하락 구조 수용 상태",
        "롱 계정 비율 0.655, 24시간 변화 +0.033으로 롱 계정 증가 / 숏 계정 감소가 진행되어 롱 포지셔닝 혼잡 신호",
        "CVD 변화 -1180.8690으로 가격 하락 중 매수 체결 참여가 약하며, cvd_divergence 0.300으로 강한 상승 다이버전스는 부재",
        "OI 24시간 변화 -2.0430%로 신규 숏 추격보다 포지션 언와인딩 성격이 강해 반등 시도는 약할 수 있음",
        "하방 청산 유동성 $62,200, $61,700, $61,600이 근접해 있으며 7일 저점 $61,870 재테스트 위험 존재",
        "상방에는 가장 강한 청산 레벨 $63,500 및 $63,600이 있어 단기 숏 스퀴즈 리스크가 존재하나, EMA20 $63,834.72 회복 전까지는 저항 우위"
      ],
      "reasoning": "구조적으로 BTC는 현재 $62,478.50에서 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27을 모두 하회하고 있어 확인된 약세 수용 구간으로 판단한다. 파생 포지셔닝은 롱 계정 비율이 0.655까지 상승했고 account_long_crowding이 1.000으로 극단적이어서, 가격 하락 중 롱이 늘어나는 취약한 구조다. OI가 24시간 -2.0430% 감소한 점은 공격적 신규 숏보다는 기존 포지션 청산/언와인딩을 의미하지만, CVD 변화 -1180.8690과 basis -0.0457%는 현물·선물 수요가 강하지 않음을 보여준다. 단기적으로 $62,200 아래 유동성을 먼저 건드린 뒤 $61,870, $61,700, $61,600까지 밀릴 가능성이 높으며, 반대로 $63,500-$63,600 청산대를 흡수하고 EMA20 $63,834.72 위로 안착하면 약세 시나리오는 훼손된다.",
      "key_levels": {
        "support": [
          62200,
          61870,
          61700,
          61600
        ],
        "resistance": [
          63500,
          63600,
          63834.72,
          64800,
          65335.7
        ]
      },
      "time_horizon": "단기, 파생 데이터 선행성을 고려한 4-8시간에서 24시간",
      "invalidation_level": "$63,834.72 위 4시간 종가 안착",
      "risk_scenario": "$63,500와 $63,600 상방 청산 유동성이 먼저 터지면 숏 스퀴즈가 발생해 EMA20 $63,834.72까지 빠르게 반등할 수 있다. 이 구간을 회복하면 $64,800 청산 레벨 및 EMA120 $65,335.70까지 되돌림이 열리며, 롱 혼잡 기반의 하방 압력은 일시적으로 무효화된다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -1180.869,
        "oi_trend": 0.296,
        "oi_change_pct_24h": -2.043,
        "oi_latest": 97651.549,
        "funding_pressure": 0.47,
        "funding_avg": 3.006e-05,
        "funding_change_24h": 1.41e-06,
        "long_account_ratio": 0.627,
        "short_account_ratio": 0.373,
        "long_account_latest": 0.655,
        "short_account_latest": 0.344,
        "long_account_change_24h": 0.033,
        "short_account_change_24h": -0.033,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0457,
        "basis_change_lookback": -0.0124,
        "aggregate_score": 0.311,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            62200,
            20393.8403177
          ],
          [
            61700,
            21615.3274035
          ],
          [
            61600,
            22937.756475250004
          ]
        ],
        "liq_above": [
          [
            63500,
            26422.09535115
          ],
          [
            63600,
            19436.1259992
          ],
          [
            64800,
            20938.8051581
          ]
        ],
        "strongest_liq_level": 63500,
        "fragility_score": 0.527,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"현재가 $62,478.50가 EMA20 $63,834.72 아래 -2.1%, EMA120 $65,335.70 아래 -4.4%에 위치해 하락 구조 수용 상태\",\n    \"롱 계정 비율 0.655, 24시간 변화 +0.033으로 롱 계정 증가 / 숏 계정 감소가 진행되어 롱 포지셔닝 혼잡 신호\",\n    \"CVD 변화 -1180.8690으로 가격 하락 중 매수 체결 참여가 약하며, cvd_divergence 0.300으로 강한 상승 다이버전스는 부재\",\n    \"OI 24시간 변화 -2.0430%로 신규 숏 추격보다 포지션 언와인딩 성격이 강해 반등 시도는 약할 수 있음\",\n    \"하방 청산 유동성 $62,200, $61,700, $61,600이 근접해 있으며 7일 저점 $61,870 재테스트 위험 존재\",\n    \"상방에는 가장 강한 청산 레벨 $63,500 및 $63,600이 있어 단기 숏 스퀴즈 리스크가 존재하나, EMA20 $63,834.72 회복 전까지는 저항 우위\"\n  ],\n  \"reasoning\": \"구조적으로 BTC는 현재 $62,478.50에서 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27을 모두 하회하고 있어 확인된 약세 수용 구간으로 판단한다. 파생 포지셔닝은 롱 계정 비율이 0.655까지 상승했고 account_long_crowding이 1.000으로 극단적이어서, 가격 하락 중 롱이 늘어나는 취약한 구조다. OI가 24시간 -2.0430% 감소한 점은 공격적 신규 숏보다는 기존 포지션 청산/언와인딩을 의미하지만, CVD 변화 -1180.8690과 basis -0.0457%는 현물·선물 수요가 강하지 않음을 보여준다. 단기적으로 $62,200 아래 유동성을 먼저 건드린 뒤 $61,870, $61,700, $61,600까지 밀릴 가능성이 높으며, 반대로 $63,500-$63,600 청산대를 흡수하고 EMA20 $63,834.72 위로 안착하면 약세 시나리오는 훼손된다.\",\n  \"key_levels\": {\n    \"support\": [\n      62200,\n      61870,\n      61700,\n      61600\n    ],\n    \"resistance\": [\n      63500,\n      63600,\n      63834.72,\n      64800,\n      65335.7\n    ]\n  },\n  \"time_horizon\": \"단기, 파생 데이터 선행성을 고려한 4-8시간에서 24시간\",\n  \"invalidation_level\": \"$63,834.72 위 4시간 종가 안착\",\n  \"risk_scenario\": \"$63,500와 $63,600 상방 청산 유동성이 먼저 터지면 숏 스퀴즈가 발생해 EMA20 $63,834.72까지 빠르게 반등할 수 있다. 이 구간을 회복하면 $64,800 청산 레벨 및 EMA120 $65,335.70까지 되돌림이 열리며, 롱 혼잡 기반의 하방 압력은 일시적으로 무효화된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "가격 $62,478.50이 EQ $64,562.70 아래의 discount 구간에 있으나, $64,250.00 bullish BOS 레벨을 재이탈하여 상승 구조 전환이 실패한 상태",
        "전일 저가 $63,220.00이 하방 이탈되었고 현재가가 그 아래에 머물러 sell-side 유동성 이탈 후 회복 실패",
        "EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 모두 현재가 위에 있어 동적 저항이 우세",
        "최근 구조 이벤트가 CHoCH_bearish $79,137.40 이후 BOS_bearish $78,713.80, $76,014.20, $74,203.60, $72,436.00으로 이어진 강한 하락 구조",
        "현재 근처에 활성 bullish OB나 미충족 bullish FVG가 없어 $61,870.00 저점 방어 근거가 약함"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. $79,137.40 bearish CHoCH 이후 $78,713.80, $76,014.20, $74,203.60, $72,436.00에서 연속 bearish BOS가 발생했고, 최근 $64,250.00 bullish BOS가 있었지만 현재가 $62,478.50은 그 레벨 아래로 되밀려 구조적 수용에 실패했다. 현재 가격은 EQ $64,562.70 아래 discount에 있어 신규 숏 추격은 저점 근접 리스크가 있지만, 전일 저가 $63,220.00을 깨고 회복하지 못했으며 EMA20 $63,834.72도 상방 저항으로 작용한다. 가장 가까운 핵심 하방 유동성은 7일 저점이자 range low인 $61,870.00이고, 이탈 시 추가 매도 가속 가능성이 높다.",
      "key_levels": {
        "support": [
          61870.0,
          62478.5
        ],
        "resistance": [
          63220.0,
          63834.72,
          64250.0,
          64562.7,
          65597.2,
          67255.4,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$65,597.20",
      "risk_scenario": "반대 시나리오는 $63,220.00 전일 저가 회복 후 $64,250.00 bullish BOS 레벨과 EQ $64,562.70 위로 4시간봉 종가 수용이 나오는 경우다. 이 경우 현재 하락은 sell-side liquidity sweep 이후 반등으로 해석될 수 있으며, $65,597.20 전일 고가와 $67,255.40 range high까지 숏 커버링이 발생할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 57,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 79137.4
          },
          {
            "type": "BOS_bearish",
            "level": 78713.8
          },
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 64562.7,
        "range_high": 67255.4,
        "range_low": 61870.0,
        "bull_score": 3.0,
        "bear_score": 13.5,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $79,137.40",
          "bearish BOS below $78,713.80",
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 36.5,
        "deepest_retracement_pct": 67.0,
        "previous_day_high": 65597.2,
        "previous_day_low": 63220.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"가격 $62,478.50이 EQ $64,562.70 아래의 discount 구간에 있으나, $64,250.00 bullish BOS 레벨을 재이탈하여 상승 구조 전환이 실패한 상태\",\n    \"전일 저가 $63,220.00이 하방 이탈되었고 현재가가 그 아래에 머물러 sell-side 유동성 이탈 후 회복 실패\",\n    \"EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 모두 현재가 위에 있어 동적 저항이 우세\",\n    \"최근 구조 이벤트가 CHoCH_bearish $79,137.40 이후 BOS_bearish $78,713.80, $76,014.20, $74,203.60, $72,436.00으로 이어진 강한 하락 구조\",\n    \"현재 근처에 활성 bullish OB나 미충족 bullish FVG가 없어 $61,870.00 저점 방어 근거가 약함\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. $79,137.40 bearish CHoCH 이후 $78,713.80, $76,014.20, $74,203.60, $72,436.00에서 연속 bearish BOS가 발생했고, 최근 $64,250.00 bullish BOS가 있었지만 현재가 $62,478.50은 그 레벨 아래로 되밀려 구조적 수용에 실패했다. 현재 가격은 EQ $64,562.70 아래 discount에 있어 신규 숏 추격은 저점 근접 리스크가 있지만, 전일 저가 $63,220.00을 깨고 회복하지 못했으며 EMA20 $63,834.72도 상방 저항으로 작용한다. 가장 가까운 핵심 하방 유동성은 7일 저점이자 range low인 $61,870.00이고, 이탈 시 추가 매도 가속 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      62478.5\n    ],\n    \"resistance\": [\n      63220.0,\n      63834.72,\n      64250.0,\n      64562.7,\n      65597.2,\n      67255.4,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$65,597.20\",\n  \"risk_scenario\": \"반대 시나리오는 $63,220.00 전일 저가 회복 후 $64,250.00 bullish BOS 레벨과 EQ $64,562.70 위로 4시간봉 종가 수용이 나오는 경우다. 이 경우 현재 하락은 sell-side liquidity sweep 이후 반등으로 해석될 수 있으며, $65,597.20 전일 고가와 $67,255.40 range high까지 숏 커버링이 발생할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.43,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "활성 bullish Bat PRZ $62,527.12-$63,386.13, strict/high, score 0.957, XAD+BC_EXT+ABCD 3중 Fib confluence",
        "현재가 $62,478.50는 Bat PRZ 하단 $62,527.12 바로 아래에 위치하여 PRZ 방어/재진입 여부가 핵심",
        "형성 중 bullish Gartley PRZ $62,202.51-$63,015.03, high confluence, 현재가와 약 0.21% 근접",
        "이전 completed candidate Bat는 D $63,220.00 이후 PRZ 방어 및 AD 0.382 반응 도달로 reaction_score 0.8을 기록했으나 현재는 재시험 국면",
        "하단 보조 bullish Butterfly PRZ $61,013.80-$61,908.44가 7일 저점 $61,870.00과 겹쳐 추가 하락 시 2차 반응 구간 형성"
      ],
      "reasoning": "4시간 구조는 가격이 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 아래에 있고 최근 24시간 -3.32% 하락했기 때문에 확인된 흐름은 아직 bearish로 본다. 다만 하모닉 관점에서는 strict/high bullish Bat가 $62,527.12-$63,386.13 PRZ에 활성화되어 있으며, XAD·BC extension·AB=CD 3중 confluence와 score 0.957로 가장 중요한 반전 후보 구간이다. 현재가 $62,478.50는 PRZ 하단을 살짝 이탈한 상태라 아직 confirmed reaction은 없으며, sweep→reclaim 또는 15m/1h MSS/CHoCH가 나오기 전까지는 메인 구조를 bullish로 뒤집을 수 없다. 상방 반응이 확인되면 Bat 기준 TP는 $64,598.76, $65,613.27, 최종 $67,255.40 순서가 합리적이다.",
      "key_levels": {
        "support": [
          62527.12,
          62202.51,
          61870.0,
          61013.8
        ],
        "resistance": [
          63015.03,
          63386.13,
          63834.72,
          64598.76,
          65613.27,
          67255.4
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "61013.80",
      "risk_scenario": "$62,527.12-$63,386.13 Bat PRZ를 회복하지 못하고 $61,870.00 7일 저점을 하향 이탈하면, bullish harmonic setup은 실패 가능성이 커지며 다음 PRZ인 $61,013.80-$61,908.44까지 하방 유동성 탐색이 열릴 수 있다. 반대로 $62,527.12를 재진입하고 $63,386.13 상단을 회복한 뒤 15m/1h CHoCH 또는 MSS가 확인되면 하모닉은 bullish tie-breaker로 승격되어 $64,598.76-$65,613.27 TP 구간을 우선 목표로 삼는다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 87,
        "completed_patterns_found": 28,
        "forming_d_prz_found": 59,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 27,
        "swing_lows_scanned": 28,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 3,
          "medium": 23,
          "low": 61
        },
        "prz_status_counts": {
          "active": 32,
          "nearby": 5,
          "watch": 9,
          "far": 41,
          "forming": 31
        },
        "high_confluence_prz_count": 11,
        "strict_patterns_found": 29,
        "candidate_patterns_found": 58,
        "active_patterns_at_prz": 32,
        "nearby_patterns": 5,
        "all_patterns": [
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "shark",
          "bat",
          "bat",
          "shark",
          "bat",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "shark",
          "crab",
          "bat",
          "shark",
          "crab",
          "gartley",
          "crab",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "shark",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "crab",
          "gartley",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.957,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 62487.43,
        "price_to_prz": 0.01,
        "prz_range": [
          61589.1,
          63385.77
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7653,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7653,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 9,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": 290
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.858,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.21,
            "price_to_prz_pct_raw": 0.2085,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 282,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.936,
            "ratio_score": 1.0,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63482.36,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.61,
            "price_to_prz_pct_raw": 1.6067,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53
            },
            "x_price": 65359.1,
            "x_idx": 177,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 206,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.894,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.63,
            "price_to_prz_pct_raw": -1.6284,
            "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": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.862,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.72,
            "price_to_prz_pct_raw": 2.72,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 247,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 265,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.773,
            "ratio_score": 0.706,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.61,
            "price_to_prz_pct_raw": 1.6067,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 2.308,
                "adverse_move_ratio_ad": 1.311,
                "bars_after_d": 9,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53,
              "BCD": 1.4684,
              "XAD": 0.9287
            },
            "x_price": 65359.1,
            "x_idx": 177,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 206,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": 290
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.893,
            "ratio_score": 0.97,
            "prz_score": 0.859,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61802.43,
            "prz_range": [
              61158.66,
              62446.21
            ],
            "prz_width_pct": 2.083,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.08,
            "price_to_prz_pct_raw": -1.0821,
            "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": 61802.43,
              "a_price": 66419.2,
              "tp1_ad_382": 63566.04,
              "tp2_ad_618": 64655.6,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7795,
              "ABC": 0.7431
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 265,
            "a_order": 5,
            "b_price": 63220.0,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7653,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7653,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7653,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 9,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 252,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": 290
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.858,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.21,
            "price_to_prz_pct_raw": 0.2085,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 282,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.936,
            "ratio_score": 1.0,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63482.36,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.61,
            "price_to_prz_pct_raw": 1.6067,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53
            },
            "x_price": 65359.1,
            "x_idx": 177,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 206,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.894,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.63,
            "price_to_prz_pct_raw": -1.6284,
            "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": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.862,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.72,
            "price_to_prz_pct_raw": 2.72,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 247,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 265,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.773,
            "ratio_score": 0.706,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.61,
            "price_to_prz_pct_raw": 1.6067,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 2.308,
                "adverse_move_ratio_ad": 1.311,
                "bars_after_d": 9,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53,
              "BCD": 1.4684,
              "XAD": 0.9287
            },
            "x_price": 65359.1,
            "x_idx": 177,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 206,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": 290
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.893,
            "ratio_score": 0.97,
            "prz_score": 0.859,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61802.43,
            "prz_range": [
              61158.66,
              62446.21
            ],
            "prz_width_pct": 2.083,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.08,
            "price_to_prz_pct_raw": -1.0821,
            "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": 61802.43,
              "a_price": 66419.2,
              "tp1_ad_382": 63566.04,
              "tp2_ad_618": 64655.6,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7795,
              "ABC": 0.7431
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 265,
            "a_order": 5,
            "b_price": 63220.0,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.893,
            "ratio_score": 0.988,
            "prz_score": 0.859,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62215.79,
            "prz_range": [
              61566.77,
              62864.8
            ],
            "prz_width_pct": 2.086,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.42,
            "price_to_prz_pct_raw": -0.4205,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62215.79,
              "a_price": 66956.7,
              "tp1_ad_382": 64026.82,
              "tp2_ad_618": 65145.67,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.616,
              "ABC": 0.6442
            },
            "x_price": 60755.0,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 63136.2,
            "b_idx": 282,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 294,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.887,
            "ratio_score": 1.0,
            "prz_score": 0.821,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62273.28,
            "prz_range": [
              61557.89,
              62988.67
            ],
            "prz_width_pct": 2.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.33,
            "price_to_prz_pct_raw": -0.3285,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62273.28,
              "a_price": 66956.7,
              "tp1_ad_382": 64062.35,
              "tp2_ad_618": 65167.63,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.4674
            },
            "x_price": 63650.0,
            "x_idx": 247,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.887,
            "ratio_score": 1.0,
            "prz_score": 0.835,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62695.21,
            "prz_range": [
              61999.91,
              63390.5
            ],
            "prz_width_pct": 2.218,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.35,
            "price_to_prz_pct_raw": 0.3468,
            "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": 62695.21,
              "a_price": 64362.6,
              "tp1_ad_382": 63332.15,
              "tp2_ad_618": 63725.66,
              "tp3_a_or_structure_liquidity": 64362.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5989,
              "ABC": 1.1675
            },
            "x_price": 62315.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 64362.6,
            "a_idx": 234,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 282,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.881,
            "ratio_score": 1.0,
            "prz_score": 0.796,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62175.11,
            "prz_range": [
              61416.92,
              62933.3
            ],
            "prz_width_pct": 2.439,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4856,
            "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": 62175.11,
              "a_price": 63915.3,
              "tp1_ad_382": 62839.86,
              "tp2_ad_618": 63250.55,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 1.3878
            },
            "x_price": 61150.2,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 229,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 270,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.957,
            "prz_proximity": "active",
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.77,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $62,527.12-$63,386.13: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.957,
          "ratio_score": 1.0,
          "prz_score": 0.988,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 62956.63,
          "prz_range": [
            62527.12,
            63386.13
          ],
          "prz_width_pct": 1.364,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.77,
          "price_to_prz_pct_raw": 0.7653,
          "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": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.39,
            "ABC": 0.3949
          },
          "x_price": 62315.0,
          "x_idx": 229,
          "x_order": 3,
          "a_price": 67255.4,
          "a_idx": 252,
          "a_order": 8,
          "b_price": 65328.8,
          "b_idx": 258,
          "b_order": 3,
          "c_price": 64568.0,
          "c_idx": 286,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 62956.63,
          "a_price": 67255.4,
          "tp1_ad_382": 64598.76,
          "tp2_ad_618": 65613.27,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "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.203,
          "bearish": 0
        },
        "directional_score_total": 0.203,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.43,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"활성 bullish Bat PRZ $62,527.12-$63,386.13, strict/high, score 0.957, XAD+BC_EXT+ABCD 3중 Fib confluence\",\n    \"현재가 $62,478.50는 Bat PRZ 하단 $62,527.12 바로 아래에 위치하여 PRZ 방어/재진입 여부가 핵심\",\n    \"형성 중 bullish Gartley PRZ $62,202.51-$63,015.03, high confluence, 현재가와 약 0.21% 근접\",\n    \"이전 completed candidate Bat는 D $63,220.00 이후 PRZ 방어 및 AD 0.382 반응 도달로 reaction_score 0.8을 기록했으나 현재는 재시험 국면\",\n    \"하단 보조 bullish Butterfly PRZ $61,013.80-$61,908.44가 7일 저점 $61,870.00과 겹쳐 추가 하락 시 2차 반응 구간 형성\"\n  ],\n  \"reasoning\": \"4시간 구조는 가격이 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 아래에 있고 최근 24시간 -3.32% 하락했기 때문에 확인된 흐름은 아직 bearish로 본다. 다만 하모닉 관점에서는 strict/high bullish Bat가 $62,527.12-$63,386.13 PRZ에 활성화되어 있으며, XAD·BC extension·AB=CD 3중 confluence와 score 0.957로 가장 중요한 반전 후보 구간이다. 현재가 $62,478.50는 PRZ 하단을 살짝 이탈한 상태라 아직 confirmed reaction은 없으며, sweep→reclaim 또는 15m/1h MSS/CHoCH가 나오기 전까지는 메인 구조를 bullish로 뒤집을 수 없다. 상방 반응이 확인되면 Bat 기준 TP는 $64,598.76, $65,613.27, 최종 $67,255.40 순서가 합리적이다.\",\n  \"key_levels\": {\n    \"support\": [\n      62527.12,\n      62202.51,\n      61870.0,\n      61013.8\n    ],\n    \"resistance\": [\n      63015.03,\n      63386.13,\n      63834.72,\n      64598.76,\n      65613.27,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"61013.80\",\n  \"risk_scenario\": \"$62,527.12-$63,386.13 Bat PRZ를 회복하지 못하고 $61,870.00 7일 저점을 하향 이탈하면, bullish harmonic setup은 실패 가능성이 커지며 다음 PRZ인 $61,013.80-$61,908.44까지 하방 유동성 탐색이 열릴 수 있다. 반대로 $62,527.12를 재진입하고 $63,386.13 상단을 회복한 뒤 15m/1h CHoCH 또는 MSS가 확인되면 하모닉은 bullish tie-breaker로 승격되어 $64,598.76-$65,613.27 TP 구간을 우선 목표로 삼는다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.7,
      "setup_signals": [
        "현재가 $62,478.50이 SOS 기준가 $62,942.40 아래에 있어 Phase D 강세 구조의 즉시 수용이 아직 확인되지 않음",
        "현재가가 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 모두 하회하여 단기 반등 시 공급 확인 구간이 위에 밀집",
        "7일 저점 $61,870.00 근처까지 하락했지만, $62,942.40 재탈환 전까지는 LPS/BU 성격보다 하단 재시험 성격이 우세",
        "TERMINAL_SPRING $65,359.10 이후 SOS $62,942.40로 표기된 구조가 가격상 역전되어 있어, 후속 수요 확인 전까지 실행 관점은 약함"
      ],
      "reasoning": "메트릭상 공식 regime은 ACC이며 acc_score 92.5, regime_fitness 0.925, phase_context는 confirmed_acc / accumulation / Phase D로 표시되어 구조적 해석은 아직 bullish로 둔다. 다만 현재가 $62,478.50은 마지막 ACC 이벤트인 SOS $62,942.40 아래에 있으며, EMA20 $63,834.72와 TERMINAL_SPRING 기준 $65,359.10도 회복하지 못해 즉시 경로는 하단 재시험 쪽으로 기운다. 주 range anchor는 SC $80,225.10 / AR $82,350.00로 제시되어 있으나 현재가와 큰 괴리가 있어, 이 ACC 판독은 구조적으로는 유효하되 실행 신뢰도는 낮춰야 한다. 핵심은 $62,942.40 회복 여부이며, 회복 실패 시 $61,870.00 재시험이 먼저 열리고, 회복 후에도 $63,834.72와 $65,335~$65,359 구간에서 공급 반응을 확인해야 한다.",
      "key_levels": {
        "support": [
          61870.0,
          62478.5,
          62532.4
        ],
        "resistance": [
          62942.4,
          63834.72,
          65335.7,
          65359.1,
          68528.27
        ]
      },
      "time_horizon": "단기~중기",
      "invalidation_level": "$61,870.00 하향 이탈 및 4시간봉 종가 수용 시, Phase D SOS 이후 수요 방어 해석은 무효화된다.",
      "risk_scenario": "$62,942.40을 빠르게 회복하고 EMA20 $63,834.72 위에서 4시간봉 수용이 나오면, 현재의 bearish setup은 약화되며 $65,335.70~$65,359.10 재시험으로 경로가 바뀐다. 반대로 $61,870.00이 깨지면 ACC Phase D 해석보다 하방 range expansion 또는 구조 재분류 위험이 커진다.",
      "data_quality": "low",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 81.2,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 38,
            "price": 80225.1,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 39,
            "price": 82350.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 84,
            "price": 76014.2,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 154,
            "price": 73130.1,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 177,
            "price": 65359.1,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 203,
            "price": 62942.4,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 38,
            "end_idx": 203,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 38,
                "price": 80225.1,
                "color": "#ffd166",
                "dt": "2026-05-11 05:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 39,
                "price": 82350.0,
                "color": "#06d6a0",
                "dt": "2026-05-11 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 84,
                "price": 76014.2,
                "color": "#118ab2",
                "dt": "2026-05-18 21:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 154,
                "price": 73130.1,
                "color": "#f9844a",
                "dt": "2026-05-30 13:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 177,
                "price": 65359.1,
                "color": "#f3722c",
                "dt": "2026-06-03 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 203,
                "price": 62942.4,
                "color": "#06d6a0",
                "dt": "2026-06-07 17:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "4h_cycle_2",
            "sequence": 2,
            "timeframe": "4h",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 229,
            "end_idx": 299,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 229,
                "price": 63915.3,
                "color": "#ffd166",
                "dt": "2026-06-12 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 247,
                "price": 63650.0,
                "color": "#06d6a0",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 265,
                "price": 66419.2,
                "color": "#118ab2",
                "dt": "2026-06-18 01:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 282,
                "price": 63136.2,
                "color": "#ef476f",
                "dt": "2026-06-20 21:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 286,
                "price": 64568.0,
                "color": "#f9844a",
                "dt": "2026-06-21 13:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 294,
                "price": 65597.2,
                "color": "#f9844a",
                "dt": "2026-06-22 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 298,
                "price": 62532.4,
                "color": "#ef476f",
                "dt": "2026-06-23 13:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 299,
                "price": 61870.0,
                "color": "#7209b7",
                "dt": "2026-06-23 17:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_2",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80225.1,
        "main_range_high": 82350.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.7,\n  \"setup_signals\": [\n    \"현재가 $62,478.50이 SOS 기준가 $62,942.40 아래에 있어 Phase D 강세 구조의 즉시 수용이 아직 확인되지 않음\",\n    \"현재가가 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 모두 하회하여 단기 반등 시 공급 확인 구간이 위에 밀집\",\n    \"7일 저점 $61,870.00 근처까지 하락했지만, $62,942.40 재탈환 전까지는 LPS/BU 성격보다 하단 재시험 성격이 우세\",\n    \"TERMINAL_SPRING $65,359.10 이후 SOS $62,942.40로 표기된 구조가 가격상 역전되어 있어, 후속 수요 확인 전까지 실행 관점은 약함\"\n  ],\n  \"reasoning\": \"메트릭상 공식 regime은 ACC이며 acc_score 92.5, regime_fitness 0.925, phase_context는 confirmed_acc / accumulation / Phase D로 표시되어 구조적 해석은 아직 bullish로 둔다. 다만 현재가 $62,478.50은 마지막 ACC 이벤트인 SOS $62,942.40 아래에 있으며, EMA20 $63,834.72와 TERMINAL_SPRING 기준 $65,359.10도 회복하지 못해 즉시 경로는 하단 재시험 쪽으로 기운다. 주 range anchor는 SC $80,225.10 / AR $82,350.00로 제시되어 있으나 현재가와 큰 괴리가 있어, 이 ACC 판독은 구조적으로는 유효하되 실행 신뢰도는 낮춰야 한다. 핵심은 $62,942.40 회복 여부이며, 회복 실패 시 $61,870.00 재시험이 먼저 열리고, 회복 후에도 $63,834.72와 $65,335~$65,359 구간에서 공급 반응을 확인해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      62478.5,\n      62532.4\n    ],\n    \"resistance\": [\n      62942.4,\n      63834.72,\n      65335.7,\n      65359.1,\n      68528.27\n    ]\n  },\n  \"time_horizon\": \"단기~중기\",\n  \"invalidation_level\": \"$61,870.00 하향 이탈 및 4시간봉 종가 수용 시, Phase D SOS 이후 수요 방어 해석은 무효화된다.\",\n  \"risk_scenario\": \"$62,942.40을 빠르게 회복하고 EMA20 $63,834.72 위에서 4시간봉 수용이 나오면, 현재의 bearish setup은 약화되며 $65,335.70~$65,359.10 재시험으로 경로가 바뀐다. 반대로 $61,870.00이 깨지면 ACC Phase D 해석보다 하방 range expansion 또는 구조 재분류 위험이 커진다.\",\n  \"data_quality\": \"low\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.73,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.78,
      "active_setups": [
        "현재가 $62,478.50가 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 아래에 있어 단기·중기 동적 저항이 우세",
        "전일 저가이자 최근 스윙 저점 $63,220.00 이탈 후 회복 실패",
        "ICT 기준 $64,250.00 bullish BOS 재이탈로 상승 구조 전환 실패",
        "파생 포지셔닝에서 롱 계정 비율 0.655로 상승하고 CVD 변화 -1180.8690으로 매수 체결 주도권 부재",
        "7일 저점 및 range low $61,870.00 근처 재시험 구간",
        "하모닉 bullish Bat PRZ $62,527.12-$63,386.13 및 Gartley PRZ $62,202.51-$63,015.03이 있어 하방 구조 내 반전 리스크 존재"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 가격이 $61,870.00-$62,527.12 부근의 저점·하모닉 PRZ에 근접해 있어 신규 추격 매도는 구조적 방향과 별개로 반등 리스크를 동반한다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 5,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        62200,
        61870,
        61700,
        61600,
        61066.55,
        61013.8
      ],
      "resistance": [
        62942.4,
        63220,
        63500,
        63600,
        63728.72,
        63834.72,
        64128.09,
        64250,
        64562.7,
        65335.7,
        65597.2
      ]
    },
    "confluences": [
      "Candlestick, Derivatives, ICT, Harmonic, Wyckoff가 모두 EMA20 $63,834.72를 핵심 상방 저항 또는 회복 기준으로 지목한다.",
      "Candlestick, Derivatives, ICT, Harmonic, Wyckoff가 $61,870.00을 7일 저점·range low·핵심 하방 유동성으로 공통 인식한다.",
      "Fibonacci와 ICT는 $63,220.00 이탈을 최근 상승 구조 훼손 및 전일 저가 이탈로 해석하며, 이 레벨을 회복 전 저항으로 본다.",
      "ICT의 $64,250.00 bullish BOS 실패 구간은 Fibonacci의 $64,128.09-$64,408.60 되돌림·EQ 클러스터 및 Candlestick의 7일 EQ $64,328.55와 겹쳐 구조 회복 관문을 형성한다.",
      "EMA120 $65,335.70, Wyckoff TERMINAL_SPRING 기준 $65,359.10, 전일 고점·UTAD 성격의 $65,597.20이 $65.3k-$65.6k 저항 클러스터를 이룬다.",
      "Derivatives의 하방 유동성 $62,200, $61,700, $61,600은 Candlestick·ICT의 $61,870.00 range low와 같은 하단 유동성 대역에 위치한다."
    ],
    "conflicts": [
      "Harmonic은 strict/high bullish Bat PRZ $62,527.12-$63,386.13과 forming Gartley PRZ $62,202.51-$63,015.03을 제시해 반전 후보를 강조하지만, 확인된 4h 구조는 EMA·BOS·CVD 기준 bearish가 우세하다.",
      "Wyckoff는 과거 축적 구조를 근거로 큰 구조 해석을 bullish로 유지하지만, 현재 활성 구간에서는 UTAD $65,597.20 이후 SOW $62,532.40 및 Phase E 성격의 $61,870.00 하단 재시험이 나타나 실행 구조는 bearish에 가깝다.",
      "가격은 EQ $64,562.70 및 7일 EQ $64,328.55 아래의 discount 구간에 있어 구조적 약세와 별개로 저점 추격 매도 효율은 낮아질 수 있다.",
      "파생 OI가 24시간 -2.0430% 감소해 공격적 신규 숏 누적보다는 포지션 언와인딩 성격도 있어, 하방 구조의 질은 CVD와 롱 혼잡에 의해 보강되지만 순수 추세 확장 신호만으로 보기는 어렵다."
    ],
    "executive_summary": "현재 BTC/USDT 4h 구조는 bearish로 판정한다. 과거 Wyckoff 축적 해석은 남아 있으나, 현재 활성 구간은 $65,597.20 UTAD 성격의 상단 형성 이후 $62,532.40 SOW 및 $61,870.00 Phase E/range low 재시험으로 이어지는 분배적 구조 신호가 더 직접적이다. ICT와 Fibonacci 모두 $63,220.00 이탈을 구조 훼손으로 보며, $63,834.72 EMA20과 $64,128.09-$64,562.70 구간이 구조 회복 전 저항 클러스터다. 다만 $62,527.12-$63,386.13 bullish Bat PRZ와 $61,870.00 range low가 가까워 하단에서는 spring 또는 PRZ 반응 리스크를 조건으로 관리해야 한다. bearish 구조의 주요 무효화는 $65,597.20 상방 회복 및 수용이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.73,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.78,\n    \"active_setups\": [\n      \"현재가 $62,478.50가 EMA20 $63,834.72, EMA120 $65,335.70, EMA240 $68,528.27 아래에 있어 단기·중기 동적 저항이 우세\",\n      \"전일 저가이자 최근 스윙 저점 $63,220.00 이탈 후 회복 실패\",\n      \"ICT 기준 $64,250.00 bullish BOS 재이탈로 상승 구조 전환 실패\",\n      \"파생 포지셔닝에서 롱 계정 비율 0.655로 상승하고 CVD 변화 -1180.8690으로 매수 체결 주도권 부재\",\n      \"7일 저점 및 range low $61,870.00 근처 재시험 구간\",\n      \"하모닉 bullish Bat PRZ $62,527.12-$63,386.13 및 Gartley PRZ $62,202.51-$63,015.03이 있어 하방 구조 내 반전 리스크 존재\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 가격이 $61,870.00-$62,527.12 부근의 저점·하모닉 PRZ에 근접해 있어 신규 추격 매도는 구조적 방향과 별개로 반등 리스크를 동반한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 5,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      62200,\n      61870,\n      61700,\n      61600,\n      61066.55,\n      61013.8\n    ],\n    \"resistance\": [\n      62942.4,\n      63220,\n      63500,\n      63600,\n      63728.72,\n      63834.72,\n      64128.09,\n      64250,\n      64562.7,\n      65335.7,\n      65597.2\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick, Derivatives, ICT, Harmonic, Wyckoff가 모두 EMA20 $63,834.72를 핵심 상방 저항 또는 회복 기준으로 지목한다.\",\n    \"Candlestick, Derivatives, ICT, Harmonic, Wyckoff가 $61,870.00을 7일 저점·range low·핵심 하방 유동성으로 공통 인식한다.\",\n    \"Fibonacci와 ICT는 $63,220.00 이탈을 최근 상승 구조 훼손 및 전일 저가 이탈로 해석하며, 이 레벨을 회복 전 저항으로 본다.\",\n    \"ICT의 $64,250.00 bullish BOS 실패 구간은 Fibonacci의 $64,128.09-$64,408.60 되돌림·EQ 클러스터 및 Candlestick의 7일 EQ $64,328.55와 겹쳐 구조 회복 관문을 형성한다.\",\n    \"EMA120 $65,335.70, Wyckoff TERMINAL_SPRING 기준 $65,359.10, 전일 고점·UTAD 성격의 $65,597.20이 $65.3k-$65.6k 저항 클러스터를 이룬다.\",\n    \"Derivatives의 하방 유동성 $62,200, $61,700, $61,600은 Candlestick·ICT의 $61,870.00 range low와 같은 하단 유동성 대역에 위치한다.\"\n  ],\n  \"conflicts\": [\n    \"Harmonic은 strict/high bullish Bat PRZ $62,527.12-$63,386.13과 forming Gartley PRZ $62,202.51-$63,015.03을 제시해 반전 후보를 강조하지만, 확인된 4h 구조는 EMA·BOS·CVD 기준 bearish가 우세하다.\",\n    \"Wyckoff는 과거 축적 구조를 근거로 큰 구조 해석을 bullish로 유지하지만, 현재 활성 구간에서는 UTAD $65,597.20 이후 SOW $62,532.40 및 Phase E 성격의 $61,870.00 하단 재시험이 나타나 실행 구조는 bearish에 가깝다.\",\n    \"가격은 EQ $64,562.70 및 7일 EQ $64,328.55 아래의 discount 구간에 있어 구조적 약세와 별개로 저점 추격 매도 효율은 낮아질 수 있다.\",\n    \"파생 OI가 24시간 -2.0430% 감소해 공격적 신규 숏 누적보다는 포지션 언와인딩 성격도 있어, 하방 구조의 질은 CVD와 롱 혼잡에 의해 보강되지만 순수 추세 확장 신호만으로 보기는 어렵다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 신뢰도 82%, setup score 0.920으로 가장 높고, $79,137.40 bearish CHoCH 이후 다수의 bearish BOS, $64,250.00 bullish BOS 실패, 전일 저가 $63,220.00 이탈, EQ $64,562.70 아래 discount 위치를 모두 구체적 가격으로 제시해 구조 판독의 일관성이 가장 강하다.\",\n  \"invalidation_level\": \"$65,597.20 상방 회복 및 수용. 이 레벨은 전일 고점이자 최근 UTAD 성격의 상단이며, 동시에 EMA120 $65,335.70-$65,359.10 클러스터 위에 있어 bearish 구조 판독이 훼손되는 핵심 기준이다.\",\n  \"executive_summary\": \"현재 BTC/USDT 4h 구조는 bearish로 판정한다. 과거 Wyckoff 축적 해석은 남아 있으나, 현재 활성 구간은 $65,597.20 UTAD 성격의 상단 형성 이후 $62,532.40 SOW 및 $61,870.00 Phase E/range low 재시험으로 이어지는 분배적 구조 신호가 더 직접적이다. ICT와 Fibonacci 모두 $63,220.00 이탈을 구조 훼손으로 보며, $63,834.72 EMA20과 $64,128.09-$64,562.70 구간이 구조 회복 전 저항 클러스터다. 다만 $62,527.12-$63,386.13 bullish Bat PRZ와 $61,870.00 range low가 가까워 하단에서는 spring 또는 PRZ 반응 리스크를 조건으로 관리해야 한다. bearish 구조의 주요 무효화는 $65,597.20 상방 회복 및 수용이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.73,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.63,
    "waypoints": [
      {
        "seq": 1,
        "price": 61870.0,
        "type": "liquidity_sweep",
        "source": "Candlestick, ICT, Derivatives, Wyckoff, Harmonic 공통으로 $61,870을 7일 저점·range low·핵심 sell-side 유동성으로 지목; Derivatives는 $62,200→$61,870 경로 제시",
        "description": "현재가 $62,478.50가 EMA20 $63,834.72/EMA120/EMA240 전부 하회, $63,220 이탈 후 회복 실패, CVD -1180.87로 매수 주도권 부재. 구조·셋업 모두 bearish 정렬(73%/78%) 하에 가장 가까운 sell-side 유동성인 range low/7일 저점 $61,870을 1차로 흡수하는 하방 스윕. Harmonic의 'sweep→reclaim' 전제와도 부합하며 $62,200 유동성 통과 후 도달.",
        "est_hours": 4.0,
        "turning_zone": [
          61640.0,
          61880.0
        ],
        "likely_wick": 61770.0,
        "rejection_confirm": 62200.0,
        "invalid_overshoot": 61580.0,
        "calibration_reasoning": "Chairman 7일 저점/레인지 로우 $61,870 sell-side 유동성을 흡수하는 하방 스윕으로, 다음 유동성 풀 $61,700을 포함하도록 zone 하단을 ATR 0.30배 폭으로 설정. 스톱 청산 깊이 $61,770을 likely_wick으로 두고, $62,200(이탈 지지) 회복 시 sweep→reclaim 확인, $61,600 하단 수용 이탈은 바운스 무효."
      },
      {
        "seq": 2,
        "price": 63220.0,
        "type": "resistance_test",
        "source": "ICT·Fibonacci가 $63,220을 이탈된 전일 저가·구조 훼손 레벨이자 '회복 전 저항'으로 공통 지목; Harmonic Bat PRZ 상단 $63,386·Gartley PRZ 상단 $63,015과 중첩",
        "description": "$61,870 스윕 후 디스카운트 구간 위치와 하모닉 triple-confluence Bat PRZ(score 0.957) 반응으로 되돌림 발생. 단 confirmed reclaim이 부재하므로 이탈된 전일 저가 $63,220(EMA20 $63,834.72 직하단)에서 공급 재진입에 따른 reclaim 실패가 base case. 24시간 고점이자 숏 재진입 구간.",
        "est_hours": 12.0,
        "turning_zone": [
          63220.0,
          63650.0
        ],
        "likely_wick": 63450.0,
        "rejection_confirm": 62950.0,
        "invalid_overshoot": 63835.0,
        "calibration_reasoning": "이탈된 전일 저가이자 24h 고점 $63,220 저항 재테스트로, 상단 Chairman 유동성 $63,500/$63,600을 포함해 폭 0.54 ATR로 설정(EMA20 $63,834.72가 상단 천장). likely_wick $63,450, Chairman $62,942/하모닉 PRZ($62,956, pre-confirmation·참고용) 직하 이탈인 $62,950로 reclaim 실패 확인, EMA20 수용 돌파($63,835)는 약세 구조 무효."
      },
      {
        "seq": 3,
        "price": 61600.0,
        "type": "swing_low",
        "source": "Derivatives 하방 유동성 $61,600·$61,700; Candlestick ATR 확장 목표 $61,066.55; ICT range low 이탈 시 매도 가속",
        "description": "$63,220 reclaim 실패로 약세 구조 재개. range low $61,870 하향 이탈·수용 후 $61,700→$61,600 하방 유동성까지 확장하며 신규 저점 형성. 모멘텀 강화 시 ATR 기준 $61,066.55까지 확장 리스크.",
        "est_hours": 22.0,
        "turning_zone": [
          61066.0,
          61650.0
        ],
        "likely_wick": 61400.0,
        "rejection_confirm": 61870.0,
        "invalid_overshoot": 61000.0,
        "calibration_reasoning": "터미널 swing low로, $61,600 신규 저점 이후 모멘텀 강화 시 ATR 기준 확장 타깃이자 유동성 풀인 Chairman $61,066.55까지 zone 확장(폭 0.73 ATR). likely_wick $61,400, range low $61,870 회복으로 바닥 확인, 라운드넘버 $61,000 수용 이탈은 추가 하락 전환으로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 62550.0,
        "expected_low": 61870.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 62800.0,
        "expected_low": 61870.0,
        "high_first": false
      },
      "24h": {
        "expected_high": 63220.0,
        "expected_low": 61600.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 64250.0,
        "description": "ICT bullish BOS $64,250 및 EQ $64,562.70 회복·4h 수용 시 강세 가속. 하모닉 Bat 반전 활성화로 $64,598.76·$65,335.70 TP 개방."
      },
      "bearish": {
        "price": 61870.0,
        "description": "range low/7일 저점 $61,870 하향 이탈 및 4h 수용 시 매도 가속. $61,700·$61,600 연속 유동성, 이후 $61,066.55 ATR 확장 목표 개방."
      }
    },
    "scenario_invalidation": 63834.72,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.63,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 61870.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Candlestick, ICT, Derivatives, Wyckoff, Harmonic 공통으로 $61,870을 7일 저점·range low·핵심 sell-side 유동성으로 지목; Derivatives는 $62,200→$61,870 경로 제시\",\n      \"description\": \"현재가 $62,478.50가 EMA20 $63,834.72/EMA120/EMA240 전부 하회, $63,220 이탈 후 회복 실패, CVD -1180.87로 매수 주도권 부재. 구조·셋업 모두 bearish 정렬(73%/78%) 하에 가장 가까운 sell-side 유동성인 range low/7일 저점 $61,870을 1차로 흡수하는 하방 스윕. Harmonic의 'sweep→reclaim' 전제와도 부합하며 $62,200 유동성 통과 후 도달.\",\n      \"est_hours\": 4.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 63220.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"ICT·Fibonacci가 $63,220을 이탈된 전일 저가·구조 훼손 레벨이자 '회복 전 저항'으로 공통 지목; Harmonic Bat PRZ 상단 $63,386·Gartley PRZ 상단 $63,015과 중첩\",\n      \"description\": \"$61,870 스윕 후 디스카운트 구간 위치와 하모닉 triple-confluence Bat PRZ(score 0.957) 반응으로 되돌림 발생. 단 confirmed reclaim이 부재하므로 이탈된 전일 저가 $63,220(EMA20 $63,834.72 직하단)에서 공급 재진입에 따른 reclaim 실패가 base case. 24시간 고점이자 숏 재진입 구간.\",\n      \"est_hours\": 12.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 61600.0,\n      \"type\": \"swing_low\",\n      \"source\": \"Derivatives 하방 유동성 $61,600·$61,700; Candlestick ATR 확장 목표 $61,066.55; ICT range low 이탈 시 매도 가속\",\n      \"description\": \"$63,220 reclaim 실패로 약세 구조 재개. range low $61,870 하향 이탈·수용 후 $61,700→$61,600 하방 유동성까지 확장하며 신규 저점 형성. 모멘텀 강화 시 ATR 기준 $61,066.55까지 확장 리스크.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 62550.0, \"expected_low\": 61870.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 62800.0, \"expected_low\": 61870.0, \"high_first\": false},\n    \"24h\": {\"expected_high\": 63220.0, \"expected_low\": 61600.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 64250.0, \"description\": \"ICT bullish BOS $64,250 및 EQ $64,562.70 회복·4h 수용 시 강세 가속. 하모닉 Bat 반전 활성화로 $64,598.76·$65,335.70 TP 개방.\"},\n    \"bearish\": {\"price\": 61870.0, \"description\": \"range low/7일 저점 $61,870 하향 이탈 및 4h 수용 시 매도 가속. $61,700·$61,600 연속 유동성, 이후 $61,066.55 ATR 확장 목표 개방.\"}\n  },\n  \"scenario_invalidation\": 63834.72\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 61870.0,
        "turning_zone": [
          61640.0,
          61880.0
        ],
        "likely_wick": 61770.0,
        "rejection_confirm": 62200.0,
        "invalid_overshoot": 61580.0,
        "calibration_reasoning": "Chairman 7일 저점/레인지 로우 $61,870 sell-side 유동성을 흡수하는 하방 스윕으로, 다음 유동성 풀 $61,700을 포함하도록 zone 하단을 ATR 0.30배 폭으로 설정. 스톱 청산 깊이 $61,770을 likely_wick으로 두고, $62,200(이탈 지지) 회복 시 sweep→reclaim 확인, $61,600 하단 수용 이탈은 바운스 무효."
      },
      {
        "seq": 2,
        "base_target": 63220.0,
        "turning_zone": [
          63220.0,
          63650.0
        ],
        "likely_wick": 63450.0,
        "rejection_confirm": 62950.0,
        "invalid_overshoot": 63835.0,
        "calibration_reasoning": "이탈된 전일 저가이자 24h 고점 $63,220 저항 재테스트로, 상단 Chairman 유동성 $63,500/$63,600을 포함해 폭 0.54 ATR로 설정(EMA20 $63,834.72가 상단 천장). likely_wick $63,450, Chairman $62,942/하모닉 PRZ($62,956, pre-confirmation·참고용) 직하 이탈인 $62,950로 reclaim 실패 확인, EMA20 수용 돌파($63,835)는 약세 구조 무효."
      },
      {
        "seq": 3,
        "base_target": 61600.0,
        "turning_zone": [
          61066.0,
          61650.0
        ],
        "likely_wick": 61400.0,
        "rejection_confirm": 61870.0,
        "invalid_overshoot": 61000.0,
        "calibration_reasoning": "터미널 swing low로, $61,600 신규 저점 이후 모멘텀 강화 시 ATR 기준 확장 타깃이자 유동성 풀인 Chairman $61,066.55까지 zone 확장(폭 0.73 ATR). likely_wick $61,400, range low $61,870 회복으로 바닥 확인, 라운드넘버 $61,000 수용 이탈은 추가 하락 전환으로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 61870.00,\n      \"turning_zone\": [61640.00, 61880.00],\n      \"likely_wick\": 61770.00,\n      \"rejection_confirm\": 62200.00,\n      \"invalid_overshoot\": 61580.00,\n      \"calibration_reasoning\": \"Chairman 7일 저점/레인지 로우 $61,870 sell-side 유동성을 흡수하는 하방 스윕으로, 다음 유동성 풀 $61,700을 포함하도록 zone 하단을 ATR 0.30배 폭으로 설정. 스톱 청산 깊이 $61,770을 likely_wick으로 두고, $62,200(이탈 지지) 회복 시 sweep→reclaim 확인, $61,600 하단 수용 이탈은 바운스 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 63220.00,\n      \"turning_zone\": [63220.00, 63650.00],\n      \"likely_wick\": 63450.00,\n      \"rejection_confirm\": 62950.00,\n      \"invalid_overshoot\": 63835.00,\n      \"calibration_reasoning\": \"이탈된 전일 저가이자 24h 고점 $63,220 저항 재테스트로, 상단 Chairman 유동성 $63,500/$63,600을 포함해 폭 0.54 ATR로 설정(EMA20 $63,834.72가 상단 천장). likely_wick $63,450, Chairman $62,942/하모닉 PRZ($62,956, pre-confirmation·참고용) 직하 이탈인 $62,950로 reclaim 실패 확인, EMA20 수용 돌파($63,835)는 약세 구조 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 61600.00,\n      \"turning_zone\": [61066.00, 61650.00],\n      \"likely_wick\": 61400.00,\n      \"rejection_confirm\": 61870.00,\n      \"invalid_overshoot\": 61000.00,\n      \"calibration_reasoning\": \"터미널 swing low로, $61,600 신규 저점 이후 모멘텀 강화 시 ATR 기준 확장 타깃이자 유동성 풀인 Chairman $61,066.55까지 zone 확장(폭 0.73 ATR). likely_wick $61,400, range low $61,870 회복으로 바닥 확인, 라운드넘버 $61,000 수용 이탈은 추가 하락 전환으로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 67.4,
      "chairman": 88.5,
      "operating_path": 364.6,
      "tp_calibrator": 236.8
    },
    "agents": {},
    "total_s": 757.4
  }
}