{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-05-30 13:00 KST",
  "last_price": 73492.4,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "가격 $73,492.40이 EMA20 $76,343.62 아래 -3.7%에 위치하여 단기 반등 실패 구조",
        "EMA120 $77,397.30 및 7일 고점 $78,077.10 부근에서 공급/저항대 형성",
        "최근 패턴에 evening_star@291 및 bearish_engulfing@291, @295가 반복 출현하여 매도 압력 우위",
        "최근 5개 일봉이 ▼-1.8%, ▼-2.0%, ▼-1.1%, ▼-0.2%, ▲+0.1%로 약한 반등에 그침",
        "7일 저점 $72,436.00이 근접한 하방 유동성 목표로 남아 있음"
      ],
      "reasoning": "현재 BTC는 $73,492.40으로 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47을 모두 하회하고 있어 확인된 구조는 약세로 판단된다. 최근 감지된 패턴은 evening_star와 bearish_engulfing 중심이며 bear_score 2.3000, bull_score 0으로 캔들 신호도 매도 우위다. 다만 best_pattern_quality가 0.509로 후보 수준이고 high_volume_patterns가 없기 때문에 강한 확정 신호라기보다는 약세 지속 가능성이 높은 중간 신뢰도의 셋업이다. 단기적으로 $72,436.00 7일 저점 이탈 여부가 중요하며, 반대로 $76,343.62 EMA20 회복 전까지는 반등을 추세 전환으로 보기 어렵다.",
      "key_levels": {
        "support": [
          72436.0,
          71602.59
        ],
        "resistance": [
          76343.62,
          77397.3,
          78077.1,
          84085.47
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,077.10 일봉 종가 회복",
      "risk_scenario": "$76,343.62 EMA20을 회복한 뒤 $77,397.30 EMA120과 7일 고점 $78,077.10까지 돌파하면 최근 bearish engulfing 및 evening star의 하방 압력이 무효화되며 숏 커버링성 반등이 $84,085.47 EMA240까지 확대될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 134,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@291",
          "bearish_engulfing@295",
          "evening_star@291",
          "doji@290",
          "doji@298"
        ],
        "atr_value": 1889.81,
        "vol_avg_20": 123412.81,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.509,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.497,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.484,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.509,
        "bull_score": 0,
        "bear_score": 2.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"가격 $73,492.40이 EMA20 $76,343.62 아래 -3.7%에 위치하여 단기 반등 실패 구조\",\n    \"EMA120 $77,397.30 및 7일 고점 $78,077.10 부근에서 공급/저항대 형성\",\n    \"최근 패턴에 evening_star@291 및 bearish_engulfing@291, @295가 반복 출현하여 매도 압력 우위\",\n    \"최근 5개 일봉이 ▼-1.8%, ▼-2.0%, ▼-1.1%, ▼-0.2%, ▲+0.1%로 약한 반등에 그침\",\n    \"7일 저점 $72,436.00이 근접한 하방 유동성 목표로 남아 있음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $73,492.40으로 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47을 모두 하회하고 있어 확인된 구조는 약세로 판단된다. 최근 감지된 패턴은 evening_star와 bearish_engulfing 중심이며 bear_score 2.3000, bull_score 0으로 캔들 신호도 매도 우위다. 다만 best_pattern_quality가 0.509로 후보 수준이고 high_volume_patterns가 없기 때문에 강한 확정 신호라기보다는 약세 지속 가능성이 높은 중간 신뢰도의 셋업이다. 단기적으로 $72,436.00 7일 저점 이탈 여부가 중요하며, 반대로 $76,343.62 EMA20 회복 전까지는 반등을 추세 전환으로 보기 어렵다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0,\n      71602.59\n    ],\n    \"resistance\": [\n      76343.62,\n      77397.3,\n      78077.1,\n      84085.47\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,077.10 일봉 종가 회복\",\n  \"risk_scenario\": \"$76,343.62 EMA20을 회복한 뒤 $77,397.30 EMA120과 7일 고점 $78,077.10까지 돌파하면 최근 bearish engulfing 및 evening star의 하방 압력이 무효화되며 숏 커버링성 반등이 $84,085.47 EMA240까지 확대될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.753,
      "setup_signals": [
        "현재가 $73,492.40는 EQ $76,643.45 아래의 디스카운트 영역에 위치",
        "최근 확인된 구조 이벤트가 $75,998.90 상방 BOS로, 직전 CHoCH_bearish 이후 단기 구조 회복 시도",
        "현재 되돌림은 58.0%로 디스카운트 구간에서 매수 반응이 나올 수 있는 깊은 되돌림",
        "전일 저가 $72,436.00이 아직 이탈되지 않았고, 전일 고가 $74,293.10 돌파 전 대기 구간",
        "range low $70,458.20 위에서 가격이 유지되어 하단 유동성 완전 이탈은 아직 미확정"
      ],
      "reasoning": "확정 구조 기준으로는 최근 BOS/CHoCH 시퀀스의 마지막 이벤트가 $75,998.90 상방 BOS이므로 structure_bias는 bullish로 본다. 다만 현재가 $73,492.40는 해당 BOS 레벨 아래에 재진입했고 EMA20 $76,343.62, EMA120 $77,397.30 아래에 있어 추세 강도는 약하다. setup 관점에서는 가격이 EQ $76,643.45 아래의 discount 영역에 있고, 58.0% 되돌림이 진행 중이며 전일 저가 $72,436.00과 range low $70,458.20이 아직 방어되고 있어 bullish setup이 우세하다. 단, 활성 OB와 미충족 FVG가 없고 최근 liquidity sweep도 감지되지 않아 기관 주문흐름의 명확한 재진입 근거는 제한적이다.",
      "key_levels": {
        "support": [
          72436.0,
          70458.2
        ],
        "resistance": [
          74293.1,
          75998.9,
          76643.45,
          78077.1,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$70,458.20",
      "risk_scenario": "만약 전일 저가 $72,436.00을 하방 이탈한 뒤 range low $70,458.20 아래에서 일봉 종가가 형성되면, 현재의 디스카운트 매수 setup은 실패로 간주된다. 이 경우 sell-side liquidity가 본격적으로 회수되며 구조는 bearish 또는 최소 neutral로 약화될 수 있고, $75,998.90 BOS 레벨은 저항으로 전환될 가능성이 높다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 67,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 117875.2
          },
          {
            "type": "CHoCH_bearish",
            "level": 108566.0
          },
          {
            "type": "BOS_bearish",
            "level": 101516.5
          },
          {
            "type": "BOS_bullish",
            "level": 94555.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 84408.6
          },
          {
            "type": "BOS_bullish",
            "level": 75998.9
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 76643.45,
        "range_high": 82828.7,
        "range_low": 70458.2,
        "bull_score": 7.5,
        "bear_score": 6.9,
        "setup_bias": "bullish",
        "setup_score": 0.753,
        "setup_signals": [
          "bullish BOS above $117,875.20",
          "bullish BOS above $94,555.00",
          "bullish BOS above $75,998.90"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 58.0,
        "deepest_retracement_pct": 58.0,
        "previous_day_high": 74293.1,
        "previous_day_low": 72436.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.753,\n  \"setup_signals\": [\n    \"현재가 $73,492.40는 EQ $76,643.45 아래의 디스카운트 영역에 위치\",\n    \"최근 확인된 구조 이벤트가 $75,998.90 상방 BOS로, 직전 CHoCH_bearish 이후 단기 구조 회복 시도\",\n    \"현재 되돌림은 58.0%로 디스카운트 구간에서 매수 반응이 나올 수 있는 깊은 되돌림\",\n    \"전일 저가 $72,436.00이 아직 이탈되지 않았고, 전일 고가 $74,293.10 돌파 전 대기 구간\",\n    \"range low $70,458.20 위에서 가격이 유지되어 하단 유동성 완전 이탈은 아직 미확정\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 최근 BOS/CHoCH 시퀀스의 마지막 이벤트가 $75,998.90 상방 BOS이므로 structure_bias는 bullish로 본다. 다만 현재가 $73,492.40는 해당 BOS 레벨 아래에 재진입했고 EMA20 $76,343.62, EMA120 $77,397.30 아래에 있어 추세 강도는 약하다. setup 관점에서는 가격이 EQ $76,643.45 아래의 discount 영역에 있고, 58.0% 되돌림이 진행 중이며 전일 저가 $72,436.00과 range low $70,458.20이 아직 방어되고 있어 bullish setup이 우세하다. 단, 활성 OB와 미충족 FVG가 없고 최근 liquidity sweep도 감지되지 않아 기관 주문흐름의 명확한 재진입 근거는 제한적이다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0,\n      70458.2\n    ],\n    \"resistance\": [\n      74293.1,\n      75998.9,\n      76643.45,\n      78077.1,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$70,458.20\",\n  \"risk_scenario\": \"만약 전일 저가 $72,436.00을 하방 이탈한 뒤 range low $70,458.20 아래에서 일봉 종가가 형성되면, 현재의 디스카운트 매수 setup은 실패로 간주된다. 이 경우 sell-side liquidity가 본격적으로 회수되며 구조는 bearish 또는 최소 neutral로 약화될 수 있고, $75,998.90 BOS 레벨은 저항으로 전환될 가능성이 높다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.67,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "가격 $73,492.40이 7일 레인지 EQ 약 $75,256.55 아래의 디스카운트 구간에 있으나, CVD 변화 -73.0620으로 매수 흡수가 확인되지 않음",
        "OI가 24시간 -2.0860% 감소해 신규 롱 유입보다 포지션 언와인딩 성격이 강함",
        "롱 계정 비율이 0.624로 여전히 높고 account_long_crowding=1.000이며, 롱 계정은 -0.0153 감소 / 숏 계정은 +0.015 상승해 롱 포지션 이탈이 진행 중",
        "현물-선물 basis가 -0.0430%로 음수이며, 파생시장 프리미엄 회복이 약함",
        "가장 강한 하방 청산 유동성이 $72,900에 있으며, 현재가 $73,492.40에서 매우 근접한 하방 유동성 자석으로 작용"
      ],
      "reasoning": "현재 BTC는 $73,492.40으로 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47을 모두 하회하고 있어 확인된 구조는 약세로 해석한다. 파생 지표도 aggregate_score 0.303, bull_signals 0개 / bear_signals 4개로 매도 우위이며, OI 24시간 -2.0860% 감소와 CVD -73.0620은 반등 참여가 약하다는 신호다. 롱 계정 비율은 0.624로 여전히 높아 롱 포지션이 혼잡한 반면, 숏 계정은 24시간 +0.015 증가해 단기적으로 하방 압력이 우세하다. 가장 가까운 핵심 유동성은 $72,900이며, 이탈 시 7일 저점 $72,436과 다음 하방 청산 구간 $69,300까지 열릴 수 있다.",
      "key_levels": {
        "support": [
          72900,
          72436,
          69300
        ],
        "resistance": [
          75100,
          75900,
          76600,
          76343.62,
          77397.3,
          78077.1
        ]
      },
      "time_horizon": "short term, 파생 포지셔닝 선행성을 감안한 4-8시간에서 1일 관점",
      "invalidation_level": "$76,600",
      "risk_scenario": "$72,900 하방 유동성을 스윕한 뒤 즉시 회복하고 $75,100-$76,600 상단 청산 구간을 돌파하면, 숏 포지션이 역으로 압박받으며 $76,343 EMA20 및 $77,397 EMA120 재테스트까지 숏 스퀴즈가 발생할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -73.062,
        "oi_trend": 0.291,
        "oi_change_pct_24h": -2.086,
        "oi_latest": 104364.064,
        "funding_pressure": 0.436,
        "funding_avg": 6.389e-05,
        "funding_change_24h": -6.536e-05,
        "long_account_ratio": 0.631,
        "short_account_ratio": 0.369,
        "long_account_latest": 0.624,
        "short_account_latest": 0.377,
        "long_account_change_24h": -0.0153,
        "short_account_change_24h": 0.0153,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.043,
        "basis_change_lookback": 0.0028,
        "aggregate_score": 0.303,
        "bull_signals": 0,
        "bear_signals": 4,
        "liq_below": [
          [
            72900,
            115467.38697279998
          ],
          [
            69300,
            84206.51830675
          ]
        ],
        "liq_above": [
          [
            75100,
            84893.5508717
          ],
          [
            75900,
            91643.19317294999
          ],
          [
            76600,
            84942.9664903
          ]
        ],
        "strongest_liq_level": 72900,
        "fragility_score": 0.508,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.67,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"가격 $73,492.40이 7일 레인지 EQ 약 $75,256.55 아래의 디스카운트 구간에 있으나, CVD 변화 -73.0620으로 매수 흡수가 확인되지 않음\",\n    \"OI가 24시간 -2.0860% 감소해 신규 롱 유입보다 포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율이 0.624로 여전히 높고 account_long_crowding=1.000이며, 롱 계정은 -0.0153 감소 / 숏 계정은 +0.015 상승해 롱 포지션 이탈이 진행 중\",\n    \"현물-선물 basis가 -0.0430%로 음수이며, 파생시장 프리미엄 회복이 약함\",\n    \"가장 강한 하방 청산 유동성이 $72,900에 있으며, 현재가 $73,492.40에서 매우 근접한 하방 유동성 자석으로 작용\"\n  ],\n  \"reasoning\": \"현재 BTC는 $73,492.40으로 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47을 모두 하회하고 있어 확인된 구조는 약세로 해석한다. 파생 지표도 aggregate_score 0.303, bull_signals 0개 / bear_signals 4개로 매도 우위이며, OI 24시간 -2.0860% 감소와 CVD -73.0620은 반등 참여가 약하다는 신호다. 롱 계정 비율은 0.624로 여전히 높아 롱 포지션이 혼잡한 반면, 숏 계정은 24시간 +0.015 증가해 단기적으로 하방 압력이 우세하다. 가장 가까운 핵심 유동성은 $72,900이며, 이탈 시 7일 저점 $72,436과 다음 하방 청산 구간 $69,300까지 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      72900,\n      72436,\n      69300\n    ],\n    \"resistance\": [\n      75100,\n      75900,\n      76600,\n      76343.62,\n      77397.3,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short term, 파생 포지셔닝 선행성을 감안한 4-8시간에서 1일 관점\",\n  \"invalidation_level\": \"$76,600\",\n  \"risk_scenario\": \"$72,900 하방 유동성을 스윕한 뒤 즉시 회복하고 $75,100-$76,600 상단 청산 구간을 돌파하면, 숏 포지션이 역으로 압박받으며 $76,343 EMA20 및 $77,397 EMA120 재테스트까지 숏 스퀴즈가 발생할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $73,492.40가 TERMINAL_SPRING $74,868.00 아래에 있어 Phase D 이후 LPS성 테스트가 아직 실패/미확정 상태",
        "현재가가 SOS $82,828.70를 크게 하회하여 SOS 이후 상단 수용이 확인되지 않음",
        "현재가가 메인 레인지 저점/SC $80,600.00 아래에 있어 단기적으로는 레인지 내부 회복보다 하단 유동성 재시험 압력이 우세",
        "EMA20 $76,343.62와 EMA120 $77,397.30 아래에서 거래되어 단기 반등보다 저항 확인 가능성이 높음",
        "7일 저점 $72,436.00 근처에 머물러 있어 해당 저점 이탈 시 Spring $65,595.70 재시험 경로가 열림"
      ],
      "reasoning": "계산된 Wyckoff 구조는 regime=ACC, regime_state=confirmed_acc, regime_fitness=0.925로 확인된 축적 구조이며, 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70입니다. 따라서 구조적 편향은 여전히 bullish이지만, 현재가 $73,492.40는 TERMINAL_SPRING $74,868.00 및 SOS $82,828.70 아래에 있어 Phase D 강세가 즉시 확장된 상태로 보기는 어렵습니다. 단기 실행 관점에서는 $74,868.00 회복 실패 시 $72,436.00 7일 저점과 Spring $65,595.70 재시험 위험이 우선입니다. 반대로 $74,868.00을 회복하고 $80,600.00 이상으로 재진입해야 축적 레인지 회복 신뢰도가 높아지며, $82,828.70 재돌파가 SOS 재확인 기준입니다.",
      "key_levels": {
        "support": [
          72436.0,
          65595.7
        ],
        "resistance": [
          74868.0,
          80600.0,
          82828.7,
          93080.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "구조적 축적 시나리오의 핵심 무효화는 Spring $65,595.70 하향 이탈입니다. 단기 약세 셋업은 $74,868.00 회복 시 1차 무효화되고, $80,600.00 이상 재진입 시 크게 약화됩니다.",
      "risk_scenario": "$74,868.00을 빠르게 회복하고 $80,600.00 메인 레인지 저점 위로 재진입하면 현재의 단기 약세 셋업은 실패한 하방 이탈로 바뀔 수 있습니다. 이후 $82,828.70 SOS 고점을 재돌파하면 Phase D의 강세 해석이 다시 강화되며, 상단 $93,080.00 AR/레인지 고점 테스트 가능성이 커집니다. 반대로 $72,436.00이 무너지면 시장은 Spring $65,595.70을 재시험하며, 해당 레벨 이탈 시 확인된 축적 구조 자체가 훼손됩니다.",
      "data_quality": "medium",
      "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": 109,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 116,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 136,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 199,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 268,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 275,
            "price": 82828.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1d_cycle_1",
            "sequence": 1,
            "timeframe": "1d",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 109,
            "end_idx": 275,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 109,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 116,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 136,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 199,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 268,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 275,
                "price": 82828.7,
                "color": "#06d6a0",
                "dt": "2026-05-06 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1d_cycle_1",
        "primary_structure_id": "1d_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80600.0,
        "main_range_high": 93080.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $73,492.40가 TERMINAL_SPRING $74,868.00 아래에 있어 Phase D 이후 LPS성 테스트가 아직 실패/미확정 상태\",\n    \"현재가가 SOS $82,828.70를 크게 하회하여 SOS 이후 상단 수용이 확인되지 않음\",\n    \"현재가가 메인 레인지 저점/SC $80,600.00 아래에 있어 단기적으로는 레인지 내부 회복보다 하단 유동성 재시험 압력이 우세\",\n    \"EMA20 $76,343.62와 EMA120 $77,397.30 아래에서 거래되어 단기 반등보다 저항 확인 가능성이 높음\",\n    \"7일 저점 $72,436.00 근처에 머물러 있어 해당 저점 이탈 시 Spring $65,595.70 재시험 경로가 열림\"\n  ],\n  \"reasoning\": \"계산된 Wyckoff 구조는 regime=ACC, regime_state=confirmed_acc, regime_fitness=0.925로 확인된 축적 구조이며, 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70입니다. 따라서 구조적 편향은 여전히 bullish이지만, 현재가 $73,492.40는 TERMINAL_SPRING $74,868.00 및 SOS $82,828.70 아래에 있어 Phase D 강세가 즉시 확장된 상태로 보기는 어렵습니다. 단기 실행 관점에서는 $74,868.00 회복 실패 시 $72,436.00 7일 저점과 Spring $65,595.70 재시험 위험이 우선입니다. 반대로 $74,868.00을 회복하고 $80,600.00 이상으로 재진입해야 축적 레인지 회복 신뢰도가 높아지며, $82,828.70 재돌파가 SOS 재확인 기준입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0,\n      65595.7\n    ],\n    \"resistance\": [\n      74868.0,\n      80600.0,\n      82828.7,\n      93080.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"구조적 축적 시나리오의 핵심 무효화는 Spring $65,595.70 하향 이탈입니다. 단기 약세 셋업은 $74,868.00 회복 시 1차 무효화되고, $80,600.00 이상 재진입 시 크게 약화됩니다.\",\n  \"risk_scenario\": \"$74,868.00을 빠르게 회복하고 $80,600.00 메인 레인지 저점 위로 재진입하면 현재의 단기 약세 셋업은 실패한 하방 이탈로 바뀔 수 있습니다. 이후 $82,828.70 SOS 고점을 재돌파하면 Phase D의 강세 해석이 다시 강화되며, 상단 $93,080.00 AR/레인지 고점 테스트 가능성이 커집니다. 반대로 $72,436.00이 무너지면 시장은 Spring $65,595.70을 재시험하며, 해당 레벨 이탈 시 확인된 축적 구조 자체가 훼손됩니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.38,
      "setup_signals": [
        "현재가 $73,492.40가 strict medium bullish Butterfly 활성 PRZ $72,028.16-$73,568.72 내부/상단에 위치하며, D 추정가 $72,798.44와 근접",
        "strict medium bullish Bat 활성 PRZ $72,805.73-$73,569.14도 현재가와 겹쳐 단기 반등 후보 구간 형성",
        "가장 가까운 PRZ는 Crab 기준 $73,540.20이며 현재가와 약 0.07% 거리로 즉각적인 반응 관찰 구간",
        "strict high bullish Gartley PRZ $74,555.09-$75,827.23는 3중 Fib confluence(ABCD, BC_EXT, XAD)를 갖지만 현재가 대비 +2.31% 위에 있어 아직 확인 전 반전 후보",
        "confirmed_reaction_prz_count가 0이고 validated_harmonic_tp_count도 0이므로, PRZ 반응 확인 전까지는 구조 전환 신호가 아닌 선행 셋업에 한정"
      ],
      "reasoning": "하모닉 관점에서는 현재가 $73,492.40가 bullish Butterfly PRZ $72,028.16-$73,568.72 및 bullish Bat PRZ $72,805.73-$73,569.14와 겹쳐 단기 반등 셋업은 존재한다. 다만 핵심 council PRZ는 strict high bullish Gartley $74,555.09-$75,827.23로, 현재가 대비 +2.31% 위에 있어 아직 PRZ 진입/거부 확인이 부족하며 harmonic_vote_state도 pre_confirmation_reversal_candidate에 머문다. completed/confirmed reaction으로 분류된 후보들도 일부 있으나 candidate-tier 비중이 높고, 전체 directional_score_total이 0.131에 불과해 방향성 우위가 강하지 않다. 또한 현재가는 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47 아래에 있어 상위 구조가 명확히 bullish로 확정되었다고 보기 어렵다. 따라서 구조 편향은 중립, 실행 셋업은 약한 bullish, 최종 신호는 확인 대기 성격의 neutral로 평가한다.",
      "key_levels": {
        "support": [
          73568.72,
          73569.14,
          72805.73,
          72798.44,
          72028.16,
          71442.07
        ],
        "resistance": [
          74555.09,
          75191.16,
          75827.23,
          76819.95,
          77826.21,
          79455.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$72,028.16",
      "risk_scenario": "반대로 $72,028.16 하단을 일봉 기준으로 이탈하고 재진입에 실패하면 현재의 bullish Butterfly/Bat PRZ 방어 논리가 약화되며, bearish Butterfly 후보의 하방 TP인 $68,741.91-$66,541.38 또는 completed bearish Butterfly TP 구간 $68,717.64-$66,305.73으로 하방 반응이 확장될 수 있다. 반면 $74,555.09-$75,827.23 Gartley PRZ를 회복·방어하고 15m/1h MSS 또는 CHoCH, CVD divergence/OI squeeze가 동반되면 bullish TP ladder $76,819.95, $77,826.21, $79,455.00가 유효한 반등 경로로 격상된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 261,
        "completed_patterns_found": 98,
        "forming_d_prz_found": 163,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 29,
        "timeframe": "1d",
        "prz_active_threshold_pct": 1.0,
        "prz_nearby_threshold_pct": 2.0,
        "prz_watch_threshold_pct": 4.0,
        "prz_max_width_pct": 1.8,
        "quality_counts": {
          "high": 3,
          "medium": 72,
          "low": 186
        },
        "prz_status_counts": {
          "active": 42,
          "nearby": 10,
          "watch": 35,
          "far": 174,
          "forming": 114
        },
        "high_confluence_prz_count": 21,
        "strict_patterns_found": 67,
        "candidate_patterns_found": 194,
        "active_patterns_at_prz": 42,
        "nearby_patterns": 10,
        "all_patterns": [
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "shark",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "shark",
          "crab",
          "gartley",
          "shark",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "gartley",
          "shark",
          "bat",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "gartley",
          "bat",
          "bat",
          "bat",
          "crab",
          "shark",
          "bat",
          "crab",
          "bat",
          "crab",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "shark",
          "gartley",
          "crab",
          "shark",
          "bat",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "shark",
          "gartley",
          "crab",
          "gartley",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "butterfly",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.933,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 73540.2,
        "price_to_prz": 0.07,
        "prz_range": [
          73460.78,
          73619.62
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75191.16,
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_width_pct": 1.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.31,
            "price_to_prz_pct_raw": 2.3115,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.5995
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.933,
            "ratio_score": 0.968,
            "prz_score": 0.959,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72798.44,
            "prz_range": [
              72028.16,
              73568.72
            ],
            "prz_width_pct": 2.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9443,
            "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": 72798.44,
              "a_price": 79455.0,
              "tp1_ad_382": 75341.25,
              "tp2_ad_618": 76912.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7928,
              "ABC": 0.6996
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 268,
            "b_order": 5,
            "c_price": 78077.1,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.905,
            "ratio_score": 0.969,
            "prz_score": 0.924,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72303.79,
            "prz_range": [
              71442.07,
              73165.52
            ],
            "prz_width_pct": 2.384,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.62,
            "price_to_prz_pct_raw": -1.6173,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72303.79,
              "a_price": 62979.5,
              "tp1_ad_382": 68741.91,
              "tp2_ad_618": 66541.38,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7926,
              "ABC": 0.5725
            },
            "x_price": 70938.5,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 62979.5,
            "a_idx": 208,
            "a_order": 3,
            "b_price": 69288.0,
            "b_idx": 240,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 0.994,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 70638.85,
            "prz_range": [
              69681.26,
              71596.44
            ],
            "prz_width_pct": 2.711,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.88,
            "price_to_prz_pct_raw": -3.8828,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 70638.85,
              "a_price": 64918.2,
              "tp1_ad_382": 68453.56,
              "tp2_ad_618": 67103.49,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6171,
              "ABC": 0.8266
            },
            "x_price": 71999.9,
            "x_idx": 233,
            "x_order": 5,
            "a_price": 64918.2,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 240,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.791,
            "ratio_score": 0.515,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72879.47,
            "prz_range": [
              72436.79,
              73322.15
            ],
            "prz_width_pct": 1.215,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.83,
            "price_to_prz_pct_raw": -0.834,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72879.47,
              "a_price": 62401.7,
              "tp1_ad_382": 68876.96,
              "tp2_ad_618": 66404.21,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.6688
            },
            "x_price": 70938.5,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 64918.2,
            "c_idx": 237,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.71,
            "ratio_score": 0.392,
            "prz_score": 0.986,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 71902.62,
            "prz_range": [
              71217.64,
              72587.59
            ],
            "prz_width_pct": 1.905,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.16,
            "price_to_prz_pct_raw": -2.1632,
            "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": 71902.62,
              "a_price": 82460.5,
              "tp1_ad_382": 75935.73,
              "tp2_ad_618": 78427.39,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7332,
              "ABC": 0.336
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 82460.5,
            "a_idx": 279,
            "a_order": 3,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.655,
            "ratio_score": 0.366,
            "prz_score": 0.983,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71999.9,
            "prz_range": [
              71921.47,
              73321.87
            ],
            "prz_width_pct": 1.928,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.18,
            "price_to_prz_pct_raw": -1.1848,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72621.67,
              "a_price": 62401.7,
              "tp1_ad_382": 68717.64,
              "tp2_ad_618": 66305.73,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.5831,
              "BCD": 1.4517,
              "XAD": 1.1243
            },
            "x_price": 70938.5,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 65569.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 233
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.628,
            "ratio_score": 0.383,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 74203.6,
            "prz_range": [
              74122.63,
              75813.61
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.01,
            "price_to_prz_pct_raw": 2.008,
            "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.738,
                "adverse_move_ratio_ad": 0.337,
                "bars_after_d": 7,
                "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": "gartley",
              "d_price": 74968.12,
              "a_price": 79455.0,
              "tp1_ad_382": 76682.11,
              "tp2_ad_618": 77741.01,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294,
              "BCD": 1.836,
              "XAD": 0.9076
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": 292
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75191.16,
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_width_pct": 1.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.31,
            "price_to_prz_pct_raw": 2.3115,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.5995
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75191.16,
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_width_pct": 1.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.31,
            "price_to_prz_pct_raw": 2.3115,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.5995
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.933,
            "ratio_score": 0.968,
            "prz_score": 0.959,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72798.44,
            "prz_range": [
              72028.16,
              73568.72
            ],
            "prz_width_pct": 2.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9443,
            "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": 72798.44,
              "a_price": 79455.0,
              "tp1_ad_382": 75341.25,
              "tp2_ad_618": 76912.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7928,
              "ABC": 0.6996
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 268,
            "b_order": 5,
            "c_price": 78077.1,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.905,
            "ratio_score": 0.969,
            "prz_score": 0.924,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72303.79,
            "prz_range": [
              71442.07,
              73165.52
            ],
            "prz_width_pct": 2.384,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.62,
            "price_to_prz_pct_raw": -1.6173,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72303.79,
              "a_price": 62979.5,
              "tp1_ad_382": 68741.91,
              "tp2_ad_618": 66541.38,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7926,
              "ABC": 0.5725
            },
            "x_price": 70938.5,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 62979.5,
            "a_idx": 208,
            "a_order": 3,
            "b_price": 69288.0,
            "b_idx": 240,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 0.994,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 70638.85,
            "prz_range": [
              69681.26,
              71596.44
            ],
            "prz_width_pct": 2.711,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.88,
            "price_to_prz_pct_raw": -3.8828,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 70638.85,
              "a_price": 64918.2,
              "tp1_ad_382": 68453.56,
              "tp2_ad_618": 67103.49,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6171,
              "ABC": 0.8266
            },
            "x_price": 71999.9,
            "x_idx": 233,
            "x_order": 5,
            "a_price": 64918.2,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 240,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.791,
            "ratio_score": 0.515,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72879.47,
            "prz_range": [
              72436.79,
              73322.15
            ],
            "prz_width_pct": 1.215,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.83,
            "price_to_prz_pct_raw": -0.834,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72879.47,
              "a_price": 62401.7,
              "tp1_ad_382": 68876.96,
              "tp2_ad_618": 66404.21,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.6688
            },
            "x_price": 70938.5,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 64918.2,
            "c_idx": 237,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.71,
            "ratio_score": 0.392,
            "prz_score": 0.986,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 71902.62,
            "prz_range": [
              71217.64,
              72587.59
            ],
            "prz_width_pct": 1.905,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.16,
            "price_to_prz_pct_raw": -2.1632,
            "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": 71902.62,
              "a_price": 82460.5,
              "tp1_ad_382": 75935.73,
              "tp2_ad_618": 78427.39,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7332,
              "ABC": 0.336
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 82460.5,
            "a_idx": 279,
            "a_order": 3,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.655,
            "ratio_score": 0.366,
            "prz_score": 0.983,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71999.9,
            "prz_range": [
              71921.47,
              73321.87
            ],
            "prz_width_pct": 1.928,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.18,
            "price_to_prz_pct_raw": -1.1848,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72621.67,
              "a_price": 62401.7,
              "tp1_ad_382": 68717.64,
              "tp2_ad_618": 66305.73,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.5831,
              "BCD": 1.4517,
              "XAD": 1.1243
            },
            "x_price": 70938.5,
            "x_idx": 195,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 65569.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 233
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.628,
            "ratio_score": 0.383,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 74203.6,
            "prz_range": [
              74122.63,
              75813.61
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.01,
            "price_to_prz_pct_raw": 2.008,
            "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.738,
                "adverse_move_ratio_ad": 0.337,
                "bars_after_d": 7,
                "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": "gartley",
              "d_price": 74968.12,
              "a_price": 79455.0,
              "tp1_ad_382": 76682.11,
              "tp2_ad_618": 77741.01,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294,
              "BCD": 1.836,
              "XAD": 0.9076
            },
            "x_price": 73669.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 287,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": 292
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 74874.67,
            "prz_range": [
              74356.58,
              75392.76
            ],
            "prz_width_pct": 1.384,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.88,
            "price_to_prz_pct_raw": 1.8808,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 74874.67,
              "a_price": 71999.9,
              "tp1_ad_382": 73776.51,
              "tp2_ad_618": 73098.06,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.446,
              "ABC": 1.1548
            },
            "x_price": 65569.2,
            "x_idx": 216,
            "x_order": 5,
            "a_price": 71999.9,
            "a_idx": 233,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 268,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.846,
            "ratio_score": 0.956,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 73187.44,
            "prz_range": [
              72805.73,
              73569.14
            ],
            "prz_width_pct": 1.043,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.415,
            "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": 73187.44,
              "a_price": 79455.0,
              "tp1_ad_382": 75581.65,
              "tp2_ad_618": 77060.79,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3774,
              "ABC": 0.6996
            },
            "x_price": 67300.0,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 268,
            "b_order": 5,
            "c_price": 78077.1,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.833,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 74933.88,
            "prz_range": [
              74654.77,
              75212.98
            ],
            "prz_width_pct": 0.745,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.96,
            "price_to_prz_pct_raw": 1.9614,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 74933.88,
              "a_price": 64918.2,
              "tp1_ad_382": 71107.89,
              "tp2_ad_618": 68744.19,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 0.8266
            },
            "x_price": 75998.9,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 240,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.814,
            "ratio_score": 0.94,
            "prz_score": 0.798,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 76349.56,
            "prz_range": [
              75066.09,
              77633.02
            ],
            "prz_width_pct": 3.362,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.89,
            "price_to_prz_pct_raw": 3.8877,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 76349.56,
              "a_price": 65569.2,
              "tp1_ad_382": 72231.46,
              "tp2_ad_618": 69687.3,
              "tp3_a_or_structure_liquidity": 65569.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4387,
              "ABC": 1.1781
            },
            "x_price": 74046.5,
            "x_idx": 212,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 216,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 240,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 259,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "prz_proximity": "nearby",
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 2.31,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $74,555.09-$75,827.23: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.881,
          "ratio_score": 0.862,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 75191.16,
          "prz_range": [
            74555.09,
            75827.23
          ],
          "prz_width_pct": 1.692,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 2.31,
          "price_to_prz_pct_raw": 2.3115,
          "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": 75191.16,
            "a_price": 79455.0,
            "tp1_ad_382": 76819.95,
            "tp2_ad_618": 77826.21,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5947,
            "ABC": 0.5995
          },
          "x_price": 73669.0,
          "x_idx": 259,
          "x_order": 3,
          "a_price": 79455.0,
          "a_idx": 266,
          "a_order": 5,
          "b_price": 76014.2,
          "b_idx": 287,
          "b_order": 3,
          "c_price": 78077.1,
          "c_idx": 295,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 75191.16,
          "a_price": 79455.0,
          "tp1_ad_382": 76819.95,
          "tp2_ad_618": 77826.21,
          "tp3_a_or_structure_liquidity": 79455.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 75191.16,
            "a_price": 79455.0,
            "tp1_ad_382": 76819.95,
            "tp2_ad_618": 77826.21,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.131,
          "bearish": 0
        },
        "directional_score_total": 0.131,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"현재가 $73,492.40가 strict medium bullish Butterfly 활성 PRZ $72,028.16-$73,568.72 내부/상단에 위치하며, D 추정가 $72,798.44와 근접\",\n    \"strict medium bullish Bat 활성 PRZ $72,805.73-$73,569.14도 현재가와 겹쳐 단기 반등 후보 구간 형성\",\n    \"가장 가까운 PRZ는 Crab 기준 $73,540.20이며 현재가와 약 0.07% 거리로 즉각적인 반응 관찰 구간\",\n    \"strict high bullish Gartley PRZ $74,555.09-$75,827.23는 3중 Fib confluence(ABCD, BC_EXT, XAD)를 갖지만 현재가 대비 +2.31% 위에 있어 아직 확인 전 반전 후보\",\n    \"confirmed_reaction_prz_count가 0이고 validated_harmonic_tp_count도 0이므로, PRZ 반응 확인 전까지는 구조 전환 신호가 아닌 선행 셋업에 한정\"\n  ],\n  \"reasoning\": \"하모닉 관점에서는 현재가 $73,492.40가 bullish Butterfly PRZ $72,028.16-$73,568.72 및 bullish Bat PRZ $72,805.73-$73,569.14와 겹쳐 단기 반등 셋업은 존재한다. 다만 핵심 council PRZ는 strict high bullish Gartley $74,555.09-$75,827.23로, 현재가 대비 +2.31% 위에 있어 아직 PRZ 진입/거부 확인이 부족하며 harmonic_vote_state도 pre_confirmation_reversal_candidate에 머문다. completed/confirmed reaction으로 분류된 후보들도 일부 있으나 candidate-tier 비중이 높고, 전체 directional_score_total이 0.131에 불과해 방향성 우위가 강하지 않다. 또한 현재가는 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47 아래에 있어 상위 구조가 명확히 bullish로 확정되었다고 보기 어렵다. 따라서 구조 편향은 중립, 실행 셋업은 약한 bullish, 최종 신호는 확인 대기 성격의 neutral로 평가한다.\",\n  \"key_levels\": {\n    \"support\": [\n      73568.72,\n      73569.14,\n      72805.73,\n      72798.44,\n      72028.16,\n      71442.07\n    ],\n    \"resistance\": [\n      74555.09,\n      75191.16,\n      75827.23,\n      76819.95,\n      77826.21,\n      79455.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$72,028.16\",\n  \"risk_scenario\": \"반대로 $72,028.16 하단을 일봉 기준으로 이탈하고 재진입에 실패하면 현재의 bullish Butterfly/Bat PRZ 방어 논리가 약화되며, bearish Butterfly 후보의 하방 TP인 $68,741.91-$66,541.38 또는 completed bearish Butterfly TP 구간 $68,717.64-$66,305.73으로 하방 반응이 확장될 수 있다. 반면 $74,555.09-$75,827.23 Gartley PRZ를 회복·방어하고 15m/1h MSS 또는 CHoCH, CVD divergence/OI squeeze가 동반되면 bullish TP ladder $76,819.95, $77,826.21, $79,455.00가 유효한 반등 경로로 격상된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "현재가 $73,492.40는 스윙 저점 $74,868 아래에 있어 기존 Low→High 피보나치 구조가 이탈된 상태",
        "현재가가 EQ/0.5 되돌림 $78,848.35 아래에 있어 할인 구간에 위치하지만, 아직 강한 반전 확인은 없음",
        "0.786 되돌림 $76,571.59가 가장 가까운 피보나치 저항이며 현재가 대비 +4.19% 위에 위치",
        "황금비 0.618 되돌림 $77,908.99가 주요 회복 확인선으로 작용",
        "계산된 피보나치 지지 레벨이 없고, 모든 주요 피보나치 후보가 현재가 위에 있어 반등 전까지 상방 저항 우위"
      ],
      "reasoning": "현재 BTC/USDT는 Low $74,868 → High $82,829 상승 스윙의 0.786 되돌림 $76,571.59마저 하회했고, 현재가 $73,492.40는 스윙 저점 $74,868 아래에 있어 구조적으로는 bearish로 해석된다. 핵심 회복 레벨은 0.786 $76,571.59, 0.618 황금비 $77,908.99, 0.5 $78,848.35이며, 이 구간을 회복하지 못하면 피보나치 관점에서는 반등보다 저항 재확인이 우세하다. 다만 현재가는 EQ $78,848.35 아래의 할인 구간에 있어 단기 반등 셋업 가능성은 존재하지만, 계산된 support_levels가 비어 있고 fib_reaction_state도 distant, reaction_probability도 0.25로 낮아 강한 bullish setup으로 보기는 어렵다. 상방으로는 $85,081.03 부근에 ext_1.272와 ret_0.382가 겹치는 confluence zone이 있으나, 현재가와의 괴리가 커서 우선순위는 $76,571.59~$77,908.99 회복 여부다.",
      "key_levels": {
        "support": [
          72436.0
        ],
        "resistance": [
          76571.59,
          77908.99,
          78848.35,
          79787.71,
          85081.03
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$77,908.99 이상 회복 및 유지",
      "risk_scenario": "반대 시나리오로 가격이 $76,571.59를 회복한 뒤 황금비 $77,908.99 위에서 안착하면, 현재의 bearish 구조 해석은 약화되고 $78,848.35, $79,787.71까지 숏커버성 반등이 열릴 수 있다. 특히 $79,787.71 위로 수용되면 다음 확장 목표는 $82,828.70 및 confluence zone $85,081.03 부근으로 확대된다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $74,868 → $82,829",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 76571.59,
        "nearest_fib_distance": 4.19,
        "golden_ratio_level": 77908.99,
        "fib_ret_382": 79787.71,
        "fib_ret_618": 77908.99,
        "confluence_zones": [
          {
            "price": 85081.03,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          76571.5898,
          77908.9874,
          78848.35
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 80949.97,
            "distance_pct": 10.15,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 79787.71,
            "distance_pct": 8.57,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 78848.35,
            "distance_pct": 7.29,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77908.99,
            "distance_pct": 6.01,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 76571.59,
            "distance_pct": 4.19,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 82828.7,
            "distance_pct": 12.7,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 84994.01,
            "distance_pct": 15.65,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 86124.43,
            "distance_pct": 17.19,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 87748.41,
            "distance_pct": 19.4,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 90789.4,
            "distance_pct": 23.54,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "distant",
        "reaction_probability": 0.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"현재가 $73,492.40는 스윙 저점 $74,868 아래에 있어 기존 Low→High 피보나치 구조가 이탈된 상태\",\n    \"현재가가 EQ/0.5 되돌림 $78,848.35 아래에 있어 할인 구간에 위치하지만, 아직 강한 반전 확인은 없음\",\n    \"0.786 되돌림 $76,571.59가 가장 가까운 피보나치 저항이며 현재가 대비 +4.19% 위에 위치\",\n    \"황금비 0.618 되돌림 $77,908.99가 주요 회복 확인선으로 작용\",\n    \"계산된 피보나치 지지 레벨이 없고, 모든 주요 피보나치 후보가 현재가 위에 있어 반등 전까지 상방 저항 우위\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 Low $74,868 → High $82,829 상승 스윙의 0.786 되돌림 $76,571.59마저 하회했고, 현재가 $73,492.40는 스윙 저점 $74,868 아래에 있어 구조적으로는 bearish로 해석된다. 핵심 회복 레벨은 0.786 $76,571.59, 0.618 황금비 $77,908.99, 0.5 $78,848.35이며, 이 구간을 회복하지 못하면 피보나치 관점에서는 반등보다 저항 재확인이 우세하다. 다만 현재가는 EQ $78,848.35 아래의 할인 구간에 있어 단기 반등 셋업 가능성은 존재하지만, 계산된 support_levels가 비어 있고 fib_reaction_state도 distant, reaction_probability도 0.25로 낮아 강한 bullish setup으로 보기는 어렵다. 상방으로는 $85,081.03 부근에 ext_1.272와 ret_0.382가 겹치는 confluence zone이 있으나, 현재가와의 괴리가 커서 우선순위는 $76,571.59~$77,908.99 회복 여부다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0\n    ],\n    \"resistance\": [\n      76571.59,\n      77908.99,\n      78848.35,\n      79787.71,\n      85081.03\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$77,908.99 이상 회복 및 유지\",\n  \"risk_scenario\": \"반대 시나리오로 가격이 $76,571.59를 회복한 뒤 황금비 $77,908.99 위에서 안착하면, 현재의 bearish 구조 해석은 약화되고 $78,848.35, $79,787.71까지 숏커버성 반등이 열릴 수 있다. 특히 $79,787.71 위로 수용되면 다음 확장 목표는 $82,828.70 및 confluence zone $85,081.03 부근으로 확대된다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "neutral",
    "overall_confidence": 0.55,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.69,
      "active_setups": [
        "가격 $73,492.40이 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47 아래에 있어 단기 추세 회복 실패 상태",
        "7일 저점 $72,436.00 및 파생 핵심 하방 유동성 $72,900이 근접해 있어 하단 재시험 압력이 존재",
        "TERMINAL_SPRING $74,868.00 아래에 머물러 Wyckoff Phase D 이후 LPS성 회복이 미확정",
        "OI 24시간 -2.0860%, CVD -73.0620으로 하락 구간에서 신규 매수 흡수보다 포지션 축소 성격이 우세",
        "롱 계정 비율 0.624로 롱 쏠림이 남아 있고, 롱 계정 감소·숏 계정 증가 흐름이 동반",
        "하모닉상 $72,028.16-$73,568.72 및 $72,805.73-$73,569.14에 단기 bullish PRZ가 겹치지만, 아직 확인 반응은 부족"
      ],
      "setup_vs_structure": "상위 구조는 Wyckoff 축적 해석과 ICT의 최근 상방 BOS 때문에 완전히 bearish로 단정하기 어렵지만, 실행 셋업은 3명 이상의 분석가가 $74,868-$77,397 회복 실패와 파생 약세를 근거로 bearish에 수렴한다. 즉 구조는 중립적 재평가 구간이나, 즉시 운용 경로는 하단 유동성 테스트 리스크가 더 크게 반영된다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        72900,
        72436,
        72028.16,
        71602.59,
        70458.2,
        69300,
        65595.7
      ],
      "resistance": [
        74868,
        75100,
        75998.9,
        76343.62,
        76571.59,
        76643.45,
        77397.3,
        77908.99,
        78077.1,
        80600,
        82828.7
      ]
    },
    "confluences": [
      "Candlestick, Derivatives, Fibonacci가 모두 현재가 $73,492.40이 EMA20 $76,343.62 및 EMA120 $77,397.30 아래에 있어 구조적 회복이 미완료라고 판단한다.",
      "Candlestick와 Derivatives, ICT, Fibonacci가 $72,436.00을 공통 핵심 하방 기준으로 제시한다.",
      "Wyckoff의 TERMINAL_SPRING $74,868.00과 Harmonic의 bullish Gartley PRZ $74,555.09-$75,827.23, Derivatives의 상방 유동성 $75,100-$75,900이 겹쳐 $74,555-$75,998 구간이 중요한 회복·거부 판단대다.",
      "ICT의 최근 bullish BOS $75,998.90, EMA20 $76,343.62, Fibonacci 0.786 $76,571.59, ICT EQ $76,643.45가 $75,999-$76,643에 밀집해 있어 중기 구조 회복의 1차 관문을 형성한다.",
      "Wyckoff SOS $82,828.70과 ICT range high $82,828.70이 정확히 일치해, $82,828.70은 축적 구조의 상단 수용 여부를 판단하는 핵심 레벨이다.",
      "Harmonic은 현재가가 bullish Butterfly PRZ $72,028.16-$73,568.72 및 bullish Bat PRZ $72,805.73-$73,569.14에 위치한다고 보며, 이는 $72,436-$73,569 하단 구간의 반응 관찰 근거를 제공한다."
    ],
    "conflicts": [
      "Wyckoff는 큰 구조를 확인된 축적 구조로 보지만, Candlestick·Derivatives·Fibonacci는 현재가가 EMA와 주요 피보나치 스윙 저점 $74,868 아래에 있어 현재 구조를 bearish로 본다.",
      "ICT는 마지막 구조 이벤트를 $75,998.90 상방 BOS로 해석해 구조 편향을 bullish로 두지만, 현재 가격이 그 BOS 레벨 아래로 재진입해 신호의 즉시성은 약화되어 있다.",
      "Harmonic은 $72,028.16-$73,568.72 및 $72,805.73-$73,569.14에서 반등 후보 PRZ를 제시하지만, 이 신호는 사전 확인 단계이며 파생의 CVD 약세와 OI 감소 흐름과 충돌한다.",
      "Wyckoff의 축적 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 구성되지만, 현재가는 SC 및 TERMINAL_SPRING 아래에 있어 Phase D 강세 확장의 품질이 훼손된 상태다."
    ],
    "executive_summary": "BTC 1일 구조는 Wyckoff 기준으로는 확인된 축적 구조의 Phase D 이후 구간에 있으나, 현재가 $73,492.40이 TERMINAL_SPRING $74,868.00, SC $80,600.00, SOS $82,828.70 아래에 있어 Phase D 강세 수용은 아직 실패/미확정 상태다. ICT의 마지막 구조 이벤트는 $75,998.90 상방 BOS로 bullish 요소를 남기지만, 가격이 해당 레벨 아래로 재진입했고 EMA20 $76,343.62 및 Fibonacci 0.786 $76,571.59 아래에 있어 현재 구조 평가는 중립으로 낮춘다. 실행 셋업은 Candlestick, Derivatives, Wyckoff가 모두 단기 bearish 조건을 제시하며, 특히 $72,900-$72,436 하단 유동성대와 $74,868-$76,643 회복 실패가 핵심 구조 조건이다. 하모닉 PRZ는 $72,028.16-$73,568.72에서 반응 가능성을 제시하지만, 아직 확인 반응이 없어 구조 판단을 뒤집을 권한은 제한적이다. 상위 축적 논리의 핵심 방어선은 Spring $65,595.70이며, 구조 신뢰 회복은 $74,868.00 및 $82,828.70 재수용 여부에 달려 있다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"neutral\",\n  \"overall_confidence\": 0.55,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.69,\n    \"active_setups\": [\n      \"가격 $73,492.40이 EMA20 $76,343.62, EMA120 $77,397.30, EMA240 $84,085.47 아래에 있어 단기 추세 회복 실패 상태\",\n      \"7일 저점 $72,436.00 및 파생 핵심 하방 유동성 $72,900이 근접해 있어 하단 재시험 압력이 존재\",\n      \"TERMINAL_SPRING $74,868.00 아래에 머물러 Wyckoff Phase D 이후 LPS성 회복이 미확정\",\n      \"OI 24시간 -2.0860%, CVD -73.0620으로 하락 구간에서 신규 매수 흡수보다 포지션 축소 성격이 우세\",\n      \"롱 계정 비율 0.624로 롱 쏠림이 남아 있고, 롱 계정 감소·숏 계정 증가 흐름이 동반\",\n      \"하모닉상 $72,028.16-$73,568.72 및 $72,805.73-$73,569.14에 단기 bullish PRZ가 겹치지만, 아직 확인 반응은 부족\"\n    ],\n    \"setup_vs_structure\": \"상위 구조는 Wyckoff 축적 해석과 ICT의 최근 상방 BOS 때문에 완전히 bearish로 단정하기 어렵지만, 실행 셋업은 3명 이상의 분석가가 $74,868-$77,397 회복 실패와 파생 약세를 근거로 bearish에 수렴한다. 즉 구조는 중립적 재평가 구간이나, 즉시 운용 경로는 하단 유동성 테스트 리스크가 더 크게 반영된다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      72900,\n      72436,\n      72028.16,\n      71602.59,\n      70458.2,\n      69300,\n      65595.7\n    ],\n    \"resistance\": [\n      74868,\n      75100,\n      75998.9,\n      76343.62,\n      76571.59,\n      76643.45,\n      77397.3,\n      77908.99,\n      78077.1,\n      80600,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick, Derivatives, Fibonacci가 모두 현재가 $73,492.40이 EMA20 $76,343.62 및 EMA120 $77,397.30 아래에 있어 구조적 회복이 미완료라고 판단한다.\",\n    \"Candlestick와 Derivatives, ICT, Fibonacci가 $72,436.00을 공통 핵심 하방 기준으로 제시한다.\",\n    \"Wyckoff의 TERMINAL_SPRING $74,868.00과 Harmonic의 bullish Gartley PRZ $74,555.09-$75,827.23, Derivatives의 상방 유동성 $75,100-$75,900이 겹쳐 $74,555-$75,998 구간이 중요한 회복·거부 판단대다.\",\n    \"ICT의 최근 bullish BOS $75,998.90, EMA20 $76,343.62, Fibonacci 0.786 $76,571.59, ICT EQ $76,643.45가 $75,999-$76,643에 밀집해 있어 중기 구조 회복의 1차 관문을 형성한다.\",\n    \"Wyckoff SOS $82,828.70과 ICT range high $82,828.70이 정확히 일치해, $82,828.70은 축적 구조의 상단 수용 여부를 판단하는 핵심 레벨이다.\",\n    \"Harmonic은 현재가가 bullish Butterfly PRZ $72,028.16-$73,568.72 및 bullish Bat PRZ $72,805.73-$73,569.14에 위치한다고 보며, 이는 $72,436-$73,569 하단 구간의 반응 관찰 근거를 제공한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 큰 구조를 확인된 축적 구조로 보지만, Candlestick·Derivatives·Fibonacci는 현재가가 EMA와 주요 피보나치 스윙 저점 $74,868 아래에 있어 현재 구조를 bearish로 본다.\",\n    \"ICT는 마지막 구조 이벤트를 $75,998.90 상방 BOS로 해석해 구조 편향을 bullish로 두지만, 현재 가격이 그 BOS 레벨 아래로 재진입해 신호의 즉시성은 약화되어 있다.\",\n    \"Harmonic은 $72,028.16-$73,568.72 및 $72,805.73-$73,569.14에서 반등 후보 PRZ를 제시하지만, 이 신호는 사전 확인 단계이며 파생의 CVD 약세와 OI 감소 흐름과 충돌한다.\",\n    \"Wyckoff의 축적 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 구성되지만, 현재가는 SC 및 TERMINAL_SPRING 아래에 있어 Phase D 강세 확장의 품질이 훼손된 상태다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 축적 구조 적합도가 가장 높고, SC $80,600.00, Spring $65,595.70, TERMINAL_SPRING $74,868.00, SOS $82,828.70로 이어지는 구체적 단계 체인을 제시해 상위 구조 진단의 기준점으로 가장 유용하다. 다만 실행 셋업 측면에서는 Derivatives Trader의 OI 감소, CVD 약세, 롱 계정 쏠림 근거가 단기 약세 리스크를 가장 강하게 뒷받침한다.\",\n  \"invalidation_level\": \"축적 구조를 유지한다는 상위 논리는 Spring 저점 $65,595.70 하향 이탈 시 구조적으로 훼손된다. 반대로 중립적 구조 의심이 해소되려면 최소 $74,868.00 회복, 더 강하게는 SOS $82,828.70 재수용이 필요하다.\",\n  \"executive_summary\": \"BTC 1일 구조는 Wyckoff 기준으로는 확인된 축적 구조의 Phase D 이후 구간에 있으나, 현재가 $73,492.40이 TERMINAL_SPRING $74,868.00, SC $80,600.00, SOS $82,828.70 아래에 있어 Phase D 강세 수용은 아직 실패/미확정 상태다. ICT의 마지막 구조 이벤트는 $75,998.90 상방 BOS로 bullish 요소를 남기지만, 가격이 해당 레벨 아래로 재진입했고 EMA20 $76,343.62 및 Fibonacci 0.786 $76,571.59 아래에 있어 현재 구조 평가는 중립으로 낮춘다. 실행 셋업은 Candlestick, Derivatives, Wyckoff가 모두 단기 bearish 조건을 제시하며, 특히 $72,900-$72,436 하단 유동성대와 $74,868-$76,643 회복 실패가 핵심 구조 조건이다. 하모닉 PRZ는 $72,028.16-$73,568.72에서 반응 가능성을 제시하지만, 아직 확인 반응이 없어 구조 판단을 뒤집을 권한은 제한적이다. 상위 축적 논리의 핵심 방어선은 Spring $65,595.70이며, 구조 신뢰 회복은 $74,868.00 및 $82,828.70 재수용 여부에 달려 있다.\"\n}"
  },
  "overall_signal": "neutral",
  "overall_confidence": 0.55,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.57,
    "waypoints": [
      {
        "seq": 1,
        "price": 72028.16,
        "type": "liquidity_sweep",
        "source": "Derivatives($72,900 핵심 유동성, $72,436), Candlestick·ICT·Wyckoff·Fibonacci($72,436 7일 저점), Harmonic(Butterfly PRZ 하단 $72,028.16)",
        "description": "실행 셋업이 bearish(69%)로 중립 구조와 충돌하므로 첫 경로는 하방. 롱 쏠림(long ratio 0.624, crowding 1.000)·OI 24h -2.09%·CVD -73.06으로 매수 흡수가 부재한 상태에서 파생 핵심 유동성 $72,900 이탈 후, 5개 분석가가 공통 하방 기준으로 제시한 7일 저점 $72,436 하단의 스톱을 스윕하며 하모닉 Butterfly PRZ 하단 $72,028.16까지 유동성 청산. EMA20 $76,343.62 하회에 따른 단기 추세 회복 실패와 일치.",
        "est_hours": 6,
        "turning_zone": [
          71602.59,
          72028.16
        ],
        "likely_wick": 71980.0,
        "rejection_confirm": 72436.0,
        "invalid_overshoot": 71450.0,
        "calibration_reasoning": "하방 유동성 스윕으로 $72,436(7일 저점) 스톱을 쓸고 하모닉 Butterfly PRZ 하단인 base $72,028까지 청산; 존 하단은 다음 챔피언 지지 $71,602.59(액 0.23×ATR, 구조적으로 타이트하게 한정), likely_wick은 $72,000 라운드 넘버를 살짝 하회하는 자석 지점. $72,436 회복 시 스윕 종료 확인, $71,602.59 이탈 시 실제 붕괴로 무효."
      },
      {
        "seq": 2,
        "price": 74293.1,
        "type": "resistance_test",
        "source": "ICT($74,293.10 저항), Harmonic(Butterfly $72,028-73,569·Bat $72,806-73,569 PRZ 반응), Wyckoff(TERMINAL_SPRING $74,868 하단)",
        "description": "스윕 저점에서 하모닉 bullish Butterfly·Bat PRZ 반응과 상위 Wyckoff 축적 방어선($65,595 Spring) 기반의 corrective 반등. 다만 CVD 약세·매수 흡수 부재로 반등 동력이 제한되어 ICT 저항 $74,293.10에서 1차 정체하고, Wyckoff TERMINAL_SPRING $74,868 및 EMA20 $76,343.62 아래에서 실패해 구조 회복은 미확정으로 유지(구조 강세 신호 ↔ 셋업 약세의 절충 지점).",
        "est_hours": 16,
        "turning_zone": [
          74293.1,
          74868.0
        ],
        "likely_wick": 74600.0,
        "rejection_confirm": 73800.0,
        "invalid_overshoot": 75100.0,
        "calibration_reasoning": "상방 저항 테스트로 ICT 저항 $74,293 1차 정체 후 Fib 스윙저점·챔피언·Wyckoff TERMINAL_SPRING 3중 합류인 $74,868 아래에서 실패(존 폭 0.30×ATR); gartley PRZ $75,191은 PRE_CONFIRMATION이라 존을 옮기지 않고 무효 영역 참조로만 사용. CVD 약세·매수 흡수 부재로 likely_wick은 $74,868 미달인 $74,600, $73,800 하회 시 거부 확인, $75,100 돌파 시 무효."
      },
      {
        "seq": 3,
        "price": 72900,
        "type": "support_test",
        "source": "Derivatives($72,900 핵심 하방 유동성), Setup Layer(bearish 69% 재확인)",
        "description": "TERMINAL_SPRING $74,868 회복 실패가 확인되며 bearish 셋업이 재개. 파생 핵심 유동성 $72,900 재시험으로 되밀리되 WP1 스윕 저점 $72,028 위에서 지지되며 레인지 하단을 재압박. 24시간 순방향은 약한 하락/중립 마감으로 셋업 우위를 반영.",
        "est_hours": 23,
        "turning_zone": [
          72028.16,
          72900.0
        ],
        "likely_wick": 72500.0,
        "rejection_confirm": 73000.0,
        "invalid_overshoot": 71900.0,
        "calibration_reasoning": "터미널 지지 테스트(와이드 존, 0.46×ATR — 명시적 사수선 $72,028이 하단을 제약). 파생 핵심 유동성 $72,900 재시험, 존 하단은 WP1 스윕 저점 $72,028; likely_wick은 7일 저점 $72,436 바로 위 $72,500 라운드 넘버로 레인지 하단 재압박을 반영하되 핵심 유동성은 사수. $73,000 회복 시 지지 확인, $72,028 이탈 시 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 73600,
        "expected_low": 72500,
        "high_first": true
      },
      "8h": {
        "expected_high": 73700,
        "expected_low": 72028.16,
        "high_first": false
      },
      "24h": {
        "expected_high": 74293.1,
        "expected_low": 72028.16,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 74868,
        "description": "Wyckoff TERMINAL_SPRING $74,868 회복·유지 시 1차 전환 신호, 이어 ICT BOS $75,998.90 및 EMA20 $76,343.62 재수용 시 강세 가속. 이 경우 하방 우위 경로의 무효화가 시작됨."
      },
      "bearish": {
        "price": 71602.59,
        "description": "하모닉 PRZ 하단 $72,028·7일 저점 $72,436을 종가 기준 이탈하고 Candlestick 지지 $71,602.59까지 하회 시 PRZ 반등 시나리오 소멸. ICT 레인지 저점 $70,458.20·파생 청산 구간 $69,300으로 하락 확대."
      }
    },
    "scenario_invalidation": 75998.9,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.57,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 72028.16,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives($72,900 핵심 유동성, $72,436), Candlestick·ICT·Wyckoff·Fibonacci($72,436 7일 저점), Harmonic(Butterfly PRZ 하단 $72,028.16)\",\n      \"description\": \"실행 셋업이 bearish(69%)로 중립 구조와 충돌하므로 첫 경로는 하방. 롱 쏠림(long ratio 0.624, crowding 1.000)·OI 24h -2.09%·CVD -73.06으로 매수 흡수가 부재한 상태에서 파생 핵심 유동성 $72,900 이탈 후, 5개 분석가가 공통 하방 기준으로 제시한 7일 저점 $72,436 하단의 스톱을 스윕하며 하모닉 Butterfly PRZ 하단 $72,028.16까지 유동성 청산. EMA20 $76,343.62 하회에 따른 단기 추세 회복 실패와 일치.\",\n      \"est_hours\": 6\n    },\n    {\n      \"seq\": 2,\n      \"price\": 74293.1,\n      \"type\": \"resistance_test\",\n      \"source\": \"ICT($74,293.10 저항), Harmonic(Butterfly $72,028-73,569·Bat $72,806-73,569 PRZ 반응), Wyckoff(TERMINAL_SPRING $74,868 하단)\",\n      \"description\": \"스윕 저점에서 하모닉 bullish Butterfly·Bat PRZ 반응과 상위 Wyckoff 축적 방어선($65,595 Spring) 기반의 corrective 반등. 다만 CVD 약세·매수 흡수 부재로 반등 동력이 제한되어 ICT 저항 $74,293.10에서 1차 정체하고, Wyckoff TERMINAL_SPRING $74,868 및 EMA20 $76,343.62 아래에서 실패해 구조 회복은 미확정으로 유지(구조 강세 신호 ↔ 셋업 약세의 절충 지점).\",\n      \"est_hours\": 16\n    },\n    {\n      \"seq\": 3,\n      \"price\": 72900,\n      \"type\": \"support_test\",\n      \"source\": \"Derivatives($72,900 핵심 하방 유동성), Setup Layer(bearish 69% 재확인)\",\n      \"description\": \"TERMINAL_SPRING $74,868 회복 실패가 확인되며 bearish 셋업이 재개. 파생 핵심 유동성 $72,900 재시험으로 되밀리되 WP1 스윕 저점 $72,028 위에서 지지되며 레인지 하단을 재압박. 24시간 순방향은 약한 하락/중립 마감으로 셋업 우위를 반영.\",\n      \"est_hours\": 23\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 73600, \"expected_low\": 72500, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 73700, \"expected_low\": 72028.16, \"high_first\": false},\n    \"24h\": {\"expected_high\": 74293.1, \"expected_low\": 72028.16, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 74868, \"description\": \"Wyckoff TERMINAL_SPRING $74,868 회복·유지 시 1차 전환 신호, 이어 ICT BOS $75,998.90 및 EMA20 $76,343.62 재수용 시 강세 가속. 이 경우 하방 우위 경로의 무효화가 시작됨.\"},\n    \"bearish\": {\"price\": 71602.59, \"description\": \"하모닉 PRZ 하단 $72,028·7일 저점 $72,436을 종가 기준 이탈하고 Candlestick 지지 $71,602.59까지 하회 시 PRZ 반등 시나리오 소멸. ICT 레인지 저점 $70,458.20·파생 청산 구간 $69,300으로 하락 확대.\"}\n  },\n  \"scenario_invalidation\": 75998.9\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 72028.16,
        "turning_zone": [
          71602.59,
          72028.16
        ],
        "likely_wick": 71980.0,
        "rejection_confirm": 72436.0,
        "invalid_overshoot": 71450.0,
        "calibration_reasoning": "하방 유동성 스윕으로 $72,436(7일 저점) 스톱을 쓸고 하모닉 Butterfly PRZ 하단인 base $72,028까지 청산; 존 하단은 다음 챔피언 지지 $71,602.59(액 0.23×ATR, 구조적으로 타이트하게 한정), likely_wick은 $72,000 라운드 넘버를 살짝 하회하는 자석 지점. $72,436 회복 시 스윕 종료 확인, $71,602.59 이탈 시 실제 붕괴로 무효."
      },
      {
        "seq": 2,
        "base_target": 74293.1,
        "turning_zone": [
          74293.1,
          74868.0
        ],
        "likely_wick": 74600.0,
        "rejection_confirm": 73800.0,
        "invalid_overshoot": 75100.0,
        "calibration_reasoning": "상방 저항 테스트로 ICT 저항 $74,293 1차 정체 후 Fib 스윙저점·챔피언·Wyckoff TERMINAL_SPRING 3중 합류인 $74,868 아래에서 실패(존 폭 0.30×ATR); gartley PRZ $75,191은 PRE_CONFIRMATION이라 존을 옮기지 않고 무효 영역 참조로만 사용. CVD 약세·매수 흡수 부재로 likely_wick은 $74,868 미달인 $74,600, $73,800 하회 시 거부 확인, $75,100 돌파 시 무효."
      },
      {
        "seq": 3,
        "base_target": 72900.0,
        "turning_zone": [
          72028.16,
          72900.0
        ],
        "likely_wick": 72500.0,
        "rejection_confirm": 73000.0,
        "invalid_overshoot": 71900.0,
        "calibration_reasoning": "터미널 지지 테스트(와이드 존, 0.46×ATR — 명시적 사수선 $72,028이 하단을 제약). 파생 핵심 유동성 $72,900 재시험, 존 하단은 WP1 스윕 저점 $72,028; likely_wick은 7일 저점 $72,436 바로 위 $72,500 라운드 넘버로 레인지 하단 재압박을 반영하되 핵심 유동성은 사수. $73,000 회복 시 지지 확인, $72,028 이탈 시 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 72028.16,\n      \"turning_zone\": [71602.59, 72028.16],\n      \"likely_wick\": 71980.0,\n      \"rejection_confirm\": 72436.0,\n      \"invalid_overshoot\": 71450.0,\n      \"calibration_reasoning\": \"하방 유동성 스윕으로 $72,436(7일 저점) 스톱을 쓸고 하모닉 Butterfly PRZ 하단인 base $72,028까지 청산; 존 하단은 다음 챔피언 지지 $71,602.59(액 0.23×ATR, 구조적으로 타이트하게 한정), likely_wick은 $72,000 라운드 넘버를 살짝 하회하는 자석 지점. $72,436 회복 시 스윕 종료 확인, $71,602.59 이탈 시 실제 붕괴로 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 74293.10,\n      \"turning_zone\": [74293.10, 74868.0],\n      \"likely_wick\": 74600.0,\n      \"rejection_confirm\": 73800.0,\n      \"invalid_overshoot\": 75100.0,\n      \"calibration_reasoning\": \"상방 저항 테스트로 ICT 저항 $74,293 1차 정체 후 Fib 스윙저점·챔피언·Wyckoff TERMINAL_SPRING 3중 합류인 $74,868 아래에서 실패(존 폭 0.30×ATR); gartley PRZ $75,191은 PRE_CONFIRMATION이라 존을 옮기지 않고 무효 영역 참조로만 사용. CVD 약세·매수 흡수 부재로 likely_wick은 $74,868 미달인 $74,600, $73,800 하회 시 거부 확인, $75,100 돌파 시 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 72900.0,\n      \"turning_zone\": [72028.16, 72900.0],\n      \"likely_wick\": 72500.0,\n      \"rejection_confirm\": 73000.0,\n      \"invalid_overshoot\": 71900.0,\n      \"calibration_reasoning\": \"터미널 지지 테스트(와이드 존, 0.46×ATR — 명시적 사수선 $72,028이 하단을 제약). 파생 핵심 유동성 $72,900 재시험, 존 하단은 WP1 스윕 저점 $72,028; likely_wick은 7일 저점 $72,436 바로 위 $72,500 라운드 넘버로 레인지 하단 재압박을 반영하되 핵심 유동성은 사수. $73,000 회복 시 지지 확인, $72,028 이탈 시 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 31.9,
      "chairman": 49.1,
      "operating_path": 373.2,
      "tp_calibrator": 299.2
    },
    "agents": {},
    "total_s": 753.4
  }
}