{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-05-26 09:00 KST",
  "last_price": 77274.5,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $77,274.50는 7일 범위 EQ 약 $76,191.80 위에 있어 프리미엄 구간에 위치",
        "EMA120 $77,826.70가 현재가 위에서 단기 저항으로 작용하며, 7일 고점 $78,180.00과 가까운 공급 구간 형성",
        "최근 후보 패턴 중 bearish_harami 품질 0.596, bearish_engulfing 품질 0.578로 약한 매도 반전 후보 존재",
        "최근 5개 4시간봉이 +0.3% 반등 이후 -0.2%, -0.2%, -0.0%로 상승 추력이 둔화",
        "고거래량 패턴이 없어 돌파 확정이나 강한 매수 참여 확인이 부족"
      ],
      "reasoning": "현재 BTC는 $77,274.50로 EMA20 $76,965.40 및 EMA240 $77,108.88 위에 있어 단기 지지는 살아 있지만, EMA120 $77,826.70 아래에 머물며 구조적 돌파는 확인되지 않았습니다. 최근 패턴은 bullish_engulfing도 있으나 품질이 0.424, 0.404로 낮고, bearish_harami 0.596 및 bearish_engulfing 0.578이 더 우세한 반전 후보로 나타납니다. 다만 bull_score 2.10이 bear_score 1.35보다 높아 즉각적인 강한 하락 신호라기보다는, 프리미엄 구간에서 저항 반응을 보는 약한 bearish setup으로 해석됩니다. $78,180.00 7일 고점 돌파 및 안착 전까지는 구조_bias는 중립, setup_bias는 단기 하방 경계입니다.",
      "key_levels": {
        "support": [
          77108.88,
          76965.4,
          76191.8,
          74203.6
        ],
        "resistance": [
          77826.7,
          78180.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,180.00 상향 돌파 및 4시간봉 종가 안착",
      "risk_scenario": "$78,180.00을 강하게 돌파하면 bearish setup은 무효화되며, EMA120 $77,826.70 회복과 함께 숏 커버링성 상승이 이어질 수 있습니다. 반대로 $76,965.40 EMA20과 $77,108.88 EMA240을 동시에 이탈하면 $76,191.80 EQ 부근까지 되돌림이 확대될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 144,
        "recent_patterns": 6,
        "pattern_list": [
          "bearish_engulfing@290",
          "bullish_engulfing@294",
          "bullish_engulfing@296",
          "doji@293",
          "bullish_harami@291",
          "bearish_harami@295"
        ],
        "atr_value": 664.77,
        "vol_avg_20": 16979.93,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.596,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.578,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.424,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.409,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.404,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.596,
        "bull_score": 2.1,
        "bear_score": 1.35
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $77,274.50는 7일 범위 EQ 약 $76,191.80 위에 있어 프리미엄 구간에 위치\",\n    \"EMA120 $77,826.70가 현재가 위에서 단기 저항으로 작용하며, 7일 고점 $78,180.00과 가까운 공급 구간 형성\",\n    \"최근 후보 패턴 중 bearish_harami 품질 0.596, bearish_engulfing 품질 0.578로 약한 매도 반전 후보 존재\",\n    \"최근 5개 4시간봉이 +0.3% 반등 이후 -0.2%, -0.2%, -0.0%로 상승 추력이 둔화\",\n    \"고거래량 패턴이 없어 돌파 확정이나 강한 매수 참여 확인이 부족\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,274.50로 EMA20 $76,965.40 및 EMA240 $77,108.88 위에 있어 단기 지지는 살아 있지만, EMA120 $77,826.70 아래에 머물며 구조적 돌파는 확인되지 않았습니다. 최근 패턴은 bullish_engulfing도 있으나 품질이 0.424, 0.404로 낮고, bearish_harami 0.596 및 bearish_engulfing 0.578이 더 우세한 반전 후보로 나타납니다. 다만 bull_score 2.10이 bear_score 1.35보다 높아 즉각적인 강한 하락 신호라기보다는, 프리미엄 구간에서 저항 반응을 보는 약한 bearish setup으로 해석됩니다. $78,180.00 7일 고점 돌파 및 안착 전까지는 구조_bias는 중립, setup_bias는 단기 하방 경계입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77108.88,\n      76965.4,\n      76191.8,\n      74203.6\n    ],\n    \"resistance\": [\n      77826.7,\n      78180.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,180.00 상향 돌파 및 4시간봉 종가 안착\",\n  \"risk_scenario\": \"$78,180.00을 강하게 돌파하면 bearish setup은 무효화되며, EMA120 $77,826.70 회복과 함께 숏 커버링성 상승이 이어질 수 있습니다. 반대로 $76,965.40 EMA20과 $77,108.88 EMA240을 동시에 이탈하면 $76,191.80 EQ 부근까지 되돌림이 확대될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $77,274.50가 EQ $76,328.30 위에 있어 프리미엄 영역에서 거래 중",
        "현재 되돌림이 82.2%로 깊어졌고, 최고 되돌림 92.7%까지 발생해 매도 재진입 구간에 근접",
        "가격이 EMA120 $77,826.70 아래에 머물러 중기 동적 저항을 회복하지 못함",
        "이전일 고가 $77,887.90 및 7일 고가 $78,180.00 아래에서 정체되어 상단 유동성 회수 실패",
        "활성 bullish OB와 미체결 bullish FVG가 없어 $77,274.50 부근에서 강한 기관 매수 방어 근거가 부족"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 BOS_bearish $79,137.40, BOS_bearish $78,713.80, BOS_bearish $76,014.20 순으로 이어졌고, 연속 bearish BOS가 3회 발생해 하락 구조가 우세하다. 현재가는 $77,274.50로 EQ $76,328.30 위 프리미엄 영역에 있으며, EMA120 $77,826.70 아래에서 막혀 있어 기관 관점에서는 반등 매도 구간에 가깝다. 다만 활성 OB와 미체결 FVG, 최근 유동성 스윕이 모두 없어 진입 근거는 구조 중심이며, $78,453.00 범위 고점을 회복하면 단기 bearish setup은 약화된다.",
      "key_levels": {
        "support": [
          76328.3,
          76056.0,
          76014.2,
          74203.6
        ],
        "resistance": [
          77826.7,
          77887.9,
          78180.0,
          78453.0,
          78713.8,
          79137.4
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$78,453.00",
      "risk_scenario": "$78,453.00 범위 고점을 4시간봉 기준으로 회복하고 수용되면, 현재 프리미엄 매도 setup은 실패로 보고 $78,713.80 및 $79,137.40의 bearish BOS 레벨 재테스트까지 숏 스퀴즈가 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 54,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 78300.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 77100.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 79455.0
          },
          {
            "type": "BOS_bearish",
            "level": 79137.4
          },
          {
            "type": "BOS_bearish",
            "level": 78713.8
          },
          {
            "type": "BOS_bearish",
            "level": 76014.2
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 3,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 76328.3,
        "range_high": 78453.0,
        "range_low": 74203.6,
        "bull_score": 4.7,
        "bear_score": 12.2,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $77,100.00",
          "bearish BOS below $79,137.40",
          "bearish BOS below $78,713.80",
          "bearish BOS below $76,014.20",
          "3x consecutive bearish BOS"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 82.2,
        "deepest_retracement_pct": 92.7,
        "previous_day_high": 77887.9,
        "previous_day_low": 76056.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $77,274.50가 EQ $76,328.30 위에 있어 프리미엄 영역에서 거래 중\",\n    \"현재 되돌림이 82.2%로 깊어졌고, 최고 되돌림 92.7%까지 발생해 매도 재진입 구간에 근접\",\n    \"가격이 EMA120 $77,826.70 아래에 머물러 중기 동적 저항을 회복하지 못함\",\n    \"이전일 고가 $77,887.90 및 7일 고가 $78,180.00 아래에서 정체되어 상단 유동성 회수 실패\",\n    \"활성 bullish OB와 미체결 bullish FVG가 없어 $77,274.50 부근에서 강한 기관 매수 방어 근거가 부족\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 BOS_bearish $79,137.40, BOS_bearish $78,713.80, BOS_bearish $76,014.20 순으로 이어졌고, 연속 bearish BOS가 3회 발생해 하락 구조가 우세하다. 현재가는 $77,274.50로 EQ $76,328.30 위 프리미엄 영역에 있으며, EMA120 $77,826.70 아래에서 막혀 있어 기관 관점에서는 반등 매도 구간에 가깝다. 다만 활성 OB와 미체결 FVG, 최근 유동성 스윕이 모두 없어 진입 근거는 구조 중심이며, $78,453.00 범위 고점을 회복하면 단기 bearish setup은 약화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      76328.3,\n      76056.0,\n      76014.2,\n      74203.6\n    ],\n    \"resistance\": [\n      77826.7,\n      77887.9,\n      78180.0,\n      78453.0,\n      78713.8,\n      79137.4\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$78,453.00\",\n  \"risk_scenario\": \"$78,453.00 범위 고점을 4시간봉 기준으로 회복하고 수용되면, 현재 프리미엄 매도 setup은 실패로 보고 $78,713.80 및 $79,137.40의 bearish BOS 레벨 재테스트까지 숏 스퀴즈가 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.66,
      "setup_signals": [
        "가격 $77,274.50은 7일 range EQ 약 $76,191.80 위의 premium zone에 위치",
        "상단 유동성 $77,500이 현재가 바로 위에 있고, 추가 저항/청산 클러스터가 $78,200 및 $79,800에 집중",
        "CVD divergence 0.700 및 CVD change +$2,182.81: 공격적 매수 유입 대비 가격은 24h +0.37%에 그쳐 상단 흡수 가능성",
        "OI 24h 변화 0.614 및 oi_trend 0.561: 가격 정체 구간에서 신규 포지션이 증가해 변동성 확대 위험",
        "spot-futures basis -0.0560%: 선물이 현물 대비 할인되어 파생시장 수요가 강하지 않음",
        "long accounts 24h -0.0355, short accounts +0.035: 숏 계정 유입은 있으나 account_short_crowding 0.000으로 아직 강한 contrarian 롱 신호는 아님"
      ],
      "reasoning": "현재 BTC는 $77,274.50으로 EMA20 $76,965.40 위에 있지만 EMA120 $77,826.70 아래에 있어 단기 반등은 유지되나 중기 구조적 돌파는 아직 확인되지 않았다. 7일 고점 $78,180 부근과 청산 레벨 $78,200이 바로 위에 있어 상단 유동성 사냥 가능성은 있으나, CVD divergence 0.700과 CVD change +$2,182.81 대비 가격 상승폭이 제한되어 매수세가 저항에서 흡수되는 모습이다. OI가 증가하는 가운데 funding_pressure 0.451과 funding_avg 0.000으로 방향성 확증은 약하며, basis -0.0560%는 파생시장 프리미엄 부족을 보여준다. 따라서 확인된 구조는 중립이지만, 프리미엄 구간에서 상단 유동성 근접 및 매수 흡수 조짐이 있어 4~8시간 관점의 setup은 약한 bearish로 본다.",
      "key_levels": {
        "support": [
          76965.4,
          76191.8,
          75200,
          74300,
          74203.6
        ],
        "resistance": [
          77500,
          77826.7,
          78180,
          78200,
          79800
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,200 이상 4시간봉 종가 안착",
      "risk_scenario": "반대로 $78,200 위에서 4시간봉이 안착하면 상단 청산 클러스터가 연쇄적으로 트리거되며 $79,800까지 숏 커버링이 확대될 수 있다. 이 경우 현재의 CVD 흡수 해석은 무효화되고, OI 증가가 방향성 롱 포지션 유입으로 재해석될 가능성이 높다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 2182.811,
        "oi_trend": 0.561,
        "oi_change_pct_24h": 0.614,
        "oi_latest": 99737.903,
        "funding_pressure": 0.451,
        "funding_avg": 4.89e-05,
        "funding_change_24h": 1.509e-05,
        "long_account_ratio": 0.517,
        "short_account_ratio": 0.483,
        "long_account_latest": 0.502,
        "short_account_latest": 0.498,
        "long_account_change_24h": -0.0355,
        "short_account_change_24h": 0.0355,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.145,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.486,
        "spot_futures_basis_pct": -0.056,
        "basis_change_lookback": -0.0028,
        "aggregate_score": 0.44,
        "bull_signals": 2,
        "bear_signals": 1,
        "liq_below": [
          [
            75200,
            16590.801142049997
          ],
          [
            74300,
            17818.315067
          ],
          [
            69600,
            16672.232141250002
          ]
        ],
        "liq_above": [
          [
            77500,
            13930.3839279
          ],
          [
            78200,
            14784.84627195
          ],
          [
            79800,
            18858.860459
          ]
        ],
        "strongest_liq_level": 84400,
        "fragility_score": 0.849,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"가격 $77,274.50은 7일 range EQ 약 $76,191.80 위의 premium zone에 위치\",\n    \"상단 유동성 $77,500이 현재가 바로 위에 있고, 추가 저항/청산 클러스터가 $78,200 및 $79,800에 집중\",\n    \"CVD divergence 0.700 및 CVD change +$2,182.81: 공격적 매수 유입 대비 가격은 24h +0.37%에 그쳐 상단 흡수 가능성\",\n    \"OI 24h 변화 0.614 및 oi_trend 0.561: 가격 정체 구간에서 신규 포지션이 증가해 변동성 확대 위험\",\n    \"spot-futures basis -0.0560%: 선물이 현물 대비 할인되어 파생시장 수요가 강하지 않음\",\n    \"long accounts 24h -0.0355, short accounts +0.035: 숏 계정 유입은 있으나 account_short_crowding 0.000으로 아직 강한 contrarian 롱 신호는 아님\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,274.50으로 EMA20 $76,965.40 위에 있지만 EMA120 $77,826.70 아래에 있어 단기 반등은 유지되나 중기 구조적 돌파는 아직 확인되지 않았다. 7일 고점 $78,180 부근과 청산 레벨 $78,200이 바로 위에 있어 상단 유동성 사냥 가능성은 있으나, CVD divergence 0.700과 CVD change +$2,182.81 대비 가격 상승폭이 제한되어 매수세가 저항에서 흡수되는 모습이다. OI가 증가하는 가운데 funding_pressure 0.451과 funding_avg 0.000으로 방향성 확증은 약하며, basis -0.0560%는 파생시장 프리미엄 부족을 보여준다. 따라서 확인된 구조는 중립이지만, 프리미엄 구간에서 상단 유동성 근접 및 매수 흡수 조짐이 있어 4~8시간 관점의 setup은 약한 bearish로 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      76965.4,\n      76191.8,\n      75200,\n      74300,\n      74203.6\n    ],\n    \"resistance\": [\n      77500,\n      77826.7,\n      78180,\n      78200,\n      79800\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,200 이상 4시간봉 종가 안착\",\n  \"risk_scenario\": \"반대로 $78,200 위에서 4시간봉이 안착하면 상단 청산 클러스터가 연쇄적으로 트리거되며 $79,800까지 숏 커버링이 확대될 수 있다. 이 경우 현재의 CVD 흡수 해석은 무효화되고, OI 증가가 방향성 롱 포지션 유입으로 재해석될 가능성이 높다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.65,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $77,274.50가 하락 스윙 $78,180→$76,056의 EQ ret_0.5 $77,118.00 위에 있어 프리미엄 구간에 위치",
        "현재가가 골든비율 ret_0.618 $77,368.63 바로 아래에서 테스트 중이며 거리 점수 0.120으로 매우 근접",
        "ret_0.382·ret_0.5·ret_0.618이 겹치는 $77,180.12 컨플루언스 존의 cluster_score가 0.85로 높음",
        "상단 저항 ret_0.786 $77,725.46 및 EMA120 $77,826.70이 가까워 반등 추격보다 저항 반응 가능성이 우세",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로 산출되어 0.618 저항 반응 가능성이 중간 이상"
      ],
      "reasoning": "확인된 최근 스윙은 $78,180 고점에서 $76,056 저점으로 내려온 하락 구조이며, 현재 가격 $77,274.50은 이 하락폭의 0.618 되돌림 $77,368.63 바로 아래에서 저항을 테스트하고 있습니다. $77,118.00의 0.5 되돌림 위에 있어 단기적으로는 프리미엄 구간이며, $77,180.12 부근에는 ret_0.382·ret_0.5·ret_0.618 컨플루언스가 형성되어 cluster_score 0.85로 되돌림 매도 구간의 신뢰도가 높습니다. 구조적으로는 $77,725.46의 0.786 되돌림과 $78,180 스윙 고점을 회복하지 못했기 때문에 하락 스윙 내 반등으로 해석하는 것이 우선입니다. 단기 하락 반응이 나오면 1차 $77,118.00, 2차 $76,867.37, 3차 $76,557.26이 순차 지지이며, 이탈 시 $75,478.27과 $75,176.66 확장 목표가 열립니다.",
      "key_levels": {
        "support": [
          77118.0,
          76867.37,
          76557.26,
          76056.0,
          75478.27,
          75176.66
        ],
        "resistance": [
          77368.63,
          77725.46,
          77826.7,
          78180.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$77,725.46 4시간봉 종가 상향 돌파",
      "risk_scenario": "반대 시나리오는 가격이 ret_0.618 $77,368.63을 흡수한 뒤 ret_0.786 $77,725.46 위에서 4시간봉 종가 안착하는 경우입니다. 이 경우 하락 되돌림 매도 셋업은 약화되고, EMA120 $77,826.70 및 스윙 고점 $78,180.00 재테스트로 확장될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $78,180 → $76,056",
        "direction": "down",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 77368.63,
        "nearest_fib_distance": 0.12,
        "golden_ratio_level": 77368.63,
        "fib_ret_382": 76867.37,
        "fib_ret_618": 77368.63,
        "confluence_zones": [
          {
            "price": 75308.26,
            "count": 3,
            "levels": [
              "ext_1.414",
              "ret_0.5",
              "ext_1.272"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 77180.12,
            "count": 3,
            "levels": [
              "ret_0.382",
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 76712.32,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          77118.0,
          76867.368,
          76557.264
        ],
        "resistance_levels": [
          77368.632,
          77725.464
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 76557.26,
            "distance_pct": 0.93,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 76867.37,
            "distance_pct": 0.53,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 77118.0,
            "distance_pct": 0.2,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 77368.63,
            "distance_pct": 0.12,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 77725.46,
            "distance_pct": 0.58,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 76056.0,
            "distance_pct": 1.58,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 75478.27,
            "distance_pct": 2.32,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 75176.66,
            "distance_pct": 2.71,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 74743.37,
            "distance_pct": 3.28,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 73932.0,
            "distance_pct": 4.33,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.65,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $77,274.50가 하락 스윙 $78,180→$76,056의 EQ ret_0.5 $77,118.00 위에 있어 프리미엄 구간에 위치\",\n    \"현재가가 골든비율 ret_0.618 $77,368.63 바로 아래에서 테스트 중이며 거리 점수 0.120으로 매우 근접\",\n    \"ret_0.382·ret_0.5·ret_0.618이 겹치는 $77,180.12 컨플루언스 존의 cluster_score가 0.85로 높음\",\n    \"상단 저항 ret_0.786 $77,725.46 및 EMA120 $77,826.70이 가까워 반등 추격보다 저항 반응 가능성이 우세\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로 산출되어 0.618 저항 반응 가능성이 중간 이상\"\n  ],\n  \"reasoning\": \"확인된 최근 스윙은 $78,180 고점에서 $76,056 저점으로 내려온 하락 구조이며, 현재 가격 $77,274.50은 이 하락폭의 0.618 되돌림 $77,368.63 바로 아래에서 저항을 테스트하고 있습니다. $77,118.00의 0.5 되돌림 위에 있어 단기적으로는 프리미엄 구간이며, $77,180.12 부근에는 ret_0.382·ret_0.5·ret_0.618 컨플루언스가 형성되어 cluster_score 0.85로 되돌림 매도 구간의 신뢰도가 높습니다. 구조적으로는 $77,725.46의 0.786 되돌림과 $78,180 스윙 고점을 회복하지 못했기 때문에 하락 스윙 내 반등으로 해석하는 것이 우선입니다. 단기 하락 반응이 나오면 1차 $77,118.00, 2차 $76,867.37, 3차 $76,557.26이 순차 지지이며, 이탈 시 $75,478.27과 $75,176.66 확장 목표가 열립니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77118.0,\n      76867.37,\n      76557.26,\n      76056.0,\n      75478.27,\n      75176.66\n    ],\n    \"resistance\": [\n      77368.63,\n      77725.46,\n      77826.7,\n      78180.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$77,725.46 4시간봉 종가 상향 돌파\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 ret_0.618 $77,368.63을 흡수한 뒤 ret_0.786 $77,725.46 위에서 4시간봉 종가 안착하는 경우입니다. 이 경우 하락 되돌림 매도 셋업은 약화되고, EMA120 $77,826.70 및 스윙 고점 $78,180.00 재테스트로 확장될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "확정 구조 BOS/CHoCH 데이터는 없으나, strict 등급 completed bullish Bat가 D $76,056.00에서 완성되고 PRZ $75,267.38-$76,622.56을 방어함",
        "해당 bullish Bat는 PRZ_rejection_or_defense, AD0.236_reaction_reached, PRZ_center_reclaimed_or_rejected, D_PRZ_failure_zone_defended가 확인되어 reaction_score 0.95",
        "현재가 $77,274.50는 Bat PRZ 상단 $76,622.56 위에서 유지 중이며, D $76,056.00 대비 반등 상태",
        "검증된 bullish Bat TP ladder는 TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70로 상방 waypoint를 제공",
        "반대편에는 candidate 등급 bearish Gartley PRZ $77,580.88-$78,615.11가 활성권에 있어 $78,000대 초반은 단기 저항/반응 위험 구간"
      ],
      "reasoning": "4h 기준으로 가장 유효한 council PRZ는 strict/medium completed bullish Bat이며, PRZ $75,267.38-$76,622.56에서 D $76,056.00 형성 후 방어가 확인되었습니다. 이 패턴은 reaction_score 0.95, directional_vote_weight 0.58로 vote-eligible이지만, 하모닉 단독으로 구조 전환을 확정할 수 없으므로 structure_bias는 neutral로 둡니다. 현재가 $77,274.50는 PRZ 상단 $76,622.56 위에 있고 EMA20 $76,965.40도 소폭 상회하여 단기 반등 setup은 bullish입니다. 다만 $77,580.88-$78,615.11의 candidate bearish Gartley 활성 PRZ와 7일 고점 $78,180.00 부근이 겹쳐, TP1 $78,574.55 접근 시 매도 반응 위험을 반드시 감시해야 합니다.",
      "key_levels": {
        "support": [
          76965.4,
          76622.56,
          76056.0,
          75267.38
        ],
        "resistance": [
          77580.88,
          78180.0,
          78574.55,
          80199.11,
          82828.7
        ]
      },
      "time_horizon": "단기~중기, 4시간봉 기준",
      "invalidation_level": "$75,267.38 4시간봉 종가 이탈",
      "risk_scenario": "가격이 $77,580.88-$78,615.11 bearish Gartley 후보 PRZ에서 강하게 거절되고 $76,622.56 아래로 재진입하면, bullish Bat 반등은 실패성 되돌림으로 약화됩니다. 이후 $76,056.00 D 저점과 PRZ 하단 $75,267.38이 순차적으로 깨질 경우 $74,203.60 7일 저점 유동성 재탐색 위험이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 102,
        "completed_patterns_found": 42,
        "forming_d_prz_found": 60,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "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": 6,
          "medium": 38,
          "low": 58
        },
        "prz_status_counts": {
          "active": 43,
          "nearby": 17,
          "watch": 22,
          "far": 20,
          "forming": 14
        },
        "high_confluence_prz_count": 22,
        "strict_patterns_found": 43,
        "candidate_patterns_found": 59,
        "active_patterns_at_prz": 43,
        "nearby_patterns": 17,
        "all_patterns": [
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "crab",
          "bat",
          "gartley",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "bat",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "shark",
          "crab",
          "bat",
          "bat",
          "shark",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.92,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 77297.96,
        "price_to_prz": 0.03,
        "prz_range": [
          76131.82,
          78464.09
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.38,
            "price_to_prz_pct_raw": 2.3758,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 169,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.888,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.21,
            "price_to_prz_pct_raw": 3.2118,
            "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 191,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.861,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.21,
            "price_to_prz_pct_raw": 3.2118,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.826,
                "adverse_move_ratio_ad": 0.409,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 191,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": 219
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.841,
            "ratio_score": 0.68,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 78098.0,
            "prz_range": [
              77580.88,
              78615.11
            ],
            "prz_width_pct": 1.324,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.07,
            "price_to_prz_pct_raw": 1.0657,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 78098.0,
              "a_price": 76014.2,
              "tp1_ad_382": 77301.99,
              "tp2_ad_618": 76810.21,
              "tp3_a_or_structure_liquidity": 76014.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.9736
            },
            "x_price": 78564.3,
            "x_idx": 247,
            "x_order": 5,
            "a_price": 76014.2,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 77600.0,
            "b_idx": 289,
            "b_order": 3,
            "c_price": 76056.0,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.825,
            "ratio_score": 0.746,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77887.9,
            "prz_range": [
              77580.88,
              78615.11
            ],
            "prz_width_pct": 1.324,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.07,
            "price_to_prz_pct_raw": 1.0657,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.468,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "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": 78098.0,
              "a_price": 76014.2,
              "tp1_ad_382": 77301.99,
              "tp2_ad_618": 76810.21,
              "tp3_a_or_structure_liquidity": 76014.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.9736,
              "BCD": 1.1865,
              "XAD": 0.7348
            },
            "x_price": 78564.3,
            "x_idx": 247,
            "x_order": 5,
            "a_price": 76014.2,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 77600.0,
            "b_idx": 289,
            "b_order": 3,
            "c_price": 76056.0,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": 296
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.92,
            "ratio_score": 0.984,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.72,
            "price_to_prz_pct_raw": -1.7205,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085
            },
            "x_price": 74868.0,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 181,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 247,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.889,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.54,
            "price_to_prz_pct_raw": 2.5401,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 169,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.881,
            "ratio_score": 0.915,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76056.0,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.72,
            "price_to_prz_pct_raw": -1.7205,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.27,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.0282,
              "XAD": 0.8508
            },
            "x_price": 74868.0,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 181,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 247,
            "c_order": 5,
            "d_idx": 292
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.881,
            "ratio_score": 0.915,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76056.0,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.72,
            "price_to_prz_pct_raw": -1.7205,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.27,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.0282,
              "XAD": 0.8508
            },
            "x_price": 74868.0,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 181,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 247,
            "c_order": 5,
            "d_idx": 292
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.38,
            "price_to_prz_pct_raw": 2.3758,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 169,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.888,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.21,
            "price_to_prz_pct_raw": 3.2118,
            "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 191,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.861,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.21,
            "price_to_prz_pct_raw": 3.2118,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.826,
                "adverse_move_ratio_ad": 0.409,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 191,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": 219
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.841,
            "ratio_score": 0.68,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 78098.0,
            "prz_range": [
              77580.88,
              78615.11
            ],
            "prz_width_pct": 1.324,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.07,
            "price_to_prz_pct_raw": 1.0657,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 78098.0,
              "a_price": 76014.2,
              "tp1_ad_382": 77301.99,
              "tp2_ad_618": 76810.21,
              "tp3_a_or_structure_liquidity": 76014.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.9736
            },
            "x_price": 78564.3,
            "x_idx": 247,
            "x_order": 5,
            "a_price": 76014.2,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 77600.0,
            "b_idx": 289,
            "b_order": 3,
            "c_price": 76056.0,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.825,
            "ratio_score": 0.746,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77887.9,
            "prz_range": [
              77580.88,
              78615.11
            ],
            "prz_width_pct": 1.324,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.07,
            "price_to_prz_pct_raw": 1.0657,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.468,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "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": 78098.0,
              "a_price": 76014.2,
              "tp1_ad_382": 77301.99,
              "tp2_ad_618": 76810.21,
              "tp3_a_or_structure_liquidity": 76014.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.9736,
              "BCD": 1.1865,
              "XAD": 0.7348
            },
            "x_price": 78564.3,
            "x_idx": 247,
            "x_order": 5,
            "a_price": 76014.2,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 77600.0,
            "b_idx": 289,
            "b_order": 3,
            "c_price": 76056.0,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": 296
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.92,
            "ratio_score": 0.984,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.72,
            "price_to_prz_pct_raw": -1.7205,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085
            },
            "x_price": 74868.0,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 181,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 247,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.889,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.54,
            "price_to_prz_pct_raw": 2.5401,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 169,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.881,
            "ratio_score": 0.915,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76056.0,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.72,
            "price_to_prz_pct_raw": -1.7205,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.27,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.0282,
              "XAD": 0.8508
            },
            "x_price": 74868.0,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 181,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 247,
            "c_order": 5,
            "d_idx": 292
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.854,
            "ratio_score": 0.831,
            "prz_score": 0.879,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77666.06,
            "prz_range": [
              76898.72,
              78433.41
            ],
            "prz_width_pct": 1.976,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.51,
            "price_to_prz_pct_raw": 0.5067,
            "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": 77666.06,
              "a_price": 76696.7,
              "tp1_ad_382": 77295.77,
              "tp2_ad_618": 77067.0,
              "tp3_a_or_structure_liquidity": 76696.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.609,
              "ABC": 1.7093
            },
            "x_price": 78180.0,
            "x_idx": 271,
            "x_order": 8,
            "a_price": 76696.7,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 77600.0,
            "b_idx": 289,
            "b_order": 3,
            "c_price": 76056.0,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.843,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.31,
            "price_to_prz_pct_raw": 2.3063,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "bullish",
              "source": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 162,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 181,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 208,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": 236
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.819,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.83,
            "price_to_prz_pct_raw": 2.8267,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827
            },
            "x_price": 79137.4,
            "x_idx": 191,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 223,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.785,
            "ratio_score": 0.748,
            "prz_score": 0.962,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78381.03,
              79576.86
            ],
            "prz_width_pct": 1.514,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.21,
            "price_to_prz_pct_raw": 2.2057,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "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.239,
                "adverse_move_ratio_ad": 0.262,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 78978.95,
              "a_price": 82460.5,
              "tp1_ad_382": 80308.9,
              "tp2_ad_618": 81130.55,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5999,
              "ABC": 0.8265,
              "BCD": 1.5419,
              "XAD": 0.8685
            },
            "x_price": 78027.0,
            "x_idx": 162,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 219,
            "b_order": 3,
            "c_price": 81999.0,
            "c_idx": 231,
            "c_order": 8,
            "d_idx": 236
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.881,
            "prz_proximity": "nearby",
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.72,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.27,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED MEDIUM PRZ $75,267.38-$76,622.56: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "completed",
          "pattern_quality": "strict",
          "quality": "medium",
          "pattern_score": 0.881,
          "ratio_score": 0.915,
          "prz_score": 0.913,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 76056.0,
          "prz_range": [
            75267.38,
            76622.56
          ],
          "prz_width_pct": 1.784,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -1.72,
          "price_to_prz_pct_raw": -1.7205,
          "harmonic_vote_state": {
            "authority": "post_confirmation_vote_eligible",
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "confirmation_reasons": [
              "PRZ_rejection_or_defense",
              "AD0.236_reaction_reached",
              "PRZ_center_reclaimed_or_rejected",
              "D_PRZ_failure_zone_defended",
              "post_D_close_progress"
            ],
            "reaction_score": 0.95,
            "reaction_detail": {
              "reaction_score": 0.95,
              "reaction_move_ratio_ad": 0.27,
              "adverse_move_ratio_ad": 0.0,
              "bars_after_d": 7,
              "reasons": [
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ]
            },
            "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.58,
          "confirmed_reaction": true,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.3803,
            "ABC": 0.4085,
            "BCD": 2.0282,
            "XAD": 0.8508
          },
          "x_price": 74868.0,
          "x_idx": 141,
          "x_order": 8,
          "a_price": 82828.7,
          "a_idx": 181,
          "a_order": 8,
          "b_price": 79801.0,
          "b_idx": 219,
          "b_order": 3,
          "c_price": 78564.3,
          "c_idx": 247,
          "c_order": 5,
          "d_idx": 292
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 75944.97,
          "a_price": 82828.7,
          "tp1_ad_382": 78574.55,
          "tp2_ad_618": 80199.11,
          "tp3_a_or_structure_liquidity": 82828.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 75944.97,
          "a_price": 82828.7,
          "tp1_ad_382": 78574.55,
          "tp2_ad_618": 80199.11,
          "tp3_a_or_structure_liquidity": 82828.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.256,
          "bearish": 0
        },
        "directional_score_total": 0.256,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"확정 구조 BOS/CHoCH 데이터는 없으나, strict 등급 completed bullish Bat가 D $76,056.00에서 완성되고 PRZ $75,267.38-$76,622.56을 방어함\",\n    \"해당 bullish Bat는 PRZ_rejection_or_defense, AD0.236_reaction_reached, PRZ_center_reclaimed_or_rejected, D_PRZ_failure_zone_defended가 확인되어 reaction_score 0.95\",\n    \"현재가 $77,274.50는 Bat PRZ 상단 $76,622.56 위에서 유지 중이며, D $76,056.00 대비 반등 상태\",\n    \"검증된 bullish Bat TP ladder는 TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70로 상방 waypoint를 제공\",\n    \"반대편에는 candidate 등급 bearish Gartley PRZ $77,580.88-$78,615.11가 활성권에 있어 $78,000대 초반은 단기 저항/반응 위험 구간\"\n  ],\n  \"reasoning\": \"4h 기준으로 가장 유효한 council PRZ는 strict/medium completed bullish Bat이며, PRZ $75,267.38-$76,622.56에서 D $76,056.00 형성 후 방어가 확인되었습니다. 이 패턴은 reaction_score 0.95, directional_vote_weight 0.58로 vote-eligible이지만, 하모닉 단독으로 구조 전환을 확정할 수 없으므로 structure_bias는 neutral로 둡니다. 현재가 $77,274.50는 PRZ 상단 $76,622.56 위에 있고 EMA20 $76,965.40도 소폭 상회하여 단기 반등 setup은 bullish입니다. 다만 $77,580.88-$78,615.11의 candidate bearish Gartley 활성 PRZ와 7일 고점 $78,180.00 부근이 겹쳐, TP1 $78,574.55 접근 시 매도 반응 위험을 반드시 감시해야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76965.4,\n      76622.56,\n      76056.0,\n      75267.38\n    ],\n    \"resistance\": [\n      77580.88,\n      78180.0,\n      78574.55,\n      80199.11,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"단기~중기, 4시간봉 기준\",\n  \"invalidation_level\": \"$75,267.38 4시간봉 종가 이탈\",\n  \"risk_scenario\": \"가격이 $77,580.88-$78,615.11 bearish Gartley 후보 PRZ에서 강하게 거절되고 $76,622.56 아래로 재진입하면, bullish Bat 반등은 실패성 되돌림으로 약화됩니다. 이후 $76,056.00 D 저점과 PRZ 하단 $75,267.38이 순차적으로 깨질 경우 $74,203.60 7일 저점 유동성 재탐색 위험이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.74,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.66,
      "setup_signals": [
        "현재가 $77,274.50는 메인 분배 레인지 EQ 약 $75,984.50 위에 있어 프리미엄 구간에 위치",
        "활성 재분배 후보 구조에서 최근 UT 후보 $77,887.90 아래로 되밀린 상태",
        "메인 레인지 상단/BC $78,300.00 부근 재진입 실패 시 공급 우위 유지",
        "이전 분배 구조의 LPSY $81,270.20 이후 가격이 하단부로 이동하며 반등이 공급 테스트 성격",
        "Phase B/C 약세 단서인 SOW_IN_PHASE_B $74,868.00 및 최근 약세 저점 $76,056.00이 존재"
      ],
      "reasoning": "4시간 기준 regime은 DIS이며 dis_score 96.2, regime_fitness 0.963으로 분배/재분배 해석의 신뢰도가 높다. 메인 분배 앵커는 BC $78,300.00, AR $73,669.00이며, 이후 ST $79,455.00, UT $79,145.00, UTAD $82,828.70, LPSY $81,270.20까지 형성되어 Phase D 성격의 공급 우위 구조가 확인된다. 현재가 $77,274.50는 레인지 EQ 약 $75,984.50 위의 프리미엄에 있지만, 최근 UT 후보 $77,887.90 및 메인 상단 $78,300.00을 명확히 회복하지 못해 즉시 경로도 상단 재거절 후 $76,056.00, $74,203.60, $73,669.00 재시험 쪽이 우세하다. 다만 가격이 아직 메인 레인지 내부에 있으므로 이는 확정적인 Phase E 하락이 아니라, 분배 구조 안의 재분배/상단 실패 테스트로 보는 것이 적절하다.",
      "key_levels": {
        "support": [
          76056.0,
          74203.6,
          73669.0
        ],
        "resistance": [
          77887.9,
          78300.0,
          81270.2,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$81,270.20를 4시간 종가 기준으로 회복 및 수용하면 현재 LPSY 기반 약세 해석은 크게 훼손되며, $82,828.70 상회 시 분배 구조 자체의 무효화 위험이 높아진다.",
      "risk_scenario": "반대 시나리오는 $77,887.90 UT 후보와 $78,300.00 메인 BC 상단을 회복한 뒤 지지 전환하는 경우다. 이 경우 현재의 상단 실패/재분배 셋업은 약화되고, 가격은 $79,145.00~$79,455.00의 이전 UT/ST 영역을 재시험할 수 있으며, 추가로 $81,270.20 LPSY 회복 시 구조적 약세 판단을 중립으로 낮춰야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 69,
            "price": 78300.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 83,
            "price": 73669.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 125,
            "price": 79455.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 141,
            "price": 74868.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 160,
            "price": 79145.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 181,
            "price": 82828.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 223,
            "price": 81270.2,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 69,
            "end_idx": 223,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 69,
                "price": 78300.0,
                "color": "#ffd166",
                "dt": "2026-04-18 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 83,
                "price": 73669.0,
                "color": "#06d6a0",
                "dt": "2026-04-20 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 125,
                "price": 79455.0,
                "color": "#118ab2",
                "dt": "2026-04-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 141,
                "price": 74868.0,
                "color": "#ef476f",
                "dt": "2026-04-30 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 160,
                "price": 79145.0,
                "color": "#f9844a",
                "dt": "2026-05-03 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 181,
                "price": 82828.7,
                "color": "#f9844a",
                "dt": "2026-05-06 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 223,
                "price": 81270.2,
                "color": "#8338ec",
                "dt": "2026-05-13 17:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "4h_cycle_2",
            "sequence": 2,
            "timeframe": "4h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 254,
            "end_idx": 296,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 254,
                "price": 76014.2,
                "color": "#ffd166",
                "dt": "2026-05-18 21:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 256,
                "price": 77187.3,
                "color": "#06d6a0",
                "dt": "2026-05-19 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 282,
                "price": 74203.6,
                "color": "#118ab2",
                "dt": "2026-05-23 13:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 292,
                "price": 76056.0,
                "color": "#ef476f",
                "dt": "2026-05-25 05:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 296,
                "price": 77887.9,
                "color": "#f9844a",
                "dt": "2026-05-25 21:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_2",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 73669.0,
        "main_range_high": 78300.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.74,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"현재가 $77,274.50는 메인 분배 레인지 EQ 약 $75,984.50 위에 있어 프리미엄 구간에 위치\",\n    \"활성 재분배 후보 구조에서 최근 UT 후보 $77,887.90 아래로 되밀린 상태\",\n    \"메인 레인지 상단/BC $78,300.00 부근 재진입 실패 시 공급 우위 유지\",\n    \"이전 분배 구조의 LPSY $81,270.20 이후 가격이 하단부로 이동하며 반등이 공급 테스트 성격\",\n    \"Phase B/C 약세 단서인 SOW_IN_PHASE_B $74,868.00 및 최근 약세 저점 $76,056.00이 존재\"\n  ],\n  \"reasoning\": \"4시간 기준 regime은 DIS이며 dis_score 96.2, regime_fitness 0.963으로 분배/재분배 해석의 신뢰도가 높다. 메인 분배 앵커는 BC $78,300.00, AR $73,669.00이며, 이후 ST $79,455.00, UT $79,145.00, UTAD $82,828.70, LPSY $81,270.20까지 형성되어 Phase D 성격의 공급 우위 구조가 확인된다. 현재가 $77,274.50는 레인지 EQ 약 $75,984.50 위의 프리미엄에 있지만, 최근 UT 후보 $77,887.90 및 메인 상단 $78,300.00을 명확히 회복하지 못해 즉시 경로도 상단 재거절 후 $76,056.00, $74,203.60, $73,669.00 재시험 쪽이 우세하다. 다만 가격이 아직 메인 레인지 내부에 있으므로 이는 확정적인 Phase E 하락이 아니라, 분배 구조 안의 재분배/상단 실패 테스트로 보는 것이 적절하다.\",\n  \"key_levels\": {\n    \"support\": [\n      76056.0,\n      74203.6,\n      73669.0\n    ],\n    \"resistance\": [\n      77887.9,\n      78300.0,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$81,270.20를 4시간 종가 기준으로 회복 및 수용하면 현재 LPSY 기반 약세 해석은 크게 훼손되며, $82,828.70 상회 시 분배 구조 자체의 무효화 위험이 높아진다.\",\n  \"risk_scenario\": \"반대 시나리오는 $77,887.90 UT 후보와 $78,300.00 메인 BC 상단을 회복한 뒤 지지 전환하는 경우다. 이 경우 현재의 상단 실패/재분배 셋업은 약화되고, 가격은 $79,145.00~$79,455.00의 이전 UT/ST 영역을 재시험할 수 있으며, 추가로 $81,270.20 LPSY 회복 시 구조적 약세 판단을 중립으로 낮춰야 한다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.74,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "프리미엄 구간: 현재가 $77,274.50가 ICT EQ $76,328.30, 7일 EQ $76,191.80, Wyckoff 메인 레인지 EQ 약 $75,984.50 위에서 거래 중",
        "중기 동적 저항 미회복: EMA120 $77,826.70이 Candlestick·ICT·Derivatives·Fibonacci에서 공통 저항으로 확인",
        "하락 구조 내 깊은 되돌림: ICT 기준 현재 되돌림 82.2%, 최대 92.7%로 반등 매도 구간에 근접",
        "피보나치 저항 테스트: 하락 스윙 $78,180 → $76,056의 0.618 되돌림 $77,368.63 바로 아래, $77,180.12 컨플루언스 존 cluster_score 0.85",
        "상단 유동성/청산 밀집: $77,500, $78,200, $79,800 위쪽 청산 클러스터 존재, CVD +$2,182.81 대비 가격 상승 제한으로 흡수 위험",
        "Wyckoff 재분배 후보: 최근 UT 후보 $77,887.90 아래로 되밀린 상태이며 메인 상단 $78,300 회복 실패 조건이 구조적 부담",
        "캔들 후보 약세: bearish_harami 품질 0.596, bearish_engulfing 품질 0.578로 약한 매도 반전 후보 존재"
      ],
      "setup_vs_structure": "실행 셋업은 구조와 정렬되어 있다. 구조적으로는 분배/재분배 및 연속 bearish BOS가 우세하고, 단기 셋업도 프리미엄 구간·EMA120 저항·0.618 되돌림 저항에서 약세 쪽으로 기울어져 있다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        77118.0,
        76965.4,
        76867.37,
        76328.3,
        76191.8,
        76056.0,
        74203.6,
        73669.0
      ],
      "resistance": [
        77368.63,
        77500.0,
        77826.7,
        77887.9,
        78180.0,
        78200.0,
        78300.0,
        78453.0,
        78713.8,
        79137.4,
        79455.0
      ]
    },
    "confluences": [
      "Candlestick·ICT·Derivatives·Fibonacci가 모두 EMA120 $77,826.70을 핵심 저항으로 제시하며, 현재가 $77,274.50는 이 아래에 있다.",
      "Candlestick·Derivatives·Fibonacci·Harmonic이 $78,180 부근을 주요 상단 저항 또는 스윙 고점으로 공유한다.",
      "ICT·Fibonacci·Harmonic·Wyckoff가 $76,056을 중요 저점/지지로 공통 인식한다.",
      "Candlestick·ICT·Derivatives·Wyckoff가 $74,203.60~$74,203.6 부근을 하단 구조 지지로 제시한다.",
      "ICT의 range high $78,453, Wyckoff 메인 상단 $78,300, Derivatives 청산 레벨 $78,200, Fibonacci 스윙 고점 $78,180이 $78.1k~$78.45k 공급대로 겹친다.",
      "Fibonacci의 0.618 저항 $77,368.63, Derivatives 상단 유동성 $77,500, Harmonic의 활성 bearish PRZ 하단 $77,580.88이 현재가 바로 위 $77.3k~$77.6k 구간에 밀집한다.",
      "Wyckoff의 최근 UT 후보 $77,887.90과 ICT previous day high $77,887.90이 동일 가격대로 일치한다.",
      "구조 방향성에서는 ICT의 3회 연속 bearish BOS, Fibonacci의 하락 스윙 되돌림 구조, Wyckoff의 분배/재분배 해석이 모두 bearish 구조를 지지한다."
    ],
    "conflicts": [
      "Harmonic Specialist는 strict completed bullish Bat가 $75,267.38~$76,622.56 PRZ를 방어했다고 보며 단기 반등 구조를 제시한다. 그러나 하모닉 자체는 독립 구조 엔진이 아니며, Wyckoff·ICT·Fibonacci의 bearish 구조를 뒤집기에는 가중치가 제한적이다.",
      "Candlestick Reader는 구조를 neutral로 두고 있으며 EMA20 $76,965.40 및 EMA240 $77,108.88 위에 있는 점을 단기 지지로 평가한다. 이는 즉각적 붕괴보다는 저항권 내 중립 압축 상태를 시사한다.",
      "Derivatives Trader는 구조를 neutral로 평가한다. 파생 데이터에서 funding이 중립이고 포지셔닝도 극단적이지 않아 구조 확증보다는 약세 셋업 보조 근거에 가깝다.",
      "Harmonic 내부에서도 bullish Bat 방어와 별개로 $77,580.88~$78,615.11 candidate bearish Gartley PRZ가 활성화되어 있어, 하모닉 관점 자체도 상단 저항권에서는 양방향 반응 위험이 존재한다."
    ],
    "executive_summary": "BTC 4시간 구조는 중립 반등이 섞여 있으나, 종합적으로는 bearish 구조가 우세하다. Wyckoff는 이전 분배 구조 이후 현재 재분배 후보가 활성화된 상태로 보며, 최근 UT 후보 $77,887.90 아래에서 가격이 머물러 Phase D 성격의 공급 우위 조건이 유지되고 있다. ICT도 $79,137.40, $78,713.80, $76,014.20에서 3회 연속 bearish BOS를 제시해 구조적 하락 전환을 뒷받침한다. 현재가는 여러 EQ 위의 프리미엄 구간에 있으며, $77,368.63 0.618 되돌림, EMA120 $77,826.70, $78,180~$78,453 공급대가 상단 구조 저항으로 겹친다. 반대 근거는 $75,267.38~$76,622.56 bullish Bat PRZ 방어이지만, 이는 구조 전환 확정이 아니라 반등/리액션 리스크로 분류하며, $79,455.00 회복 전까지 regime-level bias는 bearish로 유지된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.74,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"프리미엄 구간: 현재가 $77,274.50가 ICT EQ $76,328.30, 7일 EQ $76,191.80, Wyckoff 메인 레인지 EQ 약 $75,984.50 위에서 거래 중\",\n      \"중기 동적 저항 미회복: EMA120 $77,826.70이 Candlestick·ICT·Derivatives·Fibonacci에서 공통 저항으로 확인\",\n      \"하락 구조 내 깊은 되돌림: ICT 기준 현재 되돌림 82.2%, 최대 92.7%로 반등 매도 구간에 근접\",\n      \"피보나치 저항 테스트: 하락 스윙 $78,180 → $76,056의 0.618 되돌림 $77,368.63 바로 아래, $77,180.12 컨플루언스 존 cluster_score 0.85\",\n      \"상단 유동성/청산 밀집: $77,500, $78,200, $79,800 위쪽 청산 클러스터 존재, CVD +$2,182.81 대비 가격 상승 제한으로 흡수 위험\",\n      \"Wyckoff 재분배 후보: 최근 UT 후보 $77,887.90 아래로 되밀린 상태이며 메인 상단 $78,300 회복 실패 조건이 구조적 부담\",\n      \"캔들 후보 약세: bearish_harami 품질 0.596, bearish_engulfing 품질 0.578로 약한 매도 반전 후보 존재\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조와 정렬되어 있다. 구조적으로는 분배/재분배 및 연속 bearish BOS가 우세하고, 단기 셋업도 프리미엄 구간·EMA120 저항·0.618 되돌림 저항에서 약세 쪽으로 기울어져 있다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      77118.0,\n      76965.4,\n      76867.37,\n      76328.3,\n      76191.8,\n      76056.0,\n      74203.6,\n      73669.0\n    ],\n    \"resistance\": [\n      77368.63,\n      77500.0,\n      77826.7,\n      77887.9,\n      78180.0,\n      78200.0,\n      78300.0,\n      78453.0,\n      78713.8,\n      79137.4,\n      79455.0\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick·ICT·Derivatives·Fibonacci가 모두 EMA120 $77,826.70을 핵심 저항으로 제시하며, 현재가 $77,274.50는 이 아래에 있다.\",\n    \"Candlestick·Derivatives·Fibonacci·Harmonic이 $78,180 부근을 주요 상단 저항 또는 스윙 고점으로 공유한다.\",\n    \"ICT·Fibonacci·Harmonic·Wyckoff가 $76,056을 중요 저점/지지로 공통 인식한다.\",\n    \"Candlestick·ICT·Derivatives·Wyckoff가 $74,203.60~$74,203.6 부근을 하단 구조 지지로 제시한다.\",\n    \"ICT의 range high $78,453, Wyckoff 메인 상단 $78,300, Derivatives 청산 레벨 $78,200, Fibonacci 스윙 고점 $78,180이 $78.1k~$78.45k 공급대로 겹친다.\",\n    \"Fibonacci의 0.618 저항 $77,368.63, Derivatives 상단 유동성 $77,500, Harmonic의 활성 bearish PRZ 하단 $77,580.88이 현재가 바로 위 $77.3k~$77.6k 구간에 밀집한다.\",\n    \"Wyckoff의 최근 UT 후보 $77,887.90과 ICT previous day high $77,887.90이 동일 가격대로 일치한다.\",\n    \"구조 방향성에서는 ICT의 3회 연속 bearish BOS, Fibonacci의 하락 스윙 되돌림 구조, Wyckoff의 분배/재분배 해석이 모두 bearish 구조를 지지한다.\"\n  ],\n  \"conflicts\": [\n    \"Harmonic Specialist는 strict completed bullish Bat가 $75,267.38~$76,622.56 PRZ를 방어했다고 보며 단기 반등 구조를 제시한다. 그러나 하모닉 자체는 독립 구조 엔진이 아니며, Wyckoff·ICT·Fibonacci의 bearish 구조를 뒤집기에는 가중치가 제한적이다.\",\n    \"Candlestick Reader는 구조를 neutral로 두고 있으며 EMA20 $76,965.40 및 EMA240 $77,108.88 위에 있는 점을 단기 지지로 평가한다. 이는 즉각적 붕괴보다는 저항권 내 중립 압축 상태를 시사한다.\",\n    \"Derivatives Trader는 구조를 neutral로 평가한다. 파생 데이터에서 funding이 중립이고 포지셔닝도 극단적이지 않아 구조 확증보다는 약세 셋업 보조 근거에 가깝다.\",\n    \"Harmonic 내부에서도 bullish Bat 방어와 별개로 $77,580.88~$78,615.11 candidate bearish Gartley PRZ가 활성화되어 있어, 하모닉 관점 자체도 상단 저항권에서는 양방향 반응 위험이 존재한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — regime이 DIS로 판정되고 dis_score 96.2, regime_fitness 0.963으로 분배/재분배 해석의 구조 신뢰도가 가장 높다. 또한 prior distribution 이후 현재 active redistribution 후보가 확인되며, 최근 UT 후보 $77,887.90 아래에서 거래되는 점이 구조적 약세 진단과 직접 연결된다.\",\n  \"invalidation_level\": \"$79,455.00 상방 회복 및 안착 시 현재 bearish 구조 진단은 크게 훼손된다. 단기적으로는 $78,453.00 range high와 $78,713.80~$79,137.40 bearish BOS 레벨 회복이 먼저 약세 구조 약화 신호다.\",\n  \"executive_summary\": \"BTC 4시간 구조는 중립 반등이 섞여 있으나, 종합적으로는 bearish 구조가 우세하다. Wyckoff는 이전 분배 구조 이후 현재 재분배 후보가 활성화된 상태로 보며, 최근 UT 후보 $77,887.90 아래에서 가격이 머물러 Phase D 성격의 공급 우위 조건이 유지되고 있다. ICT도 $79,137.40, $78,713.80, $76,014.20에서 3회 연속 bearish BOS를 제시해 구조적 하락 전환을 뒷받침한다. 현재가는 여러 EQ 위의 프리미엄 구간에 있으며, $77,368.63 0.618 되돌림, EMA120 $77,826.70, $78,180~$78,453 공급대가 상단 구조 저항으로 겹친다. 반대 근거는 $75,267.38~$76,622.56 bullish Bat PRZ 방어이지만, 이는 구조 전환 확정이 아니라 반등/리액션 리스크로 분류하며, $79,455.00 회복 전까지 regime-level bias는 bearish로 유지된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.74,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.7,
    "waypoints": [
      {
        "seq": 1,
        "price": 77180.12,
        "type": "support_test",
        "source": "Fibonacci Analyst (strict fib_confluence, cluster_score 0.85), Candlestick·ICT EMA240 $77,108.88 인접",
        "description": "ret_0.382·0.5·0.618이 겹치는 가장 근접한 strict 컨플루언스 존. 0.618 $77,368.63 거절 후 1차 매도 반응 구간으로, 이탈 시 프리미엄 구간 매도 우위가 확정",
        "est_hours": 3,
        "turning_zone": [
          76965.4,
          77180.12
        ],
        "likely_wick": 77118.0,
        "rejection_confirm": 77368.63,
        "invalid_overshoot": 76867.37,
        "calibration_reasoning": "Strict 3중 컨플루언스($77,180.12 ret_0.382·0.5·0.618) 직하의 체어맨 서포트 스택($77,118 → $76,965.4)을 흡수 한계로 설정. 존 폭 $214.72(≈0.32 ATR)로 타이트하게 잡고, 거절 확정은 0.618 fib($77,368.63) 재돌파, 무효화는 다음 fib 서포트($76,867.37) 이탈 시 wp2로 연결."
      },
      {
        "seq": 2,
        "price": 76712.32,
        "type": "swing_low",
        "source": "Fibonacci Analyst (candidate fib_confluence, 0.6), ICT $76,328.30 EQ 직상단",
        "description": "1차 지지 이탈 시 중간 fib 컨플루언스 + ICT EQ($76,328.30) 직상 흡수 구간. 7일 EQ $76,191.80 진입 직전 일시적 매수 반응 가능한 swing low 후보",
        "est_hours": 10,
        "turning_zone": [
          76400.0,
          76712.32
        ],
        "likely_wick": 76557.26,
        "rejection_confirm": 76867.37,
        "invalid_overshoot": 76328.3,
        "calibration_reasoning": "ret_0.236·0.382 2중 컨플루언스에서 ICT EQ($76,328.30) 직상 흡수까지 포괄하도록 존 폭 $312(≈0.47 ATR) 설정. 중간 Fib 서포트 $76,557.26을 likely_wick으로 지정해 'ICT EQ 직상 흡수' 시나리오 반영. ICT EQ 이탈 시 7일 EQ($76,191.80) → wp3로 자동 진행."
      },
      {
        "seq": 3,
        "price": 76056.0,
        "type": "support_test",
        "source": "ICT BOS_bearish 인접 $76,014.20, Wyckoff 메인 지지, Fibonacci 스윙 저점, Harmonic Bat PRZ 상단 $76,622.56 하향",
        "description": "4개 분석가 공통 인식 핵심 구조 지지. Fib 스윙 저점($78,180→$76,056) 재시험이자 ICT 3차 bearish BOS 구간, Wyckoff 메인 레인지 EQ($75,984.50) 하향 진입 직전 결정 구간",
        "est_hours": 20,
        "turning_zone": [
          75550.0,
          76056.0
        ],
        "likely_wick": 75800.0,
        "rejection_confirm": 76450.0,
        "invalid_overshoot": 75308.26,
        "calibration_reasoning": "터미널 웨이포인트로 폭 $506(≈0.76 ATR) 확대 — Harmonic Bat D/PRZ(CONFIRMED_REACTION)와 Wyckoff 메인 레인지 EQ($75,984.50) 직하 흡수, 그리고 $75,500 라운드 넘버 유동성 자석을 모두 포함. likely_wick은 Wyckoff EQ 아래 sweep 지점($75,800)으로 설정하고, 무효화는 3중 컨플루언스($75,308.26) 이탈 시 — 이 경우 더 깊은 하락 레짐 전환."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77410.0,
        "expected_low": 76950.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 77500.0,
        "expected_low": 76700.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 77500.0,
        "expected_low": 76056.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 77887.9,
        "description": "Wyckoff UT 후보·ICT previous day high $77,887.90 위 4h 종가 안착 시 bearish setup 무효화, EMA120 $77,826.70 동반 회복 시 단기 반전 가속"
      },
      "bearish": {
        "price": 76965.4,
        "description": "EMA20 $76,965.40 4h 종가 이탈 시 $76,712.32 → $76,328.30 → $76,056.00 순차 하락 가속화, CVD 흡수 결과 확정"
      }
    },
    "scenario_invalidation": 78453.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.7,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 77180.12,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci Analyst (strict fib_confluence, cluster_score 0.85), Candlestick·ICT EMA240 $77,108.88 인접\",\n      \"description\": \"ret_0.382·0.5·0.618이 겹치는 가장 근접한 strict 컨플루언스 존. 0.618 $77,368.63 거절 후 1차 매도 반응 구간으로, 이탈 시 프리미엄 구간 매도 우위가 확정\",\n      \"est_hours\": 3\n    },\n    {\n      \"seq\": 2,\n      \"price\": 76712.32,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci Analyst (candidate fib_confluence, 0.6), ICT $76,328.30 EQ 직상단\",\n      \"description\": \"1차 지지 이탈 시 중간 fib 컨플루언스 + ICT EQ($76,328.30) 직상 흡수 구간. 7일 EQ $76,191.80 진입 직전 일시적 매수 반응 가능한 swing low 후보\",\n      \"est_hours\": 10\n    },\n    {\n      \"seq\": 3,\n      \"price\": 76056.0,\n      \"type\": \"support_test\",\n      \"source\": \"ICT BOS_bearish 인접 $76,014.20, Wyckoff 메인 지지, Fibonacci 스윙 저점, Harmonic Bat PRZ 상단 $76,622.56 하향\",\n      \"description\": \"4개 분석가 공통 인식 핵심 구조 지지. Fib 스윙 저점($78,180→$76,056) 재시험이자 ICT 3차 bearish BOS 구간, Wyckoff 메인 레인지 EQ($75,984.50) 하향 진입 직전 결정 구간\",\n      \"est_hours\": 20\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 77410.0, \"expected_low\": 76950.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 77500.0, \"expected_low\": 76700.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 77500.0, \"expected_low\": 76056.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 77887.9, \"description\": \"Wyckoff UT 후보·ICT previous day high $77,887.90 위 4h 종가 안착 시 bearish setup 무효화, EMA120 $77,826.70 동반 회복 시 단기 반전 가속\"},\n    \"bearish\": {\"price\": 76965.4, \"description\": \"EMA20 $76,965.40 4h 종가 이탈 시 $76,712.32 → $76,328.30 → $76,056.00 순차 하락 가속화, CVD 흡수 결과 확정\"}\n  },\n  \"scenario_invalidation\": 78453.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 77180.12,
        "turning_zone": [
          76965.4,
          77180.12
        ],
        "likely_wick": 77118.0,
        "rejection_confirm": 77368.63,
        "invalid_overshoot": 76867.37,
        "calibration_reasoning": "Strict 3중 컨플루언스($77,180.12 ret_0.382·0.5·0.618) 직하의 체어맨 서포트 스택($77,118 → $76,965.4)을 흡수 한계로 설정. 존 폭 $214.72(≈0.32 ATR)로 타이트하게 잡고, 거절 확정은 0.618 fib($77,368.63) 재돌파, 무효화는 다음 fib 서포트($76,867.37) 이탈 시 wp2로 연결."
      },
      {
        "seq": 2,
        "base_target": 76712.32,
        "turning_zone": [
          76400.0,
          76712.32
        ],
        "likely_wick": 76557.26,
        "rejection_confirm": 76867.37,
        "invalid_overshoot": 76328.3,
        "calibration_reasoning": "ret_0.236·0.382 2중 컨플루언스에서 ICT EQ($76,328.30) 직상 흡수까지 포괄하도록 존 폭 $312(≈0.47 ATR) 설정. 중간 Fib 서포트 $76,557.26을 likely_wick으로 지정해 'ICT EQ 직상 흡수' 시나리오 반영. ICT EQ 이탈 시 7일 EQ($76,191.80) → wp3로 자동 진행."
      },
      {
        "seq": 3,
        "base_target": 76056.0,
        "turning_zone": [
          75550.0,
          76056.0
        ],
        "likely_wick": 75800.0,
        "rejection_confirm": 76450.0,
        "invalid_overshoot": 75308.26,
        "calibration_reasoning": "터미널 웨이포인트로 폭 $506(≈0.76 ATR) 확대 — Harmonic Bat D/PRZ(CONFIRMED_REACTION)와 Wyckoff 메인 레인지 EQ($75,984.50) 직하 흡수, 그리고 $75,500 라운드 넘버 유동성 자석을 모두 포함. likely_wick은 Wyckoff EQ 아래 sweep 지점($75,800)으로 설정하고, 무효화는 3중 컨플루언스($75,308.26) 이탈 시 — 이 경우 더 깊은 하락 레짐 전환."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 77180.12,\n      \"turning_zone\": [76965.40, 77180.12],\n      \"likely_wick\": 77118.00,\n      \"rejection_confirm\": 77368.63,\n      \"invalid_overshoot\": 76867.37,\n      \"calibration_reasoning\": \"Strict 3중 컨플루언스($77,180.12 ret_0.382·0.5·0.618) 직하의 체어맨 서포트 스택($77,118 → $76,965.4)을 흡수 한계로 설정. 존 폭 $214.72(≈0.32 ATR)로 타이트하게 잡고, 거절 확정은 0.618 fib($77,368.63) 재돌파, 무효화는 다음 fib 서포트($76,867.37) 이탈 시 wp2로 연결.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 76712.32,\n      \"turning_zone\": [76400.00, 76712.32],\n      \"likely_wick\": 76557.26,\n      \"rejection_confirm\": 76867.37,\n      \"invalid_overshoot\": 76328.30,\n      \"calibration_reasoning\": \"ret_0.236·0.382 2중 컨플루언스에서 ICT EQ($76,328.30) 직상 흡수까지 포괄하도록 존 폭 $312(≈0.47 ATR) 설정. 중간 Fib 서포트 $76,557.26을 likely_wick으로 지정해 'ICT EQ 직상 흡수' 시나리오 반영. ICT EQ 이탈 시 7일 EQ($76,191.80) → wp3로 자동 진행.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 76056.00,\n      \"turning_zone\": [75550.00, 76056.00],\n      \"likely_wick\": 75800.00,\n      \"rejection_confirm\": 76450.00,\n      \"invalid_overshoot\": 75308.26,\n      \"calibration_reasoning\": \"터미널 웨이포인트로 폭 $506(≈0.76 ATR) 확대 — Harmonic Bat D/PRZ(CONFIRMED_REACTION)와 Wyckoff 메인 레인지 EQ($75,984.50) 직하 흡수, 그리고 $75,500 라운드 넘버 유동성 자석을 모두 포함. likely_wick은 Wyckoff EQ 아래 sweep 지점($75,800)으로 설정하고, 무효화는 3중 컨플루언스($75,308.26) 이탈 시 — 이 경우 더 깊은 하락 레짐 전환.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.0,
      "chairman": 43.4,
      "operating_path": 127.9,
      "tp_calibrator": 58.3
    },
    "agents": {},
    "total_s": 255.6
  }
}