{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-07-07 09:00 KST",
  "last_price": 64023.6,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "고거래량 bullish_engulfing 감지: pattern_quality 0.695, strict tier, 최근 297번 캔들에서 매수 반전 시도",
        "현재가 $64,023.60이 EMA20 $62,832.32보다 +1.9%, EMA120 $62,386.25보다 +2.6% 위에 있어 단기 매수 우위",
        "7일 EQ $61,225.25 위의 프리미엄 구간에 위치해 있으나, 아직 EMA240 $64,675.67 및 7일 고점 $64,691.90 저항 돌파 수용은 미확인",
        "최근 5개 4시간봉 흐름이 ▼-0.3% | ▼-1.0% 이후 ▲+1.7% | ▲+0.3% | ▲+0.5%로 반등 연속성이 나타남"
      ],
      "reasoning": "최근 패턴 중 가장 신뢰도 높은 신호는 고거래량 bullish_engulfing이며 quality 0.695로 strict 조건을 충족했고, bull_score 1.45가 bear_score 0.75보다 우세합니다. 현재가 $64,023.60은 EMA20 $62,832.32와 EMA120 $62,386.25 위에 있어 단기 반등 구조는 유지되지만, EMA240 $64,675.67 및 7일 고점 $64,691.90 바로 아래에 있어 확정적인 bullish structure로 보기는 어렵습니다. 따라서 구조상으로는 아직 중립이며, 캔들 기반 실행 셋업은 상승 쪽이지만 프리미엄 구간과 상단 저항 근접 때문에 추격 매수 신뢰도는 제한됩니다. $64,691.90 위에서 4시간봉 종가 수용이 나오면 상승 지속 신호가 강화되고, 반대로 $62,386.25 아래로 밀리면 bullish engulfing 기반 반등 해석은 약화됩니다.",
      "key_levels": {
        "support": [
          62832.32,
          62386.25,
          61225.25,
          57758.6
        ],
        "resistance": [
          64675.67,
          64691.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,386.25",
      "risk_scenario": "반대 시나리오는 $64,675.67~$64,691.90 저항에서 재차 거절되는 경우입니다. 이 구간에서 윗꼬리 또는 bearish_engulfing이 재출현하고 가격이 EMA20 $62,832.32 아래로 내려가면, 현재의 bullish_engulfing 반등은 단기 유동성 흡수 후 하락 재개로 해석될 수 있으며 $61,225.25 EQ까지 조정 위험이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 143,
        "recent_patterns": 3,
        "pattern_list": [
          "bearish_engulfing@290",
          "bullish_engulfing@297",
          "bullish_harami@291"
        ],
        "atr_value": 814.82,
        "vol_avg_20": 23131.94,
        "high_volume_patterns": [
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.695,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.512,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.504,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.695,
        "bull_score": 1.45,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"고거래량 bullish_engulfing 감지: pattern_quality 0.695, strict tier, 최근 297번 캔들에서 매수 반전 시도\",\n    \"현재가 $64,023.60이 EMA20 $62,832.32보다 +1.9%, EMA120 $62,386.25보다 +2.6% 위에 있어 단기 매수 우위\",\n    \"7일 EQ $61,225.25 위의 프리미엄 구간에 위치해 있으나, 아직 EMA240 $64,675.67 및 7일 고점 $64,691.90 저항 돌파 수용은 미확인\",\n    \"최근 5개 4시간봉 흐름이 ▼-0.3% | ▼-1.0% 이후 ▲+1.7% | ▲+0.3% | ▲+0.5%로 반등 연속성이 나타남\"\n  ],\n  \"reasoning\": \"최근 패턴 중 가장 신뢰도 높은 신호는 고거래량 bullish_engulfing이며 quality 0.695로 strict 조건을 충족했고, bull_score 1.45가 bear_score 0.75보다 우세합니다. 현재가 $64,023.60은 EMA20 $62,832.32와 EMA120 $62,386.25 위에 있어 단기 반등 구조는 유지되지만, EMA240 $64,675.67 및 7일 고점 $64,691.90 바로 아래에 있어 확정적인 bullish structure로 보기는 어렵습니다. 따라서 구조상으로는 아직 중립이며, 캔들 기반 실행 셋업은 상승 쪽이지만 프리미엄 구간과 상단 저항 근접 때문에 추격 매수 신뢰도는 제한됩니다. $64,691.90 위에서 4시간봉 종가 수용이 나오면 상승 지속 신호가 강화되고, 반대로 $62,386.25 아래로 밀리면 bullish engulfing 기반 반등 해석은 약화됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62832.32,\n      62386.25,\n      61225.25,\n      57758.6\n    ],\n    \"resistance\": [\n      64675.67,\n      64691.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,386.25\",\n  \"risk_scenario\": \"반대 시나리오는 $64,675.67~$64,691.90 저항에서 재차 거절되는 경우입니다. 이 구간에서 윗꼬리 또는 bearish_engulfing이 재출현하고 가격이 EMA20 $62,832.32 아래로 내려가면, 현재의 bullish_engulfing 반등은 단기 유동성 흡수 후 하락 재개로 해석될 수 있으며 $61,225.25 EQ까지 조정 위험이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "가격 $64,023.60이 EMA20 $62,832.32와 EMA120 $62,386.25 위에 있지만 EMA240 $64,675.67 및 7일 고점 $64,691.90 아래에서 저항권에 진입",
        "상단 근접 청산 유동성 $64,200이 바로 위에 있고, 더 큰 청산 자석은 $66,100으로 숏 스퀴즈 가능 구간이나 현재는 아직 명확한 상방 수용 없음",
        "24시간 가격은 +0.64% 상승했지만 CVD 변화가 -20.0620으로 매수 체결 참여가 약해 상승 품질이 낮음",
        "OI가 24시간 -0.7240% 감소하여 신규 추세 포지션 유입보다 포지션 언와인딩 성격이 강함",
        "롱 계정 비율이 0.569로 여전히 높고 account_long_crowding 0.788로 롱 포지셔닝이 혼잡한 반면, 최근 24시간 롱 계정은 -0.0248 감소하고 숏 계정은 +0.025 증가"
      ],
      "reasoning": "현재 구조는 $57,758.60 저점 이후 반등은 확인됐지만, EMA240 $64,675.67과 7일 고점 $64,691.90 위로 명확히 안착하지 못해 확정적 bullish BOS로 보기는 어렵다. 반면 셋업 관점에서는 가격이 $64,000대 프리미엄 저항권에 접근한 상태에서 CVD가 -20.0620으로 악화되고 OI도 24시간 -0.7240% 감소해 상승 참여가 약하다. 롱 계정 비율은 0.569로 여전히 높고 account_long_crowding 0.788이므로, $64,200 상단 유동성만 태우고 $62,832 EMA20 또는 $62,400/$62,300 하단 청산 구간으로 되돌릴 위험이 크다. 파생 데이터가 4~8시간 선행한다는 점을 감안하면 단기적으로는 구조 확정 전 bearish setup이 우세하다.",
      "key_levels": {
        "support": [
          62832.32,
          62386.25,
          62400,
          62300,
          61000,
          57758.6
        ],
        "resistance": [
          64200,
          64675.67,
          64691.9,
          66100,
          69900
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "64691.90",
      "risk_scenario": "$64,691.90 위로 4시간봉 종가가 안착하면 현재 bearish setup은 무효화되며, $64,200 상단 유동성 흡수 후 가장 강한 청산 레벨인 $66,100까지 숏 스퀴즈가 전개될 수 있다. $66,100까지 돌파되면 다음 상단 유동성은 $69,900으로 열리며, CVD와 OI가 동시에 회복될 경우 구조_bias도 bullish로 전환될 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -20.062,
        "oi_trend": 0.428,
        "oi_change_pct_24h": -0.724,
        "oi_latest": 104037.194,
        "funding_pressure": 0.421,
        "funding_avg": 7.94e-05,
        "funding_change_24h": 2.3e-05,
        "long_account_ratio": 0.595,
        "short_account_ratio": 0.405,
        "long_account_latest": 0.569,
        "short_account_latest": 0.431,
        "long_account_change_24h": -0.0248,
        "short_account_change_24h": 0.0248,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.788,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.493,
        "spot_futures_basis_pct": -0.0288,
        "basis_change_lookback": 0.0142,
        "aggregate_score": 0.298,
        "bull_signals": 0,
        "bear_signals": 4,
        "liq_below": [
          [
            62400,
            22009.268343600004
          ],
          [
            62300,
            26416.995449199996
          ],
          [
            61000,
            32162.4097932
          ]
        ],
        "liq_above": [
          [
            64200,
            25997.4350329
          ],
          [
            66100,
            36262.103724
          ],
          [
            69900,
            25640.99358
          ]
        ],
        "strongest_liq_level": 66100,
        "fragility_score": 0.495,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"가격 $64,023.60이 EMA20 $62,832.32와 EMA120 $62,386.25 위에 있지만 EMA240 $64,675.67 및 7일 고점 $64,691.90 아래에서 저항권에 진입\",\n    \"상단 근접 청산 유동성 $64,200이 바로 위에 있고, 더 큰 청산 자석은 $66,100으로 숏 스퀴즈 가능 구간이나 현재는 아직 명확한 상방 수용 없음\",\n    \"24시간 가격은 +0.64% 상승했지만 CVD 변화가 -20.0620으로 매수 체결 참여가 약해 상승 품질이 낮음\",\n    \"OI가 24시간 -0.7240% 감소하여 신규 추세 포지션 유입보다 포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율이 0.569로 여전히 높고 account_long_crowding 0.788로 롱 포지셔닝이 혼잡한 반면, 최근 24시간 롱 계정은 -0.0248 감소하고 숏 계정은 +0.025 증가\"\n  ],\n  \"reasoning\": \"현재 구조는 $57,758.60 저점 이후 반등은 확인됐지만, EMA240 $64,675.67과 7일 고점 $64,691.90 위로 명확히 안착하지 못해 확정적 bullish BOS로 보기는 어렵다. 반면 셋업 관점에서는 가격이 $64,000대 프리미엄 저항권에 접근한 상태에서 CVD가 -20.0620으로 악화되고 OI도 24시간 -0.7240% 감소해 상승 참여가 약하다. 롱 계정 비율은 0.569로 여전히 높고 account_long_crowding 0.788이므로, $64,200 상단 유동성만 태우고 $62,832 EMA20 또는 $62,400/$62,300 하단 청산 구간으로 되돌릴 위험이 크다. 파생 데이터가 4~8시간 선행한다는 점을 감안하면 단기적으로는 구조 확정 전 bearish setup이 우세하다.\",\n  \"key_levels\": {\n    \"support\": [\n      62832.32,\n      62386.25,\n      62400,\n      62300,\n      61000,\n      57758.6\n    ],\n    \"resistance\": [\n      64200,\n      64675.67,\n      64691.9,\n      66100,\n      69900\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"64691.90\",\n  \"risk_scenario\": \"$64,691.90 위로 4시간봉 종가가 안착하면 현재 bearish setup은 무효화되며, $64,200 상단 유동성 흡수 후 가장 강한 청산 레벨인 $66,100까지 숏 스퀴즈가 전개될 수 있다. $66,100까지 돌파되면 다음 상단 유동성은 $69,900으로 열리며, CVD와 OI가 동시에 회복될 경우 구조_bias도 bullish로 전환될 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.831,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.831,
      "setup_signals": [
        "현재가 $64,023.60은 EQ $61,225.25 위의 premium zone에 위치",
        "7일 range high $64,691.90 근처에서 거래 중이며, range low $57,758.60 대비 깊은 bearish retracement 196.4% 기록",
        "이전 일 고가 $63,990.70을 상향 돌파했으나 최근 liquidity sweep 이벤트는 미확인되어 buy-side liquidity grab 후보",
        "확정 bearish BOS 레벨들이 $74,203.60, $72,436.00, $62,232.10에 존재하여 상위 구조에는 매도 압력 잔존",
        "활성 bullish OB와 unfilled bullish FVG가 없어 현재 가격 아래 즉각적인 기관 매수 지지 배열이 약함"
      ],
      "reasoning": "구조적으로는 마지막 확인 이벤트가 $60,924.70의 CHoCH_bullish이고, 가격이 EMA20 $62,832.32 및 EMA120 $62,386.25 위에 있어 단기 구조는 bullish로 해석된다. 그러나 실행 셋업은 bearish이다; 현재가 $64,023.60은 EQ $61,225.25 위 premium에 있으며, 7일 고점 $64,691.90에 근접한 상태에서 이전 일 고가 $63,990.70을 이미 돌파해 buy-side liquidity를 건드린 후보 구간이다. 또한 활성 OB와 미충족 FVG가 전혀 없고, 가장 가까운 bullish OB는 $57,758.60-$59,298.40으로 현 가격과 멀어 하방 리밸런싱 여지가 크다. $64,691.90 위로 확실한 수용이 나오기 전까지는 premium에서의 매도 셋업이 우세하며, 첫 하방 목표는 EQ $61,225.25 및 bullish OB 상단 $59,298.40이다.",
      "key_levels": {
        "support": [
          62832.32,
          62386.25,
          61225.25,
          60924.7,
          59298.4,
          57758.6
        ],
        "resistance": [
          63990.7,
          64250.0,
          64691.9,
          64675.67,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$64,691.90",
      "risk_scenario": "$64,691.90 위에서 4시간봉 종가 수용이 발생하면 premium 매도 셋업은 무효화되고, $64,250.00 bullish BOS 레벨 재확인 이후 추가 상승 구조로 전환될 수 있다. 이 경우 다음 상방 유동성은 EMA240 $64,675.67 돌파 이후 원거리 candidate bearish OB $76,234.70-$78,077.10 및 resting BSL $78,128.55로 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 57758.6,
          "top": 59298.4,
          "quality": "candidate",
          "score": 0.546
        },
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 57,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          },
          {
            "type": "CHoCH_bullish",
            "level": 60924.7
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "premium",
        "eq_level": 61225.25,
        "range_high": 64691.9,
        "range_low": 57758.6,
        "bull_score": 6.0,
        "bear_score": 9.0,
        "setup_bias": "bearish",
        "setup_score": 0.831,
        "setup_signals": [
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10",
          "deep retracement 196.4% in premium zone"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 196.4,
        "deepest_retracement_pct": 196.8,
        "previous_day_high": 63990.7,
        "previous_day_low": 61297.0,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.831,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.831,\n  \"setup_signals\": [\n    \"현재가 $64,023.60은 EQ $61,225.25 위의 premium zone에 위치\",\n    \"7일 range high $64,691.90 근처에서 거래 중이며, range low $57,758.60 대비 깊은 bearish retracement 196.4% 기록\",\n    \"이전 일 고가 $63,990.70을 상향 돌파했으나 최근 liquidity sweep 이벤트는 미확인되어 buy-side liquidity grab 후보\",\n    \"확정 bearish BOS 레벨들이 $74,203.60, $72,436.00, $62,232.10에 존재하여 상위 구조에는 매도 압력 잔존\",\n    \"활성 bullish OB와 unfilled bullish FVG가 없어 현재 가격 아래 즉각적인 기관 매수 지지 배열이 약함\"\n  ],\n  \"reasoning\": \"구조적으로는 마지막 확인 이벤트가 $60,924.70의 CHoCH_bullish이고, 가격이 EMA20 $62,832.32 및 EMA120 $62,386.25 위에 있어 단기 구조는 bullish로 해석된다. 그러나 실행 셋업은 bearish이다; 현재가 $64,023.60은 EQ $61,225.25 위 premium에 있으며, 7일 고점 $64,691.90에 근접한 상태에서 이전 일 고가 $63,990.70을 이미 돌파해 buy-side liquidity를 건드린 후보 구간이다. 또한 활성 OB와 미충족 FVG가 전혀 없고, 가장 가까운 bullish OB는 $57,758.60-$59,298.40으로 현 가격과 멀어 하방 리밸런싱 여지가 크다. $64,691.90 위로 확실한 수용이 나오기 전까지는 premium에서의 매도 셋업이 우세하며, 첫 하방 목표는 EQ $61,225.25 및 bullish OB 상단 $59,298.40이다.\",\n  \"key_levels\": {\n    \"support\": [\n      62832.32,\n      62386.25,\n      61225.25,\n      60924.7,\n      59298.4,\n      57758.6\n    ],\n    \"resistance\": [\n      63990.7,\n      64250.0,\n      64691.9,\n      64675.67,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$64,691.90\",\n  \"risk_scenario\": \"$64,691.90 위에서 4시간봉 종가 수용이 발생하면 premium 매도 셋업은 무효화되고, $64,250.00 bullish BOS 레벨 재확인 이후 추가 상승 구조로 전환될 수 있다. 이 경우 다음 상방 유동성은 EMA240 $64,675.67 돌파 이후 원거리 candidate bearish OB $76,234.70-$78,077.10 및 resting BSL $78,128.55로 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.45,
      "setup_signals": [
        "현재가 $64,023.60은 주 범위 상단 AR $64,250.00 바로 아래에 위치하여 상단 공급/거부 확인 구간",
        "7일 고점 $64,691.90이 AR 상단 $64,250.00 및 EMA240 $64,675.67 부근을 테스트한 뒤 현재가가 그 아래에 있어 상단 유동성 테스트 후 수용 미확인",
        "LPS $61,297.00 이후 반등은 유효하지만, $64,250.00 이상 4시간봉 수용이 아직 확인되지 않아 Phase D 진행은 확정적 돌파가 아닌 검증 단계",
        "Spring $57,758.60 → SOS $63,450.00 → LPS $61,297.00 체인은 축적 우위이나, 현재 위치가 프리미엄/상단 저항대에 가까워 즉시 추격 매수 setup은 약함"
      ],
      "reasoning": "지표상 regime은 ACC이고 regime_fitness는 0.925로 높으며, 구조 체인은 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60 → SOS $63,450.00 → LPS $61,297.00로 Phase D 축적 구조를 형성하고 있습니다. 따라서 structure_bias는 bullish로 보지만, 현재가 $64,023.60은 AR 상단 $64,250.00 바로 아래이며 EMA240 $64,675.67 및 7일 고점 $64,691.90 저항대 수용이 아직 확인되지 않았습니다. 즉 구조적으로는 Spring 이후 SOS/LPS가 유지되는 축적 우위이나, 즉시 경로는 $64,250.00~$64,691.90 상단 재거부 시 $63,450.00 또는 LPS $61,297.00 재시험 가능성을 열어둬야 합니다. $64,250.00 이상에서 명확한 4시간봉 수용이 나오기 전까지는 확정적 상승 전개가 아니라 Phase D 내 상단 검증 구간으로 보는 것이 적절합니다.",
      "key_levels": {
        "support": [
          63450.0,
          61297.0,
          59080.0,
          57758.6
        ],
        "resistance": [
          64250.0,
          64675.67,
          64691.9
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$61,297.00 4시간봉 종가 이탈",
      "risk_scenario": "$64,250.00 위로 안착하지 못하고 $63,450.00 SOS 레벨을 재차 잃으면 LPS $61,297.00 재시험 가능성이 커집니다. 특히 $61,297.00이 붕괴되면 Phase D의 LPS 해석이 훼손되고, $59,080.00 SC 및 Spring 저점 $57,758.60까지 하단 유동성 재탐색이 열릴 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 92.4,
        "regime": "ACC",
        "regime_state": "acc_candidate",
        "structure_bias": "bullish",
        "phase_context": "acc_candidate / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "SOS",
          "LPS"
        ],
        "last_phase": "LPS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 112,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 125,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 166,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 264,
            "price": 57758.6,
            "color": "#f9844a"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 286,
            "price": 63450.0,
            "color": "#06d6a0"
          },
          {
            "label": "LPS",
            "side": "low",
            "idx": 297,
            "price": 61297.0,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 112,
            "end_idx": 297,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 112,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 125,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 166,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 264,
                "price": 57758.6,
                "color": "#f9844a",
                "dt": "2026-07-01 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 286,
                "price": 63450.0,
                "color": "#06d6a0",
                "dt": "2026-07-05 01:00:00+09:00"
              },
              {
                "label": "LPS",
                "side": "low",
                "idx": 297,
                "price": 61297.0,
                "color": "#8338ec",
                "dt": "2026-07-06 21:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9249999999999999,
        "current_event": "LPS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"현재가 $64,023.60은 주 범위 상단 AR $64,250.00 바로 아래에 위치하여 상단 공급/거부 확인 구간\",\n    \"7일 고점 $64,691.90이 AR 상단 $64,250.00 및 EMA240 $64,675.67 부근을 테스트한 뒤 현재가가 그 아래에 있어 상단 유동성 테스트 후 수용 미확인\",\n    \"LPS $61,297.00 이후 반등은 유효하지만, $64,250.00 이상 4시간봉 수용이 아직 확인되지 않아 Phase D 진행은 확정적 돌파가 아닌 검증 단계\",\n    \"Spring $57,758.60 → SOS $63,450.00 → LPS $61,297.00 체인은 축적 우위이나, 현재 위치가 프리미엄/상단 저항대에 가까워 즉시 추격 매수 setup은 약함\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC이고 regime_fitness는 0.925로 높으며, 구조 체인은 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60 → SOS $63,450.00 → LPS $61,297.00로 Phase D 축적 구조를 형성하고 있습니다. 따라서 structure_bias는 bullish로 보지만, 현재가 $64,023.60은 AR 상단 $64,250.00 바로 아래이며 EMA240 $64,675.67 및 7일 고점 $64,691.90 저항대 수용이 아직 확인되지 않았습니다. 즉 구조적으로는 Spring 이후 SOS/LPS가 유지되는 축적 우위이나, 즉시 경로는 $64,250.00~$64,691.90 상단 재거부 시 $63,450.00 또는 LPS $61,297.00 재시험 가능성을 열어둬야 합니다. $64,250.00 이상에서 명확한 4시간봉 수용이 나오기 전까지는 확정적 상승 전개가 아니라 Phase D 내 상단 검증 구간으로 보는 것이 적절합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63450.0,\n      61297.0,\n      59080.0,\n      57758.6\n    ],\n    \"resistance\": [\n      64250.0,\n      64675.67,\n      64691.9\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$61,297.00 4시간봉 종가 이탈\",\n  \"risk_scenario\": \"$64,250.00 위로 안착하지 못하고 $63,450.00 SOS 레벨을 재차 잃으면 LPS $61,297.00 재시험 가능성이 커집니다. 특히 $61,297.00이 붕괴되면 Phase D의 LPS 해석이 훼손되고, $59,080.00 SC 및 Spring 저점 $57,758.60까지 하단 유동성 재탐색이 열릴 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.61,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $64,023.60은 스윙 EQ ret_0.5 $63,200.40 위의 프리미엄 구간에 위치",
        "ext_1.0 $63,990.70을 단 0.05% 상회 중이나 아직 명확한 구조적 안착은 미확인",
        "상단 $64,420.62 ext_1.272와 $64,645.07 ext_1.414 저항이 근접해 있으며, confluence zone $64,532.85와 중첩",
        "EMA240 $64,675.67 및 7일 고점 $64,691.90이 $64,645.07~$64,691.90 공급 저항대를 형성",
        "하방 재조정 시 0.618 황금비 되돌림 $63,013.89가 고확률 반응 지점"
      ],
      "reasoning": "BTC는 Low $62,410 → High $63,991 상승 스윙의 ext_1.0 $63,990.70을 현재가 $64,023.60으로 소폭 상회하고 있어 단기 돌파 테스트 상태이지만, 확정 BOS나 구조적 수용으로 보기에는 거리가 0.05%에 불과합니다. 구조적으로는 상승 시도는 존재하나 $64,420.62, $64,645.07, $64,967.51 확장 저항을 돌파·안착하기 전까지는 중립으로 판단합니다. 반면 셋업 관점에서는 가격이 EQ $63,200.40 위 프리미엄에 있고, $64,532.85 confluence zone 및 EMA240 $64,675.67, 7일 고점 $64,691.90이 바로 위에 있어 단기 되돌림 리스크가 우세합니다. 하락 시 1차 지지 $63,990.70 이탈 여부가 중요하며, 이후 $63,617.68, $63,386.91, 핵심 0.618 황금비 $63,013.89가 순차적인 매수 반응 후보입니다.",
      "key_levels": {
        "support": [
          63990.7,
          63617.68,
          63386.91,
          63013.89,
          62748.35
        ],
        "resistance": [
          64420.62,
          64645.07,
          64967.51,
          65571.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,645.07",
      "risk_scenario": "$64,645.07 ext_1.414 위로 4시간봉 종가가 안착하면 현재의 단기 bearish setup은 무효화되고, $64,967.51 ext_1.618 및 $65,571.30 ext_2.0까지 확장 추세가 재개될 수 있습니다. 반대로 $63,990.70을 이탈하면 돌파 실패로 해석되어 $63,617.68, $63,386.91, 최종적으로 0.618 황금비 $63,013.89까지 되돌림이 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $62,410 → $63,991",
        "direction": "up",
        "nearest_fib": "ext_1.0",
        "nearest_fib_price": 63990.7,
        "nearest_fib_distance": 0.05,
        "golden_ratio_level": 63013.89,
        "fib_ret_382": 63386.91,
        "fib_ret_618": 63013.89,
        "confluence_zones": [
          {
            "price": 62663.2,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.786"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 63107.14,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 63502.29,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 64532.85,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 65565.44,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          63990.7,
          63617.6784,
          63386.9108
        ],
        "resistance_levels": [
          64420.623199999995,
          64645.0684,
          64967.5108
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 63617.68,
            "distance_pct": 0.63,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 63386.91,
            "distance_pct": 0.99,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 63200.4,
            "distance_pct": 1.29,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 63013.89,
            "distance_pct": 1.58,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 62748.35,
            "distance_pct": 1.99,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 63990.7,
            "distance_pct": 0.05,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 64420.62,
            "distance_pct": 0.62,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 64645.07,
            "distance_pct": 0.97,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 64967.51,
            "distance_pct": 1.47,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 65571.3,
            "distance_pct": 2.42,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.61,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $64,023.60은 스윙 EQ ret_0.5 $63,200.40 위의 프리미엄 구간에 위치\",\n    \"ext_1.0 $63,990.70을 단 0.05% 상회 중이나 아직 명확한 구조적 안착은 미확인\",\n    \"상단 $64,420.62 ext_1.272와 $64,645.07 ext_1.414 저항이 근접해 있으며, confluence zone $64,532.85와 중첩\",\n    \"EMA240 $64,675.67 및 7일 고점 $64,691.90이 $64,645.07~$64,691.90 공급 저항대를 형성\",\n    \"하방 재조정 시 0.618 황금비 되돌림 $63,013.89가 고확률 반응 지점\"\n  ],\n  \"reasoning\": \"BTC는 Low $62,410 → High $63,991 상승 스윙의 ext_1.0 $63,990.70을 현재가 $64,023.60으로 소폭 상회하고 있어 단기 돌파 테스트 상태이지만, 확정 BOS나 구조적 수용으로 보기에는 거리가 0.05%에 불과합니다. 구조적으로는 상승 시도는 존재하나 $64,420.62, $64,645.07, $64,967.51 확장 저항을 돌파·안착하기 전까지는 중립으로 판단합니다. 반면 셋업 관점에서는 가격이 EQ $63,200.40 위 프리미엄에 있고, $64,532.85 confluence zone 및 EMA240 $64,675.67, 7일 고점 $64,691.90이 바로 위에 있어 단기 되돌림 리스크가 우세합니다. 하락 시 1차 지지 $63,990.70 이탈 여부가 중요하며, 이후 $63,617.68, $63,386.91, 핵심 0.618 황금비 $63,013.89가 순차적인 매수 반응 후보입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63990.7,\n      63617.68,\n      63386.91,\n      63013.89,\n      62748.35\n    ],\n    \"resistance\": [\n      64420.62,\n      64645.07,\n      64967.51,\n      65571.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,645.07\",\n  \"risk_scenario\": \"$64,645.07 ext_1.414 위로 4시간봉 종가가 안착하면 현재의 단기 bearish setup은 무효화되고, $64,967.51 ext_1.618 및 $65,571.30 ext_2.0까지 확장 추세가 재개될 수 있습니다. 반대로 $63,990.70을 이탈하면 돌파 실패로 해석되어 $63,617.68, $63,386.91, 최종적으로 0.618 황금비 $63,013.89까지 되돌림이 열립니다.\",\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.35,
      "setup_signals": [
        "엄격 등급 고품질 형성 중 Bullish Bat PRZ가 $62,527.12-$63,386.13에 위치하며, XAD·BC_EXT·ABCD 3개 Fib 패밀리 confluence가 확인됨",
        "현재가 $64,023.60은 핵심 Bullish Bat PRZ 상단 $63,386.13보다 약 1.67% 위에 있어 아직 PRZ 터치/진입 전이며, 반전 후보 구간은 활성화 전 단계임",
        "Bullish Bat 기준 D 예상가 $62,956.63이며, 반응 확인 시 TP 후보는 $64,598.76, $65,613.27, $67,255.40",
        "단기 상단에는 Candidate Bearish Butterfly PRZ $64,291.48-$65,188.90와 Bearish Shark PRZ $63,686.62-$64,968.92가 겹쳐 있어 현재 가격대는 즉시 추격 매수보다 상단 반응 리스크가 존재함",
        "현재가가 EMA20 $62,832.32와 EMA120 $62,386.25 위에 있지만 EMA240 $64,675.67 아래에 있어 중기 저항대 재진입 전 확인이 필요함"
      ],
      "reasoning": "확정 구조 관점에서는 BOS/CHoCH/MSS 또는 명확한 구조 수용 데이터가 제공되지 않았으므로 structure_bias는 중립으로 본다. 다만 셋업 관점에서는 고품질 strict Bullish Bat가 $62,527.12-$63,386.13에 형성 중이며, 예상 D값 $62,956.63과 3중 Fib confluence가 있어 하락 시 매수 반응 후보 구간으로 유효하다. 현재가 $64,023.60은 해당 PRZ 위에 있어 아직 터치·리젝션·스윕 후 리클레임 확인이 없으며, harmonic_vote_state도 pre_confirmation_reversal_candidate, directional_vote_weight 0.35로 제한된다. 동시에 $64,291.48-$65,188.90의 Bearish Butterfly 후보와 EMA240 $64,675.67이 상단 저항으로 겹치므로, 현 위치에서는 방향성 확정보다 $63.4k 아래 재진입 반응 확인을 기다리는 것이 우선이다.",
      "key_levels": {
        "support": [
          63386.13,
          62956.63,
          62527.12,
          62202.51,
          62086.56,
          61505.57
        ],
        "resistance": [
          64291.48,
          64598.76,
          64675.67,
          65188.9,
          65613.27,
          67255.4
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$62,527.12 하향 이탈 및 4시간봉 종가 수용",
      "risk_scenario": "반대로 가격이 $64,291.48-$65,188.90의 상단 Bearish PRZ와 EMA240 $64,675.67 부근에서 강한 거절을 만들면, Bullish Bat PRZ $62,527.12-$63,386.13까지의 되돌림이 먼저 열릴 수 있다. 이후 $62,527.12를 방어하지 못하면 Bullish Bat 셋업은 실패하며 $62,202.51, $61,505.57 쪽 하단 PRZ/유동성으로 확장될 위험이 커진다. 반면 $65,188.90 위에서 4시간봉 수용이 나오면 상단 bearish harmonic 리스크는 약화되고 $65,613.27, $67,255.40 TP 구간이 재부각된다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 155,
        "completed_patterns_found": 70,
        "forming_d_prz_found": 85,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 25,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 4,
          "medium": 52,
          "low": 99
        },
        "prz_status_counts": {
          "active": 53,
          "nearby": 20,
          "watch": 33,
          "far": 49,
          "forming": 31
        },
        "high_confluence_prz_count": 20,
        "strict_patterns_found": 48,
        "candidate_patterns_found": 107,
        "active_patterns_at_prz": 53,
        "nearby_patterns": 20,
        "all_patterns": [
          "bat",
          "bat",
          "shark",
          "bat",
          "shark",
          "bat",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "crab",
          "bat",
          "bat",
          "gartley",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "gartley",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "gartley",
          "shark",
          "crab",
          "shark",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "gartley",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.932,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 64005.65,
        "price_to_prz": -0.03,
        "prz_range": [
          63170.08,
          64841.22
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.932,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.67,
            "price_to_prz_pct_raw": -1.6665,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 171,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.851,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.67,
            "price_to_prz_pct_raw": -1.6665,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 171,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": 209
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.816,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.21,
            "price_to_prz_pct_raw": -2.2099,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 161,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.806,
            "ratio_score": 0.596,
            "prz_score": 0.985,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64740.19,
            "prz_range": [
              64291.48,
              65188.9
            ],
            "prz_width_pct": 1.386,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.12,
            "price_to_prz_pct_raw": 1.1193,
            "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": 64740.19,
              "a_price": 58030.0,
              "tp1_ad_382": 62176.9,
              "tp2_ad_618": 60593.29,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6994,
              "ABC": 0.6054
            },
            "x_price": 61931.1,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60758.3,
            "b_idx": 255,
            "b_order": 8,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.909,
            "ratio_score": 1.0,
            "prz_score": 0.876,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64327.77,
            "prz_range": [
              63686.62,
              64968.92
            ],
            "prz_width_pct": 1.993,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.48,
            "price_to_prz_pct_raw": 0.4751,
            "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": 64327.77,
              "a_price": 61870.0,
              "tp1_ad_382": 63388.9,
              "tp2_ad_618": 62808.87,
              "tp3_a_or_structure_liquidity": 61870.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4917,
              "ABC": 1.4071
            },
            "x_price": 64568.0,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 61870.0,
            "a_idx": 218,
            "a_order": 5,
            "b_price": 60543.3,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.24,
            "price_to_prz_pct_raw": 0.241,
            "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": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 166,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 176,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 184,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.873,
            "ratio_score": 1.0,
            "prz_score": 0.904,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 65857.7,
            "prz_range": [
              65253.43,
              66461.96
            ],
            "prz_width_pct": 1.835,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.86,
            "price_to_prz_pct_raw": 2.8647,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 65857.7,
              "a_price": 58030.0,
              "tp1_ad_382": 62867.52,
              "tp2_ad_618": 61020.18,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5589,
              "ABC": 0.5131
            },
            "x_price": 63209.6,
            "x_idx": 224,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 243,
            "b_order": 8,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.808,
            "ratio_score": 0.838,
            "prz_score": 0.897,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62086.56,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.03,
            "price_to_prz_pct_raw": -3.0255,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967
            },
            "x_price": 63209.6,
            "x_idx": 224,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 252,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.932,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.67,
            "price_to_prz_pct_raw": -1.6665,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 171,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.932,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.67,
            "price_to_prz_pct_raw": -1.6665,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 171,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.851,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.67,
            "price_to_prz_pct_raw": -1.6665,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 171,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": 209
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.816,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.21,
            "price_to_prz_pct_raw": -2.2099,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 161,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 205,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.806,
            "ratio_score": 0.596,
            "prz_score": 0.985,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64740.19,
            "prz_range": [
              64291.48,
              65188.9
            ],
            "prz_width_pct": 1.386,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.12,
            "price_to_prz_pct_raw": 1.1193,
            "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": 64740.19,
              "a_price": 58030.0,
              "tp1_ad_382": 62176.9,
              "tp2_ad_618": 60593.29,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6994,
              "ABC": 0.6054
            },
            "x_price": 61931.1,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60758.3,
            "b_idx": 255,
            "b_order": 8,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.909,
            "ratio_score": 1.0,
            "prz_score": 0.876,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64327.77,
            "prz_range": [
              63686.62,
              64968.92
            ],
            "prz_width_pct": 1.993,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.48,
            "price_to_prz_pct_raw": 0.4751,
            "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": 64327.77,
              "a_price": 61870.0,
              "tp1_ad_382": 63388.9,
              "tp2_ad_618": 62808.87,
              "tp3_a_or_structure_liquidity": 61870.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4917,
              "ABC": 1.4071
            },
            "x_price": 64568.0,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 61870.0,
            "a_idx": 218,
            "a_order": 5,
            "b_price": 60543.3,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.24,
            "price_to_prz_pct_raw": 0.241,
            "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": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 166,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 176,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 184,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.873,
            "ratio_score": 1.0,
            "prz_score": 0.904,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 65857.7,
            "prz_range": [
              65253.43,
              66461.96
            ],
            "prz_width_pct": 1.835,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.86,
            "price_to_prz_pct_raw": 2.8647,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 65857.7,
              "a_price": 58030.0,
              "tp1_ad_382": 62867.52,
              "tp2_ad_618": 61020.18,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5589,
              "ABC": 0.5131
            },
            "x_price": 63209.6,
            "x_idx": 224,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 243,
            "b_order": 8,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.808,
            "ratio_score": 0.838,
            "prz_score": 0.897,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62086.56,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.03,
            "price_to_prz_pct_raw": -3.0255,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967
            },
            "x_price": 63209.6,
            "x_idx": 224,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 252,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.795,
            "ratio_score": 0.504,
            "prz_score": 0.993,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64804.3,
            "prz_range": [
              64371.01,
              65237.6
            ],
            "prz_width_pct": 1.337,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.22,
            "price_to_prz_pct_raw": 1.2194,
            "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": 64804.3,
              "a_price": 67255.4,
              "tp1_ad_382": 65740.62,
              "tp2_ad_618": 66319.08,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5344,
              "ABC": 0.566
            },
            "x_price": 63650.0,
            "x_idx": 166,
            "x_order": 8,
            "a_price": 67255.4,
            "a_idx": 171,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 177,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 184,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.765,
            "ratio_score": 0.692,
            "prz_score": 0.876,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63990.7,
            "prz_range": [
              63686.62,
              64968.92
            ],
            "prz_width_pct": 1.993,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.48,
            "price_to_prz_pct_raw": 0.4751,
            "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": 1.27,
                "adverse_move_ratio_ad": 0.331,
                "bars_after_d": 6,
                "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": "bearish",
              "source": "shark",
              "d_price": 64327.77,
              "a_price": 61870.0,
              "tp1_ad_382": 63388.9,
              "tp2_ad_618": 62808.87,
              "tp3_a_or_structure_liquidity": 61870.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4917,
              "ABC": 1.4071,
              "BCD": 0.8467,
              "XAD": 0.786
            },
            "x_price": 64568.0,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 61870.0,
            "a_idx": 218,
            "a_order": 5,
            "b_price": 60543.3,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 62410.1,
            "c_idx": 290,
            "c_order": 5,
            "d_idx": 293
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.762,
            "ratio_score": 0.812,
            "prz_score": 0.911,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62180.0,
            "prz_range": [
              61146.28,
              62254.99
            ],
            "prz_width_pct": 1.797,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.63,
            "price_to_prz_pct_raw": -3.6283,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.257,
                "adverse_move_ratio_ad": 0.214,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "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": 61700.64,
              "a_price": 58030.0,
              "tp1_ad_382": 60298.45,
              "tp2_ad_618": 59432.18,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5589,
              "ABC": 0.7167,
              "BCD": 1.6051,
              "XAD": 0.8012
            },
            "x_price": 63209.6,
            "x_idx": 224,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60924.7,
            "b_idx": 243,
            "b_order": 8,
            "c_price": 58850.0,
            "c_idx": 252,
            "c_order": 8,
            "d_idx": 273
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.744,
            "ratio_score": 0.627,
            "prz_score": 0.97,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 65597.2,
            "prz_range": [
              64692.41,
              65648.03
            ],
            "prz_width_pct": 1.466,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.79,
            "price_to_prz_pct_raw": 1.7909,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.593,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 65170.22,
              "a_price": 62232.1,
              "tp1_ad_382": 64047.86,
              "tp2_ad_618": 63354.46,
              "tp3_a_or_structure_liquidity": 62232.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5579,
              "ABC": 0.5771,
              "BCD": 1.7635,
              "XAD": 0.8037
            },
            "x_price": 66419.2,
            "x_idx": 184,
            "x_order": 5,
            "a_price": 62232.1,
            "a_idx": 189,
            "a_order": 8,
            "b_price": 64568.0,
            "b_idx": 205,
            "b_order": 3,
            "c_price": 63220.0,
            "c_idx": 209,
            "c_order": 5,
            "d_idx": 213
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.932,
            "prz_proximity": "nearby",
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.67,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $62,527.12-$63,386.13: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.932,
          "ratio_score": 1.0,
          "prz_score": 0.988,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 62956.63,
          "prz_range": [
            62527.12,
            63386.13
          ],
          "prz_width_pct": 1.364,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -1.67,
          "price_to_prz_pct_raw": -1.6665,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.39,
            "ABC": 0.3949
          },
          "x_price": 62315.0,
          "x_idx": 148,
          "x_order": 3,
          "a_price": 67255.4,
          "a_idx": 171,
          "a_order": 8,
          "b_price": 65328.8,
          "b_idx": 177,
          "b_order": 3,
          "c_price": 64568.0,
          "c_idx": 205,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 62956.63,
          "a_price": 67255.4,
          "tp1_ad_382": 64598.76,
          "tp2_ad_618": 65613.27,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.138,
          "bearish": 0
        },
        "directional_score_total": 0.138,
        "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.35,\n  \"setup_signals\": [\n    \"엄격 등급 고품질 형성 중 Bullish Bat PRZ가 $62,527.12-$63,386.13에 위치하며, XAD·BC_EXT·ABCD 3개 Fib 패밀리 confluence가 확인됨\",\n    \"현재가 $64,023.60은 핵심 Bullish Bat PRZ 상단 $63,386.13보다 약 1.67% 위에 있어 아직 PRZ 터치/진입 전이며, 반전 후보 구간은 활성화 전 단계임\",\n    \"Bullish Bat 기준 D 예상가 $62,956.63이며, 반응 확인 시 TP 후보는 $64,598.76, $65,613.27, $67,255.40\",\n    \"단기 상단에는 Candidate Bearish Butterfly PRZ $64,291.48-$65,188.90와 Bearish Shark PRZ $63,686.62-$64,968.92가 겹쳐 있어 현재 가격대는 즉시 추격 매수보다 상단 반응 리스크가 존재함\",\n    \"현재가가 EMA20 $62,832.32와 EMA120 $62,386.25 위에 있지만 EMA240 $64,675.67 아래에 있어 중기 저항대 재진입 전 확인이 필요함\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 BOS/CHoCH/MSS 또는 명확한 구조 수용 데이터가 제공되지 않았으므로 structure_bias는 중립으로 본다. 다만 셋업 관점에서는 고품질 strict Bullish Bat가 $62,527.12-$63,386.13에 형성 중이며, 예상 D값 $62,956.63과 3중 Fib confluence가 있어 하락 시 매수 반응 후보 구간으로 유효하다. 현재가 $64,023.60은 해당 PRZ 위에 있어 아직 터치·리젝션·스윕 후 리클레임 확인이 없으며, harmonic_vote_state도 pre_confirmation_reversal_candidate, directional_vote_weight 0.35로 제한된다. 동시에 $64,291.48-$65,188.90의 Bearish Butterfly 후보와 EMA240 $64,675.67이 상단 저항으로 겹치므로, 현 위치에서는 방향성 확정보다 $63.4k 아래 재진입 반응 확인을 기다리는 것이 우선이다.\",\n  \"key_levels\": {\n    \"support\": [\n      63386.13,\n      62956.63,\n      62527.12,\n      62202.51,\n      62086.56,\n      61505.57\n    ],\n    \"resistance\": [\n      64291.48,\n      64598.76,\n      64675.67,\n      65188.9,\n      65613.27,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$62,527.12 하향 이탈 및 4시간봉 종가 수용\",\n  \"risk_scenario\": \"반대로 가격이 $64,291.48-$65,188.90의 상단 Bearish PRZ와 EMA240 $64,675.67 부근에서 강한 거절을 만들면, Bullish Bat PRZ $62,527.12-$63,386.13까지의 되돌림이 먼저 열릴 수 있다. 이후 $62,527.12를 방어하지 못하면 Bullish Bat 셋업은 실패하며 $62,202.51, $61,505.57 쪽 하단 PRZ/유동성으로 확장될 위험이 커진다. 반면 $65,188.90 위에서 4시간봉 수용이 나오면 상단 bearish harmonic 리스크는 약화되고 $65,613.27, $67,255.40 TP 구간이 재부각된다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.62,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "ICT: 현재가 $64,023.60이 7일 EQ $61,225.25 위 프리미엄 구간에 있으며, 7일 고점 $64,691.90 및 EMA240 $64,675.67 바로 아래에서 상단 수용이 미확인",
        "파생: $64,200 상단 청산 유동성이 바로 위에 있고, CVD 변화 -20.0620 및 24시간 OI -0.7240%로 상승 참여 품질이 약함",
        "파생: 롱 계정 비율 0.569, 롱 crowded score 0.788로 프리미엄 저항권에서 롱 포지셔닝 부담 존재",
        "피보나치: 현재가가 ext_1.0 $63,990.70을 0.05%만 상회하고 있으며, $64,420.62-$64,645.07 및 confluence $64,532.85 저항대가 근접",
        "하모닉: $64,291.48-$65,188.90 Bearish Butterfly 후보 PRZ와 EMA240 $64,675.67이 중첩되나, 단독 구조 전환 신호로는 미확정",
        "캔들: 고거래량 strict bullish engulfing quality 0.695가 있으나, 가격이 $64,675.67-$64,691.90 저항 수용 전이라 추격 매수 신뢰도는 제한"
      ],
      "setup_vs_structure": "구조는 Wyckoff 축적 Phase D 및 ICT 단기 bullish structure로 인해 완만한 bullish이나, 실행 셋업은 프리미엄·상단 유동성·약한 CVD·근접 저항 때문에 bearish로 괴리되어 있다. 즉 현재 시장은 구조적으로는 축적 이후 상단 검증 국면이지만, 즉시 실행 관점에서는 상단 수용 확인 전까지 실패 돌파·되돌림 리스크가 더 크다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 0,
      "neutral_count": 4
    },
    "key_levels": {
      "support": [
        63990.7,
        63450.0,
        63386.91,
        63013.89,
        62832.32,
        62386.25,
        61297.0,
        61225.25,
        60924.7,
        59080.0,
        57758.6
      ],
      "resistance": [
        64200.0,
        64250.0,
        64420.62,
        64532.85,
        64645.07,
        64675.67,
        64691.9,
        65571.3,
        66100.0
      ]
    },
    "confluences": [
      "Wyckoff AR $64,250.00, ICT BOS level $64,250.00, 파생 상단 청산 $64,200이 같은 상단 검증 구간을 형성한다.",
      "EMA240 $64,675.67, 7일 고점 $64,691.90, 피보나치 ext_1.414 $64,645.07, 하모닉 Bearish Butterfly PRZ $64,291.48-$65,188.90이 $64.6k 부근 저항 클러스터로 중첩된다.",
      "ICT EQ $61,225.25와 Wyckoff LPS $61,297.00이 거의 동일한 구조적 중간선·LPS 방어 구간으로 수렴한다.",
      "EMA20 $62,832.32, EMA120 $62,386.25, 파생 하단 청산 $62,400/$62,300, 하모닉 Bullish Bat PRZ $62,527.12-$63,386.13이 $62.3k-$63.4k의 하방 반응 후보 구간을 만든다.",
      "캔들 strict bullish engulfing과 Wyckoff Spring → SOS → LPS 구조는 $57,758.60 저점 이후 매수 측 구조 회복을 지지한다.",
      "Derivatives, ICT, Fibonacci 세 분석이 모두 현재 위치를 프리미엄 또는 상단 저항권으로 판단하며 bearish execution setup을 제시한다."
    ],
    "conflicts": [
      "구조와 실행 셋업이 충돌한다: Wyckoff와 ICT의 structure_bias는 bullish이나, ICT·Derivatives·Fibonacci의 setup_bias는 bearish다.",
      "캔들은 고거래량 bullish engulfing을 근거로 단기 매수 우위를 제시하지만, 파생 데이터는 CVD -20.0620 및 OI 감소로 상승 참여가 약하다고 본다.",
      "Wyckoff는 축적 Phase D의 LPS 이후 구조를 bullish로 평가하지만, 현재가가 AR $64,250.00 및 7일 고점 $64,691.90 아래에 있어 Phase E 돌파로 확정하지는 않는다.",
      "하모닉은 $62,527.12-$63,386.13 Bullish Bat PRZ를 주요 반응 구간으로 보지만, 동시에 $64,291.48-$65,188.90 Bearish Butterfly 후보가 있어 현 가격대에서는 방향 신호보다 PRZ 충돌이 더 크다."
    ],
    "executive_summary": "현재 BTC 4시간 구조는 $57,758.60 Spring 이후 SOS $63,450.00과 LPS $61,297.00이 형성된 Wyckoff 축적 Phase D로 해석되며, overall 구조 bias는 완만한 bullish다. 다만 가격은 AR $64,250.00, EMA240 $64,675.67, 7일 고점 $64,691.90 바로 아래의 상단 검증 구간에 있어 Phase E 돌파 구조로 확정되지는 않았다. 실행 셋업은 구조와 반대로 bearish 쪽이 우세한데, ICT 프리미엄 구간, 피보나치 $64,420.62-$64,645.07 저항, 파생 CVD 약화와 롱 포지셔닝 부담이 같은 방향으로 수렴한다. 구조 유지의 핵심 방어선은 $61,297.00-$60,924.70이며, 최종 무효화는 $57,758.60 Spring 저점 이탈이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.62,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"ICT: 현재가 $64,023.60이 7일 EQ $61,225.25 위 프리미엄 구간에 있으며, 7일 고점 $64,691.90 및 EMA240 $64,675.67 바로 아래에서 상단 수용이 미확인\",\n      \"파생: $64,200 상단 청산 유동성이 바로 위에 있고, CVD 변화 -20.0620 및 24시간 OI -0.7240%로 상승 참여 품질이 약함\",\n      \"파생: 롱 계정 비율 0.569, 롱 crowded score 0.788로 프리미엄 저항권에서 롱 포지셔닝 부담 존재\",\n      \"피보나치: 현재가가 ext_1.0 $63,990.70을 0.05%만 상회하고 있으며, $64,420.62-$64,645.07 및 confluence $64,532.85 저항대가 근접\",\n      \"하모닉: $64,291.48-$65,188.90 Bearish Butterfly 후보 PRZ와 EMA240 $64,675.67이 중첩되나, 단독 구조 전환 신호로는 미확정\",\n      \"캔들: 고거래량 strict bullish engulfing quality 0.695가 있으나, 가격이 $64,675.67-$64,691.90 저항 수용 전이라 추격 매수 신뢰도는 제한\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff 축적 Phase D 및 ICT 단기 bullish structure로 인해 완만한 bullish이나, 실행 셋업은 프리미엄·상단 유동성·약한 CVD·근접 저항 때문에 bearish로 괴리되어 있다. 즉 현재 시장은 구조적으로는 축적 이후 상단 검증 국면이지만, 즉시 실행 관점에서는 상단 수용 확인 전까지 실패 돌파·되돌림 리스크가 더 크다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 0,\n    \"neutral_count\": 4\n  },\n  \"key_levels\": {\n    \"support\": [\n      63990.7,\n      63450.0,\n      63386.91,\n      63013.89,\n      62832.32,\n      62386.25,\n      61297.0,\n      61225.25,\n      60924.7,\n      59080.0,\n      57758.6\n    ],\n    \"resistance\": [\n      64200.0,\n      64250.0,\n      64420.62,\n      64532.85,\n      64645.07,\n      64675.67,\n      64691.9,\n      65571.3,\n      66100.0\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff AR $64,250.00, ICT BOS level $64,250.00, 파생 상단 청산 $64,200이 같은 상단 검증 구간을 형성한다.\",\n    \"EMA240 $64,675.67, 7일 고점 $64,691.90, 피보나치 ext_1.414 $64,645.07, 하모닉 Bearish Butterfly PRZ $64,291.48-$65,188.90이 $64.6k 부근 저항 클러스터로 중첩된다.\",\n    \"ICT EQ $61,225.25와 Wyckoff LPS $61,297.00이 거의 동일한 구조적 중간선·LPS 방어 구간으로 수렴한다.\",\n    \"EMA20 $62,832.32, EMA120 $62,386.25, 파생 하단 청산 $62,400/$62,300, 하모닉 Bullish Bat PRZ $62,527.12-$63,386.13이 $62.3k-$63.4k의 하방 반응 후보 구간을 만든다.\",\n    \"캔들 strict bullish engulfing과 Wyckoff Spring → SOS → LPS 구조는 $57,758.60 저점 이후 매수 측 구조 회복을 지지한다.\",\n    \"Derivatives, ICT, Fibonacci 세 분석이 모두 현재 위치를 프리미엄 또는 상단 저항권으로 판단하며 bearish execution setup을 제시한다.\"\n  ],\n  \"conflicts\": [\n    \"구조와 실행 셋업이 충돌한다: Wyckoff와 ICT의 structure_bias는 bullish이나, ICT·Derivatives·Fibonacci의 setup_bias는 bearish다.\",\n    \"캔들은 고거래량 bullish engulfing을 근거로 단기 매수 우위를 제시하지만, 파생 데이터는 CVD -20.0620 및 OI 감소로 상승 참여가 약하다고 본다.\",\n    \"Wyckoff는 축적 Phase D의 LPS 이후 구조를 bullish로 평가하지만, 현재가가 AR $64,250.00 및 7일 고점 $64,691.90 아래에 있어 Phase E 돌파로 확정하지는 않는다.\",\n    \"하모닉은 $62,527.12-$63,386.13 Bullish Bat PRZ를 주요 반응 구간으로 보지만, 동시에 $64,291.48-$65,188.90 Bearish Butterfly 후보가 있어 현 가격대에서는 방향 신호보다 PRZ 충돌이 더 크다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 구조 진단 측면에서 SC $59,080.00 → AR $64,250.00 → ST $63,650.00 → Spring $57,758.60 → SOS $63,450.00 → LPS $61,297.00의 완성도 높은 축적 Phase D 체인을 제시했고, regime fitness 0.925로 가장 일관된 regime-level 근거를 제공한다. 다만 실행 셋업의 최고 경고 신호는 ICT의 bearish setup 83%로, 프리미엄 구간과 $64,691.90 부근 상단 유동성 리스크를 가장 강하게 지적한다.\",\n  \"invalidation_level\": \"구조적 bullish thesis의 핵심 무효화는 4시간봉 기준 $57,758.60 Spring 저점 이탈이다. 조기 훼손 신호는 Wyckoff LPS $61,297.00 및 ICT CHoCH $60,924.70 하향 이탈이다.\",\n  \"executive_summary\": \"현재 BTC 4시간 구조는 $57,758.60 Spring 이후 SOS $63,450.00과 LPS $61,297.00이 형성된 Wyckoff 축적 Phase D로 해석되며, overall 구조 bias는 완만한 bullish다. 다만 가격은 AR $64,250.00, EMA240 $64,675.67, 7일 고점 $64,691.90 바로 아래의 상단 검증 구간에 있어 Phase E 돌파 구조로 확정되지는 않았다. 실행 셋업은 구조와 반대로 bearish 쪽이 우세한데, ICT 프리미엄 구간, 피보나치 $64,420.62-$64,645.07 저항, 파생 CVD 약화와 롱 포지셔닝 부담이 같은 방향으로 수렴한다. 구조 유지의 핵심 방어선은 $61,297.00-$60,924.70이며, 최종 무효화는 $57,758.60 Spring 저점 이탈이다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.62,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 63450.0,
        "type": "support_test",
        "source": "Wyckoff (SOS $63,450.00), Fibonacci (fib_confluence $63,502.29 / ret $63,386.91), Harmonic (Bullish Bat PRZ 상단 $63,386.13)",
        "description": "실행 셋업이 74% bearish로 즉시 하방이 우위이며, 프리미엄 상단($64,250 AR·$64,675.67 EMA240·$64,691.90 7일고점) 수용이 미확인된 상태다. 첫 하방 반응은 Wyckoff SOS $63,450.00 재시험 구간으로, 바로 아래 fib $63,386.91·harmonic Bullish Bat PRZ 상단 $63,386.13·상단 candidate fib_confluence $63,502.29가 중첩된 첫 지지 클러스터. 구조적 SOS 재시험이라 일시 반등은 가능하나 셋업 압력으로 하방 지속 가능성이 크다.",
        "est_hours": 4.0,
        "turning_zone": [
          63290,
          63500
        ],
        "likely_wick": 63386,
        "rejection_confirm": 63550,
        "invalid_overshoot": 63250,
        "calibration_reasoning": "fib 0.382 $63,386.91과 harmonic Bat PRZ 상단 $63,386.13이 겹치는 타이트한 지지 confluence가 wick 자석이며, 상단 후보 fib_confluence $63,502.29가 존 상단을 제한한다. 클러스터가 조밀해 존 폭은 ~0.26 ATR로 좁게 잡았고, $63,250 이탈은 반등 없이 황금비($63,013.89)로 이어져 이 turning point를 무효화한다."
      },
      {
        "seq": 2,
        "price": 62832.32,
        "type": "swing_low",
        "source": "Candlestick·Derivatives (EMA20 $62,832.32, 하단 청산 $62,400/$62,300), Fibonacci (0.618 황금비 $63,013.89), Harmonic (Bullish Bat D $62,956.63 삼중 Fib confluence)",
        "description": "셋업 하방 압력이 이어지며 EMA20 $62,832.32까지 딥. 이 구간은 fib 0.618 황금비 $63,013.89, 엄격 등급 harmonic Bullish Bat D $62,956.63(XAD·BC_EXT·ABCD 삼중 confluence), 파생 EMA20 되돌림·하단 청산 $62,400 자석이 겹치는 핵심 매수 반응 zone이다. Wyckoff 축적 Phase D 구조상 매수 측이 방어하는 1차 스윙 저점이며, 캔들 고거래량 bullish engulfing(quality 0.695) 반등 논리와 구조 bullish bias가 이 구간에서 재개될 후보.",
        "est_hours": 10.0,
        "turning_zone": [
          62360,
          62850
        ],
        "likely_wick": 62660,
        "rejection_confirm": 63020,
        "invalid_overshoot": 62280,
        "calibration_reasoning": "base는 EMA20이고 바로 위 황금비 $63,013.89·엄격 harmonic D $62,956.63(pre-confirmation 확인용 confluence)의 지지 밀집을 감안해 1차 wick은 fib_confluence $62,663.20(2레벨)이 최유력이다. 다만 하단 청산 $62,400 자석·스윙저점 $62,410·Chairman $62,386.25를 포함하도록 존을 $62,360까지 확장(Phase D 스프링 대비)했고, 황금비 $63,013.89 재탈환이 반전 확정 신호다."
      },
      {
        "seq": 3,
        "price": 63990.7,
        "type": "resistance_test",
        "source": "Fibonacci (ext_1.0 $63,990.70), ICT (이전 일 고가 $63,990.70·BOS $64,250.00), Derivatives (상단 청산 $64,200), Wyckoff (AR $64,250.00 접근)",
        "description": "EMA20 방어 후 구조적 bullish 재개. 매수 반응으로 fib ext_1.0 $63,990.70(=이전 일 고가) 재탈환을 시도하며 상단 $64,200 파생 청산·Wyckoff AR $64,250.00 저항대로 접근한다. 다만 셋업이 여전히 프리미엄 상단 수용을 미확인하고 CVD -20.06·OI 감소로 상승 참여 품질이 약해, 24시간 내 $64,250 이상 안착은 제한적이며 저항 재거부 위험이 남는다.",
        "est_hours": 20.0,
        "turning_zone": [
          64050,
          64600
        ],
        "likely_wick": 64250,
        "rejection_confirm": 63900,
        "invalid_overshoot": 64700,
        "calibration_reasoning": "fib ext_1.0(=이전 일 고가)를 base로, 상단 파생 청산 $64,200과 Wyckoff AR $64,250이 1차 재거부 존이며 셋업이 '$64,250 이상 수용 제한적'이라 likely_wick을 AR $64,250에 배치했다. 터미널이라 존을 fib_confluence $64,532.85·조건부(pre-confirmation) harmonic TP1 $64,598.76까지 ~0.68 ATR로 넓혔고, 7일 고점 $64,691.90 위 수용($64,700)은 프리미엄 상단 수용=강세 돌파로 전환되어 무효화된다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 64200.0,
        "expected_low": 63450.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 64200.0,
        "expected_low": 62956.63,
        "high_first": true
      },
      "24h": {
        "expected_high": 64200.0,
        "expected_low": 62832.32,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 64691.9,
        "description": "4시간봉 종가가 7일 고점 $64,691.90(및 EMA240 $64,675.67) 위로 수용되면 Wyckoff Phase E 돌파가 확정되고 프리미엄 저항이 무효화된다. 파생 상단 청산 자석 $66,100을 향한 숏 스퀴즈로 상승 가속, 이 경우 WP1~WP2의 하방 딥 경로는 스킵되고 즉시 상승 전개로 전환."
      },
      "bearish": {
        "price": 62386.25,
        "description": "WP2 EMA20 $62,832 이탈 후 EMA120 $62,386.25(캔들 bullish engulfing 반등 무효 라인) 하회 시 하방 가속. Wyckoff LPS $61,297.00 및 ICT EQ $61,225.25 재시험으로 확장되며 구조 핵심 방어 구간($61,297~$60,924.70) 시험 국면으로 진입."
      }
    },
    "scenario_invalidation": 60924.7,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 63450.0,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff (SOS $63,450.00), Fibonacci (fib_confluence $63,502.29 / ret $63,386.91), Harmonic (Bullish Bat PRZ 상단 $63,386.13)\",\n      \"description\": \"실행 셋업이 74% bearish로 즉시 하방이 우위이며, 프리미엄 상단($64,250 AR·$64,675.67 EMA240·$64,691.90 7일고점) 수용이 미확인된 상태다. 첫 하방 반응은 Wyckoff SOS $63,450.00 재시험 구간으로, 바로 아래 fib $63,386.91·harmonic Bullish Bat PRZ 상단 $63,386.13·상단 candidate fib_confluence $63,502.29가 중첩된 첫 지지 클러스터. 구조적 SOS 재시험이라 일시 반등은 가능하나 셋업 압력으로 하방 지속 가능성이 크다.\",\n      \"est_hours\": 4.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 62832.32,\n      \"type\": \"swing_low\",\n      \"source\": \"Candlestick·Derivatives (EMA20 $62,832.32, 하단 청산 $62,400/$62,300), Fibonacci (0.618 황금비 $63,013.89), Harmonic (Bullish Bat D $62,956.63 삼중 Fib confluence)\",\n      \"description\": \"셋업 하방 압력이 이어지며 EMA20 $62,832.32까지 딥. 이 구간은 fib 0.618 황금비 $63,013.89, 엄격 등급 harmonic Bullish Bat D $62,956.63(XAD·BC_EXT·ABCD 삼중 confluence), 파생 EMA20 되돌림·하단 청산 $62,400 자석이 겹치는 핵심 매수 반응 zone이다. Wyckoff 축적 Phase D 구조상 매수 측이 방어하는 1차 스윙 저점이며, 캔들 고거래량 bullish engulfing(quality 0.695) 반등 논리와 구조 bullish bias가 이 구간에서 재개될 후보.\",\n      \"est_hours\": 10.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 63990.7,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (ext_1.0 $63,990.70), ICT (이전 일 고가 $63,990.70·BOS $64,250.00), Derivatives (상단 청산 $64,200), Wyckoff (AR $64,250.00 접근)\",\n      \"description\": \"EMA20 방어 후 구조적 bullish 재개. 매수 반응으로 fib ext_1.0 $63,990.70(=이전 일 고가) 재탈환을 시도하며 상단 $64,200 파생 청산·Wyckoff AR $64,250.00 저항대로 접근한다. 다만 셋업이 여전히 프리미엄 상단 수용을 미확인하고 CVD -20.06·OI 감소로 상승 참여 품질이 약해, 24시간 내 $64,250 이상 안착은 제한적이며 저항 재거부 위험이 남는다.\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 64200.0, \"expected_low\": 63450.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 64200.0, \"expected_low\": 62956.63, \"high_first\": true},\n    \"24h\": {\"expected_high\": 64200.0, \"expected_low\": 62832.32, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 64691.9, \"description\": \"4시간봉 종가가 7일 고점 $64,691.90(및 EMA240 $64,675.67) 위로 수용되면 Wyckoff Phase E 돌파가 확정되고 프리미엄 저항이 무효화된다. 파생 상단 청산 자석 $66,100을 향한 숏 스퀴즈로 상승 가속, 이 경우 WP1~WP2의 하방 딥 경로는 스킵되고 즉시 상승 전개로 전환.\"},\n    \"bearish\": {\"price\": 62386.25, \"description\": \"WP2 EMA20 $62,832 이탈 후 EMA120 $62,386.25(캔들 bullish engulfing 반등 무효 라인) 하회 시 하방 가속. Wyckoff LPS $61,297.00 및 ICT EQ $61,225.25 재시험으로 확장되며 구조 핵심 방어 구간($61,297~$60,924.70) 시험 국면으로 진입.\"}\n  },\n  \"scenario_invalidation\": 60924.7\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 63450.0,
        "turning_zone": [
          63290,
          63500
        ],
        "likely_wick": 63386,
        "rejection_confirm": 63550,
        "invalid_overshoot": 63250,
        "calibration_reasoning": "fib 0.382 $63,386.91과 harmonic Bat PRZ 상단 $63,386.13이 겹치는 타이트한 지지 confluence가 wick 자석이며, 상단 후보 fib_confluence $63,502.29가 존 상단을 제한한다. 클러스터가 조밀해 존 폭은 ~0.26 ATR로 좁게 잡았고, $63,250 이탈은 반등 없이 황금비($63,013.89)로 이어져 이 turning point를 무효화한다."
      },
      {
        "seq": 2,
        "base_target": 62832.32,
        "turning_zone": [
          62360,
          62850
        ],
        "likely_wick": 62660,
        "rejection_confirm": 63020,
        "invalid_overshoot": 62280,
        "calibration_reasoning": "base는 EMA20이고 바로 위 황금비 $63,013.89·엄격 harmonic D $62,956.63(pre-confirmation 확인용 confluence)의 지지 밀집을 감안해 1차 wick은 fib_confluence $62,663.20(2레벨)이 최유력이다. 다만 하단 청산 $62,400 자석·스윙저점 $62,410·Chairman $62,386.25를 포함하도록 존을 $62,360까지 확장(Phase D 스프링 대비)했고, 황금비 $63,013.89 재탈환이 반전 확정 신호다."
      },
      {
        "seq": 3,
        "base_target": 63990.7,
        "turning_zone": [
          64050,
          64600
        ],
        "likely_wick": 64250,
        "rejection_confirm": 63900,
        "invalid_overshoot": 64700,
        "calibration_reasoning": "fib ext_1.0(=이전 일 고가)를 base로, 상단 파생 청산 $64,200과 Wyckoff AR $64,250이 1차 재거부 존이며 셋업이 '$64,250 이상 수용 제한적'이라 likely_wick을 AR $64,250에 배치했다. 터미널이라 존을 fib_confluence $64,532.85·조건부(pre-confirmation) harmonic TP1 $64,598.76까지 ~0.68 ATR로 넓혔고, 7일 고점 $64,691.90 위 수용($64,700)은 프리미엄 상단 수용=강세 돌파로 전환되어 무효화된다."
      }
    ],
    "executive_summary": "셋업이 74% bearish로 하방 우위라 wp1·wp2는 각 지지 클러스터 하단으로의 wick 오버슈트를 반영해 존을 설정했다(특히 wp2는 $62,400 청산 자석까지 확장). 터미널 wp3는 Wyckoff AR $64,250 재거부를 중심으로 fib $64,532~조건부 harmonic $64,598까지 넓은 존으로 캘리브레이션했으며, 프리미엄 상단(7일 고점 $64,691.90) 위 수용이 전체 하방→반등 시나리오의 핵심 무효화 지점이다. 모든 harmonic 레벨은 pre-confirmation 상태라 waypoint를 이동시키지 않고 confluence·조건부 상단 컨텍스트로만 사용했다.",
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 63450.00,\n      \"turning_zone\": [63290, 63500],\n      \"likely_wick\": 63386,\n      \"rejection_confirm\": 63550,\n      \"invalid_overshoot\": 63250,\n      \"calibration_reasoning\": \"fib 0.382 $63,386.91과 harmonic Bat PRZ 상단 $63,386.13이 겹치는 타이트한 지지 confluence가 wick 자석이며, 상단 후보 fib_confluence $63,502.29가 존 상단을 제한한다. 클러스터가 조밀해 존 폭은 ~0.26 ATR로 좁게 잡았고, $63,250 이탈은 반등 없이 황금비($63,013.89)로 이어져 이 turning point를 무효화한다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 62832.32,\n      \"turning_zone\": [62360, 62850],\n      \"likely_wick\": 62660,\n      \"rejection_confirm\": 63020,\n      \"invalid_overshoot\": 62280,\n      \"calibration_reasoning\": \"base는 EMA20이고 바로 위 황금비 $63,013.89·엄격 harmonic D $62,956.63(pre-confirmation 확인용 confluence)의 지지 밀집을 감안해 1차 wick은 fib_confluence $62,663.20(2레벨)이 최유력이다. 다만 하단 청산 $62,400 자석·스윙저점 $62,410·Chairman $62,386.25를 포함하도록 존을 $62,360까지 확장(Phase D 스프링 대비)했고, 황금비 $63,013.89 재탈환이 반전 확정 신호다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 63990.70,\n      \"turning_zone\": [64050, 64600],\n      \"likely_wick\": 64250,\n      \"rejection_confirm\": 63900,\n      \"invalid_overshoot\": 64700,\n      \"calibration_reasoning\": \"fib ext_1.0(=이전 일 고가)를 base로, 상단 파생 청산 $64,200과 Wyckoff AR $64,250이 1차 재거부 존이며 셋업이 '$64,250 이상 수용 제한적'이라 likely_wick을 AR $64,250에 배치했다. 터미널이라 존을 fib_confluence $64,532.85·조건부(pre-confirmation) harmonic TP1 $64,598.76까지 ~0.68 ATR로 넓혔고, 7일 고점 $64,691.90 위 수용($64,700)은 프리미엄 상단 수용=강세 돌파로 전환되어 무효화된다.\"\n    }\n  ],\n  \"executive_summary\": \"셋업이 74% bearish로 하방 우위라 wp1·wp2는 각 지지 클러스터 하단으로의 wick 오버슈트를 반영해 존을 설정했다(특히 wp2는 $62,400 청산 자석까지 확장). 터미널 wp3는 Wyckoff AR $64,250 재거부를 중심으로 fib $64,532~조건부 harmonic $64,598까지 넓은 존으로 캘리브레이션했으며, 프리미엄 상단(7일 고점 $64,691.90) 위 수용이 전체 하방→반등 시나리오의 핵심 무효화 지점이다. 모든 harmonic 레벨은 pre-confirmation 상태라 waypoint를 이동시키지 않고 confluence·조건부 상단 컨텍스트로만 사용했다.\"\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 29.5,
      "chairman": 41.5,
      "operating_path": 311.7,
      "tp_calibrator": 444.1
    },
    "agents": {},
    "total_s": 826.8
  }
}