{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-07-02 21:00 KST",
  "last_price": 61341.1,
  "num_candles": 300,
  "stage1_analyses": {
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bullish",
      "confidence": 0.68,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.38,
      "setup_signals": [
        "확정 ACC 구조: SC $59,080 → AR $64,250 → ST $63,650 → Spring $57,758.60 → SOS $61,322",
        "현재가 $61,341.10은 SOS $61,322를 소폭 상회하지만, 돌파 여유가 약 $19에 불과해 SOS 이후 LPS 확인은 아직 부족",
        "현재가는 레인지 EQ 약 $61,665 아래에 있어 프리미엄 추격 구간은 아니지만, 중단선 회복 확인도 아직 미완성",
        "상단 저항은 EMA120 $62,228.70 및 AR/메인 레인지 상단 $64,250에 집중되어 있어 단기 거절 가능성 존재",
        "Spring 저점 $57,758.60에서 강한 반응이 있었으나, Phase D 내 LPS/BU 확인 전까지는 즉시 상승 확정으로 보지 않음"
      ],
      "reasoning": "4시간 Wyckoff 구조는 regime_state가 confirmed_acc이고 regime_fitness가 0.888로, SC $59,080과 AR $64,250을 기준으로 한 확정 축적 구조로 해석된다. 현재 이벤트는 SOS이며 $61,322 고점을 형성한 뒤 현재가 $61,341.10이 이를 근소하게 상회하고 있어 Phase D 진입은 유효하지만, 아직 LPS 또는 BU가 확인된 상태는 아니다. 구조적 편향은 bullish이나, 현재 가격은 레인지 EQ 약 $61,665 및 EMA120 $62,228.70 아래에 있어 단기적으로는 SOS 유지 여부와 LPS성 되돌림 확인이 더 중요하다. 따라서 구조는 상승 우위지만 실행 관점의 setup_bias는 중립이며, $61,322 유지 실패 시 $59,080 또는 Spring 저점 $57,758.60 재시험 리스크가 남아 있다.",
      "key_levels": {
        "support": [
          61322.0,
          59080.0,
          57758.6
        ],
        "resistance": [
          61665.0,
          62228.7,
          64250.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$57,758.60",
      "risk_scenario": "현재가가 SOS $61,322를 유지하지 못하고 다시 $59,080 메인 레인지 저점 아래로 밀리면 Phase D 해석은 약화되며, $57,758.60 Spring 저점 재시험 또는 실패한 Spring 구조로 전환될 수 있다. 특히 $57,758.60을 명확히 이탈하면 확정 ACC 구조의 핵심 가정이 무효화된다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 88.8,
        "dis_score": 81.2,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 139,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 152,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 193,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 291,
            "price": 57758.6,
            "color": "#f9844a"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 296,
            "price": 61322.0,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 139,
            "end_idx": 296,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 139,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 152,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 193,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 291,
                "price": 57758.6,
                "color": "#f9844a",
                "dt": "2026-07-01 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 296,
                "price": 61322.0,
                "color": "#06d6a0",
                "dt": "2026-07-02 05:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.8875000000000001,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"확정 ACC 구조: SC $59,080 → AR $64,250 → ST $63,650 → Spring $57,758.60 → SOS $61,322\",\n    \"현재가 $61,341.10은 SOS $61,322를 소폭 상회하지만, 돌파 여유가 약 $19에 불과해 SOS 이후 LPS 확인은 아직 부족\",\n    \"현재가는 레인지 EQ 약 $61,665 아래에 있어 프리미엄 추격 구간은 아니지만, 중단선 회복 확인도 아직 미완성\",\n    \"상단 저항은 EMA120 $62,228.70 및 AR/메인 레인지 상단 $64,250에 집중되어 있어 단기 거절 가능성 존재\",\n    \"Spring 저점 $57,758.60에서 강한 반응이 있었으나, Phase D 내 LPS/BU 확인 전까지는 즉시 상승 확정으로 보지 않음\"\n  ],\n  \"reasoning\": \"4시간 Wyckoff 구조는 regime_state가 confirmed_acc이고 regime_fitness가 0.888로, SC $59,080과 AR $64,250을 기준으로 한 확정 축적 구조로 해석된다. 현재 이벤트는 SOS이며 $61,322 고점을 형성한 뒤 현재가 $61,341.10이 이를 근소하게 상회하고 있어 Phase D 진입은 유효하지만, 아직 LPS 또는 BU가 확인된 상태는 아니다. 구조적 편향은 bullish이나, 현재 가격은 레인지 EQ 약 $61,665 및 EMA120 $62,228.70 아래에 있어 단기적으로는 SOS 유지 여부와 LPS성 되돌림 확인이 더 중요하다. 따라서 구조는 상승 우위지만 실행 관점의 setup_bias는 중립이며, $61,322 유지 실패 시 $59,080 또는 Spring 저점 $57,758.60 재시험 리스크가 남아 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      61322.0,\n      59080.0,\n      57758.6\n    ],\n    \"resistance\": [\n      61665.0,\n      62228.7,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$57,758.60\",\n  \"risk_scenario\": \"현재가가 SOS $61,322를 유지하지 못하고 다시 $59,080 메인 레인지 저점 아래로 밀리면 Phase D 해석은 약화되며, $57,758.60 Spring 저점 재시험 또는 실패한 Spring 구조로 전환될 수 있다. 특히 $57,758.60을 명확히 이탈하면 확정 ACC 구조의 핵심 가정이 무효화된다.\",\n  \"data_quality\": \"high\"\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": [
        "현재가 $61,341.10이 EQ $60,484.10 위의 premium zone에 위치하여 숏 셋업에 유리",
        "최근 확정 구조 이벤트가 $62,232.10 하향 BOS로, 현재가가 해당 구조 저항 아래에 있음",
        "전일 고점 $60,520.00을 상향 돌파했으나 전일 저점 $57,758.60은 미돌파 상태로, 상단 유동성 소화 후 되돌림 리스크 존재",
        "EMA120 $62,228.70과 bearish BOS 레벨 $62,232.10이 거의 겹쳐 강한 저항 클러스터 형성",
        "현재가가 EMA20 $59,904.98 위에 있어 단기 반등은 진행 중이나, EMA120 $62,228.70 및 EMA240 $65,385.39 아래에 있어 상위 구조는 약세"
      ],
      "reasoning": "확정 구조 기준으로는 최근 BOS 시퀀스가 bearish, bearish, bearish, bullish, bearish이며 마지막 확정 이벤트가 $62,232.10 하향 BOS이므로 structure_bias는 bearish입니다. 현재가 $61,341.10은 EQ $60,484.10 위 premium 구간에 있어 기관 관점에서는 매수 추격보다 상단 유동성 소화 후 하락 재개 셋업이 우세합니다. 특히 EMA120 $62,228.70과 bearish BOS 레벨 $62,232.10이 거의 동일한 구간에 위치해 $62.2k 부근은 핵심 매도 방어선입니다. 하방으로는 후보 bullish OB가 $57,758.60~$59,298.40에 있으며, 가격이 $60,484.10 EQ를 다시 이탈하면 해당 할인 구간으로 회귀할 가능성이 커집니다.",
      "key_levels": {
        "support": [
          60484.1,
          59904.98,
          59298.4,
          57758.6
        ],
        "resistance": [
          62228.7,
          62232.1,
          63209.6,
          64250.0,
          65385.39
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$64,250.00",
      "risk_scenario": "$62,232.10을 회복하고 $63,209.60 range high까지 돌파하면 단기 bearish setup은 약화됩니다. 이후 $64,250.00 위에서 4시간봉 기준 구조적 수용이 나오면 이전 bullish BOS 레벨을 재확인하는 움직임으로 해석되어 약세 시나리오는 무효화되고, $65,385.39 EMA240 방향의 추가 상승 리스크가 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 3,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 57758.6,
          "top": 59298.4,
          "quality": "candidate",
          "score": 0.546
        },
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 55,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "premium",
        "eq_level": 60484.1,
        "range_high": 63209.6,
        "range_low": 57758.6,
        "bull_score": 4.3,
        "bear_score": 10.0,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 29.1,
        "deepest_retracement_pct": 109.4,
        "previous_day_high": 60520.0,
        "previous_day_low": 57758.6,
        "broken_prev_high": true,
        "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    \"현재가 $61,341.10이 EQ $60,484.10 위의 premium zone에 위치하여 숏 셋업에 유리\",\n    \"최근 확정 구조 이벤트가 $62,232.10 하향 BOS로, 현재가가 해당 구조 저항 아래에 있음\",\n    \"전일 고점 $60,520.00을 상향 돌파했으나 전일 저점 $57,758.60은 미돌파 상태로, 상단 유동성 소화 후 되돌림 리스크 존재\",\n    \"EMA120 $62,228.70과 bearish BOS 레벨 $62,232.10이 거의 겹쳐 강한 저항 클러스터 형성\",\n    \"현재가가 EMA20 $59,904.98 위에 있어 단기 반등은 진행 중이나, EMA120 $62,228.70 및 EMA240 $65,385.39 아래에 있어 상위 구조는 약세\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 최근 BOS 시퀀스가 bearish, bearish, bearish, bullish, bearish이며 마지막 확정 이벤트가 $62,232.10 하향 BOS이므로 structure_bias는 bearish입니다. 현재가 $61,341.10은 EQ $60,484.10 위 premium 구간에 있어 기관 관점에서는 매수 추격보다 상단 유동성 소화 후 하락 재개 셋업이 우세합니다. 특히 EMA120 $62,228.70과 bearish BOS 레벨 $62,232.10이 거의 동일한 구간에 위치해 $62.2k 부근은 핵심 매도 방어선입니다. 하방으로는 후보 bullish OB가 $57,758.60~$59,298.40에 있으며, 가격이 $60,484.10 EQ를 다시 이탈하면 해당 할인 구간으로 회귀할 가능성이 커집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60484.1,\n      59904.98,\n      59298.4,\n      57758.6\n    ],\n    \"resistance\": [\n      62228.7,\n      62232.1,\n      63209.6,\n      64250.0,\n      65385.39\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$64,250.00\",\n  \"risk_scenario\": \"$62,232.10을 회복하고 $63,209.60 range high까지 돌파하면 단기 bearish setup은 약화됩니다. 이후 $64,250.00 위에서 4시간봉 기준 구조적 수용이 나오면 이전 bullish BOS 레벨을 재확인하는 움직임으로 해석되어 약세 시나리오는 무효화되고, $65,385.39 EMA240 방향의 추가 상승 리스크가 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.68,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $61,341.10이 EMA20 $59,904.98 위에서 +2.4% 이격되어 단기 매수세가 우위",
        "최근 10개 구간 내 bullish_engulfing이 4회 반복 출현했고, 그중 1개는 strict 등급 및 high volume 패턴",
        "최고 품질 패턴이 bullish_engulfing이며 pattern_quality 0.701로 최근 신호 중 가장 강함",
        "bull_score 3.10 대 bear_score 0.60으로 캔들 기반 매수 압력이 우세",
        "단, 현재가는 EMA120 $62,228.70 아래 -1.4%에 있어 구조적 확정 돌파 전의 선행 bullish setup 단계"
      ],
      "reasoning": "최근 캔들 흐름은 ▼-0.2%, ▼-0.0%, ▲+1.7%, ▼-1.5%, ▲+2.0%로 변동성은 크지만 마지막 4시간봉에서 강한 반등이 재출현했고, bullish_engulfing이 291, 294, 297, 299번에서 반복 감지되었습니다. 특히 best_pattern_quality 0.701의 bullish_engulfing이 high volume 조건을 동반해 단기 매수 반전 신뢰도를 높입니다. 다만 현재가 $61,341.10은 EMA20 $59,904.98 위에 있지만 EMA120 $62,228.70 및 EMA240 $65,385.39 아래에 있어 아직 중기 구조가 명확히 bullish로 확정됐다고 보기는 어렵습니다. 따라서 구조_bias는 neutral, 실행 관점의 setup_bias는 bullish이며, $61,742.90 7일 고점과 EMA120 $62,228.70 돌파 여부가 다음 확인 포인트입니다.",
      "key_levels": {
        "support": [
          59904.98,
          57758.6
        ],
        "resistance": [
          61742.9,
          62228.7,
          65385.39
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,904.98",
      "risk_scenario": "가격이 EMA20 $59,904.98 아래로 재진입하면 최근 bullish_engulfing들의 단기 반전 신호가 약화되고, $57,758.60 7일 저점 재테스트 가능성이 커집니다. 반대로 $61,742.90을 돌파해도 EMA120 $62,228.70에서 거절되면 단기 상승은 유동성 회수 후 되돌림으로 전환될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 6,
        "pattern_list": [
          "bullish_engulfing@291",
          "bullish_engulfing@294",
          "bullish_engulfing@297",
          "bullish_engulfing@299",
          "doji@296",
          "bearish_harami@290"
        ],
        "atr_value": 1017.46,
        "vol_avg_20": 38538.48,
        "high_volume_patterns": [
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.701,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.591,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.414,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.385,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.38,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.701,
        "bull_score": 3.1,
        "bear_score": 0.6
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $61,341.10이 EMA20 $59,904.98 위에서 +2.4% 이격되어 단기 매수세가 우위\",\n    \"최근 10개 구간 내 bullish_engulfing이 4회 반복 출현했고, 그중 1개는 strict 등급 및 high volume 패턴\",\n    \"최고 품질 패턴이 bullish_engulfing이며 pattern_quality 0.701로 최근 신호 중 가장 강함\",\n    \"bull_score 3.10 대 bear_score 0.60으로 캔들 기반 매수 압력이 우세\",\n    \"단, 현재가는 EMA120 $62,228.70 아래 -1.4%에 있어 구조적 확정 돌파 전의 선행 bullish setup 단계\"\n  ],\n  \"reasoning\": \"최근 캔들 흐름은 ▼-0.2%, ▼-0.0%, ▲+1.7%, ▼-1.5%, ▲+2.0%로 변동성은 크지만 마지막 4시간봉에서 강한 반등이 재출현했고, bullish_engulfing이 291, 294, 297, 299번에서 반복 감지되었습니다. 특히 best_pattern_quality 0.701의 bullish_engulfing이 high volume 조건을 동반해 단기 매수 반전 신뢰도를 높입니다. 다만 현재가 $61,341.10은 EMA20 $59,904.98 위에 있지만 EMA120 $62,228.70 및 EMA240 $65,385.39 아래에 있어 아직 중기 구조가 명확히 bullish로 확정됐다고 보기는 어렵습니다. 따라서 구조_bias는 neutral, 실행 관점의 setup_bias는 bullish이며, $61,742.90 7일 고점과 EMA120 $62,228.70 돌파 여부가 다음 확인 포인트입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59904.98,\n      57758.6\n    ],\n    \"resistance\": [\n      61742.9,\n      62228.7,\n      65385.39\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,904.98\",\n  \"risk_scenario\": \"가격이 EMA20 $59,904.98 아래로 재진입하면 최근 bullish_engulfing들의 단기 반전 신호가 약화되고, $57,758.60 7일 저점 재테스트 가능성이 커집니다. 반대로 $61,742.90을 돌파해도 EMA120 $62,228.70에서 거절되면 단기 상승은 유동성 회수 후 되돌림으로 전환될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "가격 $61,341.10이 7일 레인지 EQ 약 $59,750.75 위의 프리미엄 구간에 위치",
        "가격이 EMA20 $59,904.98 위에 있지만 EMA120 $62,228.70 및 EMA240 $65,385.39 아래에 있어 상위 구조 저항이 유지됨",
        "24시간 OI 변화율 -0.3340%로 상승 중 신규 롱 유입보다 숏 커버/포지션 언와인딩 성격이 강함",
        "롱 계정 비율 0.652, account_long_crowding 1.000으로 롱 포지셔닝이 혼잡한 상태",
        "롱 계정은 24시간 -0.0553 감소, 숏 계정은 +0.055 증가하여 상승 추격 매수의 질이 약화됨",
        "가장 강한 청산 자석이 하단 $60,700에 있으며 현재가와 근접",
        "상단 $62,400 청산대가 남아 있어 단기 위꼬리/스윕 후 되돌림 리스크 존재"
      ],
      "reasoning": "구조적으로는 현재가 $61,341.10이 EMA20 $59,904.98 위에 있어 단기 반등은 확인되지만, EMA120 $62,228.70과 EMA240 $65,385.39 아래에 머물러 있어 확정 구조는 아직 bearish로 본다. 셋업 측면에서는 7일 레인지 EQ 약 $59,750.75 위의 프리미엄 구간에서 롱 계정 비율 0.652와 account_long_crowding 1.000이 나타나며, 이는 단기적으로 롱 청산 압박에 취약한 조건이다. 24시간 OI가 -0.3340% 감소한 상태에서 가격이 24시간 +4.69% 상승했기 때문에 신규 매수 포지션 유입보다는 언와인딩성 반등으로 해석되며, 파생 데이터 기준 4-8시간 내 되돌림 리스크가 높다. 하단 $60,700 청산대가 가장 강한 유동성 레벨이고, 추가 하락 시 $58,900 및 $58,600까지 유동성 흡수가 열릴 수 있다.",
      "key_levels": {
        "support": [
          60700,
          59904.98,
          58900,
          58600,
          57758.6
        ],
        "resistance": [
          61742.9,
          62228.7,
          62400,
          65385.39,
          66000,
          66100
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,400 상단 청산대를 흡수한 뒤 4시간봉 종가가 $62,400 위에서 유지될 경우",
      "risk_scenario": "반대로 $62,400 청산대를 강하게 돌파하고 EMA120 $62,228.70 위에서 구조적 수용이 나오면 숏 커버가 가속화되어 $66,000-$66,100 상단 청산 클러스터까지 빠르게 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 9360.421,
        "oi_trend": 0.467,
        "oi_change_pct_24h": -0.334,
        "oi_latest": 105239.614,
        "funding_pressure": 0.445,
        "funding_avg": 5.541e-05,
        "funding_change_24h": 3.385e-05,
        "long_account_ratio": 0.667,
        "short_account_ratio": 0.333,
        "long_account_latest": 0.652,
        "short_account_latest": 0.348,
        "long_account_change_24h": -0.0553,
        "short_account_change_24h": 0.0553,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.49,
        "spot_futures_basis_pct": -0.0406,
        "basis_change_lookback": 0.0264,
        "aggregate_score": 0.42,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            60700,
            51515.848705100005
          ],
          [
            58900,
            51014.738515699995
          ],
          [
            58600,
            30505.544398900005
          ]
        ],
        "liq_above": [
          [
            62400,
            29789.824637
          ],
          [
            66000,
            37237.28079625
          ],
          [
            66100,
            29393.2483825
          ]
        ],
        "strongest_liq_level": 60700,
        "fragility_score": 0.8,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"가격 $61,341.10이 7일 레인지 EQ 약 $59,750.75 위의 프리미엄 구간에 위치\",\n    \"가격이 EMA20 $59,904.98 위에 있지만 EMA120 $62,228.70 및 EMA240 $65,385.39 아래에 있어 상위 구조 저항이 유지됨\",\n    \"24시간 OI 변화율 -0.3340%로 상승 중 신규 롱 유입보다 숏 커버/포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율 0.652, account_long_crowding 1.000으로 롱 포지셔닝이 혼잡한 상태\",\n    \"롱 계정은 24시간 -0.0553 감소, 숏 계정은 +0.055 증가하여 상승 추격 매수의 질이 약화됨\",\n    \"가장 강한 청산 자석이 하단 $60,700에 있으며 현재가와 근접\",\n    \"상단 $62,400 청산대가 남아 있어 단기 위꼬리/스윕 후 되돌림 리스크 존재\"\n  ],\n  \"reasoning\": \"구조적으로는 현재가 $61,341.10이 EMA20 $59,904.98 위에 있어 단기 반등은 확인되지만, EMA120 $62,228.70과 EMA240 $65,385.39 아래에 머물러 있어 확정 구조는 아직 bearish로 본다. 셋업 측면에서는 7일 레인지 EQ 약 $59,750.75 위의 프리미엄 구간에서 롱 계정 비율 0.652와 account_long_crowding 1.000이 나타나며, 이는 단기적으로 롱 청산 압박에 취약한 조건이다. 24시간 OI가 -0.3340% 감소한 상태에서 가격이 24시간 +4.69% 상승했기 때문에 신규 매수 포지션 유입보다는 언와인딩성 반등으로 해석되며, 파생 데이터 기준 4-8시간 내 되돌림 리스크가 높다. 하단 $60,700 청산대가 가장 강한 유동성 레벨이고, 추가 하락 시 $58,900 및 $58,600까지 유동성 흡수가 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60700,\n      59904.98,\n      58900,\n      58600,\n      57758.6\n    ],\n    \"resistance\": [\n      61742.9,\n      62228.7,\n      62400,\n      65385.39,\n      66000,\n      66100\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,400 상단 청산대를 흡수한 뒤 4시간봉 종가가 $62,400 위에서 유지될 경우\",\n  \"risk_scenario\": \"반대로 $62,400 청산대를 강하게 돌파하고 EMA120 $62,228.70 위에서 구조적 수용이 나오면 숏 커버가 가속화되어 $66,000-$66,100 상단 청산 클러스터까지 빠르게 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "활성 고컨플루언스 bullish Gartley 형성 PRZ $61,478.18-$62,153.24, D 예상가 $61,815.71, 패턴 점수 0.954",
        "Gartley PRZ가 ABCD, BC_EXT, XAD 3개 Fib 패밀리로 구성된 실제 컨플루언스 구간이며 PRZ 폭 1.092%",
        "완료된 bullish Butterfly가 $60,933.28-$61,663.11 PRZ에서 반응 확인됨: reaction_score 0.75, AD 0.236 반응 도달 및 PRZ 중심 회복/방어",
        "현재가 $61,341.10은 Butterfly 활성 PRZ 중심부 근처이며, Gartley 활성 PRZ 하단 $61,478.18 바로 아래에서 반응 후보 구간에 위치",
        "상방 TP 래더는 Gartley 기준 TP1 $62,617.75, TP2 $63,113.26, TP3 $63,915.30으로 제시됨"
      ],
      "reasoning": "4시간 BTC/USDT는 현재 $61,341.10으로, 최고 품질의 활성 bullish Gartley 형성 PRZ $61,478.18-$62,153.24 바로 근처에 있으며 패턴 점수 0.954, ratio_score 0.945, PRZ_score 1.0으로 매우 우수합니다. 다만 이 Gartley는 아직 PRZ 진입 후 명확한 거부, 15m/1h MSS·CHoCH, CVD/OI 확인이 없는 pre-confirmation 상태이므로 구조를 bullish로 확정할 수는 없습니다. 보조적으로 완료된 bullish Butterfly는 $60,933.28-$61,663.11 PRZ에서 reaction_score 0.75의 확인 반응이 있어 중간 컨플루언스 타이브레이커로는 유효하지만, 패턴 품질은 candidate이므로 단독 경로 전환 근거는 아닙니다. 따라서 구조_bias는 neutral, setup_bias는 bullish이며, 상방 시나리오는 $62,617.75 → $63,113.26 → $63,915.30 TP 래더를 우선 관찰합니다.",
      "key_levels": {
        "support": [
          61478.18,
          61150.2,
          60933.28,
          60602.82
        ],
        "resistance": [
          61742.9,
          62153.24,
          62228.7,
          62617.75,
          63113.26,
          63915.3
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$60,933.28",
      "risk_scenario": "$60,933.28 하단을 4시간 종가로 이탈하면 완료 Butterfly PRZ 방어가 실패하고, $61,478.18-$62,153.24 Gartley 반응 후보도 약화됩니다. 이 경우 bullish harmonic setup은 무효화되며 $60,602.82 및 $58,030.00 방향의 하방 유동성 재탐색 리스크가 커집니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 150,
        "completed_patterns_found": 58,
        "forming_d_prz_found": 92,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 28,
        "swing_lows_scanned": 27,
        "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": 5,
          "medium": 42,
          "low": 103
        },
        "prz_status_counts": {
          "active": 53,
          "nearby": 11,
          "watch": 25,
          "far": 61,
          "forming": 37
        },
        "high_confluence_prz_count": 20,
        "strict_patterns_found": 62,
        "candidate_patterns_found": 88,
        "active_patterns_at_prz": 53,
        "nearby_patterns": 11,
        "all_patterns": [
          "gartley",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "gartley",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "bat",
          "bat",
          "shark",
          "gartley",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark",
          "gartley",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "butterfly",
          "gartley",
          "crab",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "gartley",
          "crab",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "crab",
          "gartley",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "gartley",
          "bat",
          "crab",
          "crab",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.954,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 61298.2,
        "price_to_prz": -0.07,
        "prz_range": [
          60933.28,
          61663.11
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7737,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 175,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 216,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 251,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.63,
            "price_to_prz_pct_raw": 2.6337,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.88,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.07,
            "price_to_prz_pct_raw": -0.0699,
            "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.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "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": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 228,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 240,
            "c_order": 8,
            "d_idx": 253
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.826,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.63,
            "price_to_prz_pct_raw": 2.6337,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": 236
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.821,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.07,
            "price_to_prz_pct_raw": 2.0666,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 188,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 228,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.929,
            "ratio_score": 1.0,
            "prz_score": 0.911,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61293.42,
            "prz_range": [
              60742.93,
              61843.91
            ],
            "prz_width_pct": 1.796,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.08,
            "price_to_prz_pct_raw": -0.0777,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61293.42,
              "a_price": 63915.3,
              "tp1_ad_382": 62294.98,
              "tp2_ad_618": 62913.74,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5112,
              "ABC": 1.4993
            },
            "x_price": 61150.2,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 175,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 251,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.2,
            "price_to_prz_pct_raw": 0.1957,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 240,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61176.59,
            "prz_range": [
              60715.71,
              61637.48
            ],
            "prz_width_pct": 1.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2682,
            "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": 61176.59,
              "a_price": 58030.0,
              "tp1_ad_382": 59974.6,
              "tp2_ad_618": 59232.0,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737
            },
            "x_price": 61931.1,
            "x_idx": 256,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 258,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 279,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7737,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 175,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 216,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 251,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7737,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 175,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 216,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 251,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.63,
            "price_to_prz_pct_raw": 2.6337,
            "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.88,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.07,
            "price_to_prz_pct_raw": -0.0699,
            "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.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "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": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 228,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 240,
            "c_order": 8,
            "d_idx": 253
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.826,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.63,
            "price_to_prz_pct_raw": 2.6337,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "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": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": 236
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.821,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.07,
            "price_to_prz_pct_raw": 2.0666,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 188,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 228,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.929,
            "ratio_score": 1.0,
            "prz_score": 0.911,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61293.42,
            "prz_range": [
              60742.93,
              61843.91
            ],
            "prz_width_pct": 1.796,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.08,
            "price_to_prz_pct_raw": -0.0777,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61293.42,
              "a_price": 63915.3,
              "tp1_ad_382": 62294.98,
              "tp2_ad_618": 62913.74,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5112,
              "ABC": 1.4993
            },
            "x_price": 61150.2,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 175,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 251,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.2,
            "price_to_prz_pct_raw": 0.1957,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 240,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.844,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61176.59,
            "prz_range": [
              60715.71,
              61637.48
            ],
            "prz_width_pct": 1.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2682,
            "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": 61176.59,
              "a_price": 58030.0,
              "tp1_ad_382": 59974.6,
              "tp2_ad_618": 59232.0,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6443,
              "ABC": 0.6737
            },
            "x_price": 61931.1,
            "x_idx": 256,
            "x_order": 3,
            "a_price": 58030.0,
            "a_idx": 258,
            "a_order": 8,
            "b_price": 60543.3,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 279,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.894,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.68,
            "price_to_prz_pct_raw": 0.6838,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 211,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 228,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 240,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.873,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.33,
            "price_to_prz_pct_raw": -0.3291,
            "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": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 167,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 175,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 216,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 251,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.857,
            "ratio_score": 0.838,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62086.56,
            "prz_range": [
              61505.57,
              62667.55
            ],
            "prz_width_pct": 1.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.22,
            "price_to_prz_pct_raw": 1.2153,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62086.56,
              "a_price": 58030.0,
              "tp1_ad_382": 60536.96,
              "tp2_ad_618": 59579.61,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.522,
              "ABC": 0.6967
            },
            "x_price": 63209.6,
            "x_idx": 251,
            "x_order": 5,
            "a_price": 58030.0,
            "a_idx": 258,
            "a_order": 8,
            "b_price": 60734.0,
            "b_idx": 262,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 279,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.821,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.82,
            "price_to_prz_pct_raw": -3.8187,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 163,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 198,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 216,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "prz_proximity": "active",
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.77,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $61,478.18-$62,153.24: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.954,
          "ratio_score": 0.945,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 61815.71,
          "prz_range": [
            61478.18,
            62153.24
          ],
          "prz_width_pct": 1.092,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.77,
          "price_to_prz_pct_raw": 0.7737,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 61815.71,
            "a_price": 63915.3,
            "tp1_ad_382": 62617.75,
            "tp2_ad_618": 63113.26,
            "tp3_a_or_structure_liquidity": 63915.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6087,
            "ABC": 0.5807
          },
          "x_price": 61150.2,
          "x_idx": 151,
          "x_order": 3,
          "a_price": 63915.3,
          "a_idx": 175,
          "a_order": 3,
          "b_price": 62232.1,
          "b_idx": 216,
          "b_order": 8,
          "c_price": 63209.6,
          "c_idx": 251,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 61815.71,
          "a_price": 63915.3,
          "tp1_ad_382": 62617.75,
          "tp2_ad_618": 63113.26,
          "tp3_a_or_structure_liquidity": 63915.3,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 61815.71,
            "a_price": 63915.3,
            "tp1_ad_382": 62617.75,
            "tp2_ad_618": 63113.26,
            "tp3_a_or_structure_liquidity": 63915.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.202,
          "bearish": 0
        },
        "directional_score_total": 0.202,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"활성 고컨플루언스 bullish Gartley 형성 PRZ $61,478.18-$62,153.24, D 예상가 $61,815.71, 패턴 점수 0.954\",\n    \"Gartley PRZ가 ABCD, BC_EXT, XAD 3개 Fib 패밀리로 구성된 실제 컨플루언스 구간이며 PRZ 폭 1.092%\",\n    \"완료된 bullish Butterfly가 $60,933.28-$61,663.11 PRZ에서 반응 확인됨: reaction_score 0.75, AD 0.236 반응 도달 및 PRZ 중심 회복/방어\",\n    \"현재가 $61,341.10은 Butterfly 활성 PRZ 중심부 근처이며, Gartley 활성 PRZ 하단 $61,478.18 바로 아래에서 반응 후보 구간에 위치\",\n    \"상방 TP 래더는 Gartley 기준 TP1 $62,617.75, TP2 $63,113.26, TP3 $63,915.30으로 제시됨\"\n  ],\n  \"reasoning\": \"4시간 BTC/USDT는 현재 $61,341.10으로, 최고 품질의 활성 bullish Gartley 형성 PRZ $61,478.18-$62,153.24 바로 근처에 있으며 패턴 점수 0.954, ratio_score 0.945, PRZ_score 1.0으로 매우 우수합니다. 다만 이 Gartley는 아직 PRZ 진입 후 명확한 거부, 15m/1h MSS·CHoCH, CVD/OI 확인이 없는 pre-confirmation 상태이므로 구조를 bullish로 확정할 수는 없습니다. 보조적으로 완료된 bullish Butterfly는 $60,933.28-$61,663.11 PRZ에서 reaction_score 0.75의 확인 반응이 있어 중간 컨플루언스 타이브레이커로는 유효하지만, 패턴 품질은 candidate이므로 단독 경로 전환 근거는 아닙니다. 따라서 구조_bias는 neutral, setup_bias는 bullish이며, 상방 시나리오는 $62,617.75 → $63,113.26 → $63,915.30 TP 래더를 우선 관찰합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61478.18,\n      61150.2,\n      60933.28,\n      60602.82\n    ],\n    \"resistance\": [\n      61742.9,\n      62153.24,\n      62228.7,\n      62617.75,\n      63113.26,\n      63915.3\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$60,933.28\",\n  \"risk_scenario\": \"$60,933.28 하단을 4시간 종가로 이탈하면 완료 Butterfly PRZ 방어가 실패하고, $61,478.18-$62,153.24 Gartley 반응 후보도 약화됩니다. 이 경우 bullish harmonic setup은 무효화되며 $60,602.82 및 $58,030.00 방향의 하방 유동성 재탐색 리스크가 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "가격이 다운스윙 $60,758→$57,758.60의 0.786 되돌림 $60,116.36 위에 위치하여 단기 구조는 회복됐지만, 현재가 $61,341.10은 스윙 기준 EQ $59,258.45 위의 프리미엄 구간",
        "현재가가 0.786 되돌림 $60,116.36보다 2.00% 위에 있어 즉각적인 피보나치 반응 구간에서는 이탈한 상태",
        "황금비 0.618 되돌림 $59,612.41이 핵심 재진입/지지 후보이나 현재가와 2.82% 괴리되어 추격 매수 효율이 낮음",
        "7일 고점 $61,742.90에 근접해 단기 매수 유동성 소진 또는 상단 스윕 후 되돌림 위험 존재",
        "EMA120 $62,228.70이 현재가 위에 있어 상위 저항/공급 구간으로 작용할 가능성"
      ],
      "reasoning": "BTC는 다운스윙 $60,758→$57,758.60 기준 0.786 되돌림 $60,116.36을 상향 돌파했고 현재 $61,341.10에 위치해 단기 피보나치 구조상 하락 되돌림 구간을 대부분 회복한 상태입니다. 다만 현재가는 EQ $59,258.45와 황금비 0.618 $59,612.41 위의 프리미엄 영역에 있어, 구조는 단기 bullish로 읽히지만 신규 진입 셋업은 오히려 되돌림 리스크가 큰 bearish 성격입니다. 가장 중요한 지지대는 $60,116.36, $59,612.41, $59,258.45이며, 특히 $59,612.41은 0.618 황금비로 재반응 확률이 가장 높은 가격입니다. confluence_quality는 0.600으로 중간 수준이고, 유의미한 클러스터는 $57,758.60 부근에 집중되어 있어 현재가 근처의 피보나치 컨플루언스는 강하지 않습니다.",
      "key_levels": {
        "support": [
          60116.36,
          59612.41,
          59258.45,
          58904.49,
          57758.6
        ],
        "resistance": [
          61742.9,
          62228.7,
          65385.39
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,116.36",
      "risk_scenario": "반대로 가격이 $61,742.90의 7일 고점을 명확히 돌파하고 EMA120 $62,228.70 위에서 안착하면 프리미엄 구간의 되돌림 셋업은 무효화되며, 단기 상승 구조가 강화될 수 있습니다. 반면 $60,116.36을 하향 이탈하면 0.786 회복 실패로 해석되며 $59,612.41의 0.618 황금비, 이후 $59,258.45 EQ까지 되돌림이 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $60,758 → $57,759",
        "direction": "down",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 60116.36,
        "nearest_fib_distance": 2.0,
        "golden_ratio_level": 59612.41,
        "fib_ret_382": 58904.49,
        "fib_ret_618": 59612.41,
        "confluence_zones": [
          {
            "price": 57758.6,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60116.3642,
          59612.414600000004,
          59258.45
        ],
        "resistance_levels": [],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 58466.53,
            "distance_pct": 4.69,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 58904.49,
            "distance_pct": 3.97,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 59258.45,
            "distance_pct": 3.4,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 59612.41,
            "distance_pct": 2.82,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 60116.36,
            "distance_pct": 2.0,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 57758.6,
            "distance_pct": 5.84,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 56942.68,
            "distance_pct": 7.17,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 56516.72,
            "distance_pct": 7.86,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 55904.79,
            "distance_pct": 8.86,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 54758.9,
            "distance_pct": 10.73,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "distant",
        "reaction_probability": 0.25
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"가격이 다운스윙 $60,758→$57,758.60의 0.786 되돌림 $60,116.36 위에 위치하여 단기 구조는 회복됐지만, 현재가 $61,341.10은 스윙 기준 EQ $59,258.45 위의 프리미엄 구간\",\n    \"현재가가 0.786 되돌림 $60,116.36보다 2.00% 위에 있어 즉각적인 피보나치 반응 구간에서는 이탈한 상태\",\n    \"황금비 0.618 되돌림 $59,612.41이 핵심 재진입/지지 후보이나 현재가와 2.82% 괴리되어 추격 매수 효율이 낮음\",\n    \"7일 고점 $61,742.90에 근접해 단기 매수 유동성 소진 또는 상단 스윕 후 되돌림 위험 존재\",\n    \"EMA120 $62,228.70이 현재가 위에 있어 상위 저항/공급 구간으로 작용할 가능성\"\n  ],\n  \"reasoning\": \"BTC는 다운스윙 $60,758→$57,758.60 기준 0.786 되돌림 $60,116.36을 상향 돌파했고 현재 $61,341.10에 위치해 단기 피보나치 구조상 하락 되돌림 구간을 대부분 회복한 상태입니다. 다만 현재가는 EQ $59,258.45와 황금비 0.618 $59,612.41 위의 프리미엄 영역에 있어, 구조는 단기 bullish로 읽히지만 신규 진입 셋업은 오히려 되돌림 리스크가 큰 bearish 성격입니다. 가장 중요한 지지대는 $60,116.36, $59,612.41, $59,258.45이며, 특히 $59,612.41은 0.618 황금비로 재반응 확률이 가장 높은 가격입니다. confluence_quality는 0.600으로 중간 수준이고, 유의미한 클러스터는 $57,758.60 부근에 집중되어 있어 현재가 근처의 피보나치 컨플루언스는 강하지 않습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60116.36,\n      59612.41,\n      59258.45,\n      58904.49,\n      57758.6\n    ],\n    \"resistance\": [\n      61742.9,\n      62228.7,\n      65385.39\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,116.36\",\n  \"risk_scenario\": \"반대로 가격이 $61,742.90의 7일 고점을 명확히 돌파하고 EMA120 $62,228.70 위에서 안착하면 프리미엄 구간의 되돌림 셋업은 무효화되며, 단기 상승 구조가 강화될 수 있습니다. 반면 $60,116.36을 하향 이탈하면 0.786 회복 실패로 해석되며 $59,612.41의 0.618 황금비, 이후 $59,258.45 EQ까지 되돌림이 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.56,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "ICT: 현재가 $61,341.10이 EQ $60,484.10 위 premium zone에 있으며, 마지막 확정 구조 이벤트가 $62,232.10 하향 BOS",
        "Derivatives: 7일 레인지 EQ 약 $59,750.75 위 프리미엄 구간에서 롱 계정 비율 0.652 및 롱 혼잡 조건",
        "Derivatives: 가격 24시간 +4.69% 상승에도 OI 24시간 -0.3340% 감소로 신규 롱 유입보다 숏 커버/언와인딩성 반등 성격",
        "Fibonacci: 현재가가 스윙 EQ $59,258.45 및 0.618 되돌림 $59,612.41 위 프리미엄 영역에 있어 추격 매수 효율 저하",
        "Candlestick: EMA20 $59,904.98 위에서 bullish engulfing 반복 출현, 최고 패턴 품질 0.701로 단기 매수 반응은 유지",
        "Harmonic: bullish Gartley PRZ $61,478.18-$62,153.24가 활성화되어 있으나 아직 pre-confirmation 상태"
      ],
      "setup_vs_structure": "구조적 평가는 Wyckoff 축적 Phase D 진입으로 완만한 bullish이나, 실행 셋업은 ICT·파생·피보나치가 모두 프리미엄 구간의 되돌림 리스크를 지적해 bearish로 기운다. 즉 상위 구조와 단기 실행 조건이 분리되어 있으며, 현재 구간은 구조 추세 추종보다 확인 대기 또는 방어적 운용이 필요한 위치다."
    },
    "signal_breakdown": {
      "bullish_count": 3,
      "bearish_count": 2,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        61322.0,
        60700.0,
        60484.1,
        60116.36,
        59904.98,
        59612.41,
        59298.4,
        59080.0,
        57758.6
      ],
      "resistance": [
        61665.0,
        61742.9,
        62153.24,
        62228.7,
        62232.1,
        62400.0,
        64250.0,
        65385.39
      ]
    },
    "confluences": [
      "Wyckoff의 SOS $61,322와 현재가 $61,341.10이 거의 동일해, 시장은 축적 Phase D 진입 여부를 시험하는 경계선 바로 위에 있다.",
      "ICT의 bearish BOS $62,232.10, EMA120 $62,228.70, Harmonic bullish Gartley PRZ 상단 $62,153.24가 모두 $62.15k-$62.23k에 집중되어 핵심 구조 저항대를 형성한다.",
      "Candlestick과 Derivatives, Fibonacci가 모두 EMA20 $59,904.98 또는 인접 지지 $60,116.36-$59,904.98을 단기 하단 기준으로 제시한다.",
      "Wyckoff SC $59,080, Fibonacci 0.5 되돌림 $59,258.45, ICT bullish OB 상단 $59,298.40이 $59.08k-$59.30k에 밀집해 중간 구조 지지 클러스터를 만든다.",
      "Wyckoff Spring $57,758.60, ICT 전일 저점 $57,758.60, Fibonacci 확장/클러스터 $57,758.60이 동일 가격에 겹쳐 축적 구조의 최종 방어선으로 작동한다.",
      "Candlestick bullish engulfing 반복과 Harmonic bullish PRZ 반응은 단기 매수 반응을 지지하지만, 둘 다 중기 구조 확정 신호라기보다는 반응성 셋업 성격이 강하다."
    ],
    "conflicts": [
      "Wyckoff는 SC $59,080 → AR $64,250 → ST $63,650 → Spring $57,758.60 → SOS $61,322의 확정 축적 구조를 제시하지만, ICT는 마지막 확정 이벤트를 $62,232.10 하향 BOS로 판단해 구조를 bearish로 본다.",
      "Candlestick과 Harmonic은 현재 구간에서 bullish engulfing 및 bullish PRZ 반응을 근거로 매수 셋업을 제시하지만, ICT·Derivatives·Fibonacci는 현재가가 프리미엄 영역에 있어 되돌림 리스크가 높다고 본다.",
      "Wyckoff상 현재가는 SOS $61,322를 소폭 상회하지만 돌파 여유가 약 $19에 불과해 LPS 확인이 부족하다. 따라서 bullish 구조 판정은 유효하나 아직 안정적인 Phase D 확정 진행으로 보기는 어렵다.",
      "Derivatives는 가격 반등에도 OI가 감소해 상승의 질을 낮게 평가하는 반면, Candlestick은 고거래량 bullish engulfing을 근거로 단기 수요를 긍정적으로 평가한다."
    ],
    "executive_summary": "BTC/USDT 4시간 구조는 Wyckoff 기준 확정 축적 구조이며, 현재 위치는 Spring $57,758.60 이후 SOS $61,322를 간신히 상회한 Phase D 초기 구간으로 평가된다. 다만 가격은 아직 레인지 EQ $61,665 및 EMA120·ICT BOS 저항 $62,228.70-$62,232.10 아래에 있어, 축적 구조는 bullish이나 LPS 또는 BU 확인은 부족하다. 핵심 구조 지지는 $59,080-$59,298.40 클러스터와 Spring 저점 $57,758.60이며, $57,758.60이 최종 구조 무효화선이다. 단기 실행 조건은 ICT·파생·피보나치가 공통으로 프리미엄 구간 되돌림 리스크를 지적해 bearish로 기울며, 이는 구조적 bullish 판정과 별개의 단기 운용 리스크로 분리해 해석해야 한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.56,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"ICT: 현재가 $61,341.10이 EQ $60,484.10 위 premium zone에 있으며, 마지막 확정 구조 이벤트가 $62,232.10 하향 BOS\",\n      \"Derivatives: 7일 레인지 EQ 약 $59,750.75 위 프리미엄 구간에서 롱 계정 비율 0.652 및 롱 혼잡 조건\",\n      \"Derivatives: 가격 24시간 +4.69% 상승에도 OI 24시간 -0.3340% 감소로 신규 롱 유입보다 숏 커버/언와인딩성 반등 성격\",\n      \"Fibonacci: 현재가가 스윙 EQ $59,258.45 및 0.618 되돌림 $59,612.41 위 프리미엄 영역에 있어 추격 매수 효율 저하\",\n      \"Candlestick: EMA20 $59,904.98 위에서 bullish engulfing 반복 출현, 최고 패턴 품질 0.701로 단기 매수 반응은 유지\",\n      \"Harmonic: bullish Gartley PRZ $61,478.18-$62,153.24가 활성화되어 있으나 아직 pre-confirmation 상태\"\n    ],\n    \"setup_vs_structure\": \"구조적 평가는 Wyckoff 축적 Phase D 진입으로 완만한 bullish이나, 실행 셋업은 ICT·파생·피보나치가 모두 프리미엄 구간의 되돌림 리스크를 지적해 bearish로 기운다. 즉 상위 구조와 단기 실행 조건이 분리되어 있으며, 현재 구간은 구조 추세 추종보다 확인 대기 또는 방어적 운용이 필요한 위치다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 3,\n    \"bearish_count\": 2,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      61322.0,\n      60700.0,\n      60484.1,\n      60116.36,\n      59904.98,\n      59612.41,\n      59298.4,\n      59080.0,\n      57758.6\n    ],\n    \"resistance\": [\n      61665.0,\n      61742.9,\n      62153.24,\n      62228.7,\n      62232.1,\n      62400.0,\n      64250.0,\n      65385.39\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff의 SOS $61,322와 현재가 $61,341.10이 거의 동일해, 시장은 축적 Phase D 진입 여부를 시험하는 경계선 바로 위에 있다.\",\n    \"ICT의 bearish BOS $62,232.10, EMA120 $62,228.70, Harmonic bullish Gartley PRZ 상단 $62,153.24가 모두 $62.15k-$62.23k에 집중되어 핵심 구조 저항대를 형성한다.\",\n    \"Candlestick과 Derivatives, Fibonacci가 모두 EMA20 $59,904.98 또는 인접 지지 $60,116.36-$59,904.98을 단기 하단 기준으로 제시한다.\",\n    \"Wyckoff SC $59,080, Fibonacci 0.5 되돌림 $59,258.45, ICT bullish OB 상단 $59,298.40이 $59.08k-$59.30k에 밀집해 중간 구조 지지 클러스터를 만든다.\",\n    \"Wyckoff Spring $57,758.60, ICT 전일 저점 $57,758.60, Fibonacci 확장/클러스터 $57,758.60이 동일 가격에 겹쳐 축적 구조의 최종 방어선으로 작동한다.\",\n    \"Candlestick bullish engulfing 반복과 Harmonic bullish PRZ 반응은 단기 매수 반응을 지지하지만, 둘 다 중기 구조 확정 신호라기보다는 반응성 셋업 성격이 강하다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 SC $59,080 → AR $64,250 → ST $63,650 → Spring $57,758.60 → SOS $61,322의 확정 축적 구조를 제시하지만, ICT는 마지막 확정 이벤트를 $62,232.10 하향 BOS로 판단해 구조를 bearish로 본다.\",\n    \"Candlestick과 Harmonic은 현재 구간에서 bullish engulfing 및 bullish PRZ 반응을 근거로 매수 셋업을 제시하지만, ICT·Derivatives·Fibonacci는 현재가가 프리미엄 영역에 있어 되돌림 리스크가 높다고 본다.\",\n    \"Wyckoff상 현재가는 SOS $61,322를 소폭 상회하지만 돌파 여유가 약 $19에 불과해 LPS 확인이 부족하다. 따라서 bullish 구조 판정은 유효하나 아직 안정적인 Phase D 확정 진행으로 보기는 어렵다.\",\n    \"Derivatives는 가격 반등에도 OI가 감소해 상승의 질을 낮게 평가하는 반면, Candlestick은 고거래량 bullish engulfing을 근거로 단기 수요를 긍정적으로 평가한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 구조 진단 관점에서 SC $59,080, AR $64,250, ST $63,650, Spring $57,758.60, SOS $61,322로 이어지는 구체적 축적 시퀀스를 제시했고, 확정 축적 적합도가 0.888로 높다. 다만 실행 관점에서는 LPS 미확인과 SOS 돌파 폭 부족을 명확히 인정해 신뢰도가 높다.\",\n  \"invalidation_level\": \"$57,758.60 하향 이탈 및 4시간 종가 기준 회복 실패 시, 현재 Wyckoff 축적 구조의 Spring 방어가 실패한 것으로 보며 bullish 구조 thesis가 무효화된다.\",\n  \"executive_summary\": \"BTC/USDT 4시간 구조는 Wyckoff 기준 확정 축적 구조이며, 현재 위치는 Spring $57,758.60 이후 SOS $61,322를 간신히 상회한 Phase D 초기 구간으로 평가된다. 다만 가격은 아직 레인지 EQ $61,665 및 EMA120·ICT BOS 저항 $62,228.70-$62,232.10 아래에 있어, 축적 구조는 bullish이나 LPS 또는 BU 확인은 부족하다. 핵심 구조 지지는 $59,080-$59,298.40 클러스터와 Spring 저점 $57,758.60이며, $57,758.60이 최종 구조 무효화선이다. 단기 실행 조건은 ICT·파생·피보나치가 공통으로 프리미엄 구간 되돌림 리스크를 지적해 bearish로 기울며, 이는 구조적 bullish 판정과 별개의 단기 운용 리스크로 분리해 해석해야 한다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.56,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 60484.1,
        "type": "support_test",
        "source": "ICT (EQ $60,484.10 프리미엄/디스카운트 경계), Derivatives (프리미엄 구간 되돌림, $60,700 청산대 인접), Fibonacci (프리미엄 추격 비효율)",
        "description": "setup_bias가 BEARISH 74%(>=0.7 고컨빅션 사전확인)이고 상위 구조 bullish는 미확정(LPS 미확인)이므로 첫 파동은 반드시 하방 되돌림. 현재가 $61,341.10은 EQ 위 premium zone이며, 1차 목표는 ICT 평형선 $60,484.10 이탈로 프리미엄 소화가 시작되는 지점. 마지막 확정 이벤트가 $62,232.10 하향 BOS인 점과 정합.",
        "est_hours": 3.0,
        "turning_zone": [
          60116.36,
          60484.1
        ],
        "likely_wick": 60350.0,
        "rejection_confirm": 60700.0,
        "invalid_overshoot": 59904.98,
        "calibration_reasoning": "ICT 평형선·Chairman 지지 $60,484.10을 상단으로, 하단은 피보나치 지지 $60,116.36에 앵커해 폭 $367.74(≈0.36×ATR)로 support_test에 적합하게 설정. 프리미엄 소화 시작 구간이라 EMA20 $59,904.98 하향 이탈 시 WP2로의 연장으로 무효화되고, Chairman $60,700 회복 시 지지 방어 확인."
      },
      {
        "seq": 2,
        "price": 59612.41,
        "type": "liquidity_sweep",
        "source": "Fibonacci (0.618 황금비 $59,612.41, 재반응 확률 최고), Derivatives (롱 계정 0.652·crowding 1.0 청산, OI -0.334% 언와인딩, 4-8h 되돌림 창), Candlestick (EMA20 $59,904.98 하회 스윕)",
        "description": "롱 혼잡 청산과 언와인딩성 반등의 되돌림이 EMA20 $59,904.98 단기 바닥을 스윕하며 피보나치 0.618 황금비 $59,612.41(최고 재반응 후보)까지 흡수. Derivatives의 4-8시간 되돌림 창과 시점 정합. 이 지점이 경로 최종 저점이며, $59,298.40~$59,080 중간 클러스터가 하방 방어벽.",
        "est_hours": 8.0,
        "turning_zone": [
          59258.45,
          59612.41
        ],
        "likely_wick": 59340.0,
        "rejection_confirm": 59904.98,
        "invalid_overshoot": 59080.0,
        "calibration_reasoning": "황금비 0.618 $59,612.41(최고 재반응 후보)을 상단으로, 유동성 클러스터인 Chairman $59,298.40·피보 지지 $59,258.45를 포함하도록 하단 확장(폭 0.35×ATR). liquidity_sweep 특성상 골든비 바로 아래 유동성을 스윕 후 반전하므로 likely_wick을 클러스터 상단 $59,340으로 편향, EMA20 $59,904.98 회복이 경로 최종저점 확정, 방어벽 하단 $59,080 이탈 시 논리 무효화."
      },
      {
        "seq": 3,
        "price": 62228.7,
        "type": "resistance_test",
        "source": "ICT ($62,232.10 bearish BOS), Derivatives/Candlestick (EMA120 $62,228.70), Harmonic (Gartley PRZ 상단 $62,153.24, D $61,815.71)",
        "description": "황금비 반응 확인 후 Wyckoff 축적 Phase D 성격의 구조적 회복. SOS $61,322·레인지 EQ $61,665·7일 고점 $61,742.90을 재확보하며 핵심 저항 클러스터 $62,153.24-$62,232.10(EMA120·ICT bearish BOS·Gartley PRZ 상단)을 테스트. 다만 이 구간은 최대 매도 방어선으로 돌파가 아닌 거부 확률이 높은 구조 천장.",
        "est_hours": 22.0,
        "turning_zone": [
          62228.7,
          62838.7
        ],
        "likely_wick": 62400.0,
        "rejection_confirm": 61742.9,
        "invalid_overshoot": 63000.0,
        "calibration_reasoning": "터미널 저항 테스트로 폭 0.60×ATR 적용, 핵심 저항 클러스터 $62,153-62,232 상단인 base 위로 Chairman $62,400까지 확장. 가틀리 PRZ $61,815.71·TP 래더($62,617.75 등)는 PRE_CONFIRMATION 미확정이라 웨이포인트 이동 근거로 불가하여 likely_wick을 확정 레벨 $62,400로 앵커, 7일 고점 $61,742.90 상실이 구조 천장 거부 확정, 라운드넘버 $63,000 상향 돌파 시 거부 시나리오 무효화."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 61500.0,
        "expected_low": 60116.36,
        "high_first": true
      },
      "8h": {
        "expected_high": 61500.0,
        "expected_low": 59612.41,
        "high_first": true
      },
      "24h": {
        "expected_high": 62228.7,
        "expected_low": 59612.41,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 62232.1,
        "description": "EMA120 $62,228.70 / ICT bearish BOS $62,232.10 클러스터를 4h 종가로 상향 돌파·유지 시 구조 bullish 전환 확정. Wyckoff Phase D 지속으로 $63,209.60 → AR $64,250 목표 개방."
      },
      "bearish": {
        "price": 59080.0,
        "description": "중간 지지 클러스터 하단 Wyckoff SC $59,080 이탈 시 되돌림이 단순 프리미엄 소화를 넘어 가속. Derivatives $58,900·$58,600 유동성 흡수 후 Spring $57,758.60 재시험 리스크로 확대."
      }
    },
    "scenario_invalidation": 57758.6,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60484.10,\n      \"type\": \"support_test\",\n      \"source\": \"ICT (EQ $60,484.10 프리미엄/디스카운트 경계), Derivatives (프리미엄 구간 되돌림, $60,700 청산대 인접), Fibonacci (프리미엄 추격 비효율)\",\n      \"description\": \"setup_bias가 BEARISH 74%(>=0.7 고컨빅션 사전확인)이고 상위 구조 bullish는 미확정(LPS 미확인)이므로 첫 파동은 반드시 하방 되돌림. 현재가 $61,341.10은 EQ 위 premium zone이며, 1차 목표는 ICT 평형선 $60,484.10 이탈로 프리미엄 소화가 시작되는 지점. 마지막 확정 이벤트가 $62,232.10 하향 BOS인 점과 정합.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59612.41,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Fibonacci (0.618 황금비 $59,612.41, 재반응 확률 최고), Derivatives (롱 계정 0.652·crowding 1.0 청산, OI -0.334% 언와인딩, 4-8h 되돌림 창), Candlestick (EMA20 $59,904.98 하회 스윕)\",\n      \"description\": \"롱 혼잡 청산과 언와인딩성 반등의 되돌림이 EMA20 $59,904.98 단기 바닥을 스윕하며 피보나치 0.618 황금비 $59,612.41(최고 재반응 후보)까지 흡수. Derivatives의 4-8시간 되돌림 창과 시점 정합. 이 지점이 경로 최종 저점이며, $59,298.40~$59,080 중간 클러스터가 하방 방어벽.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 62228.70,\n      \"type\": \"resistance_test\",\n      \"source\": \"ICT ($62,232.10 bearish BOS), Derivatives/Candlestick (EMA120 $62,228.70), Harmonic (Gartley PRZ 상단 $62,153.24, D $61,815.71)\",\n      \"description\": \"황금비 반응 확인 후 Wyckoff 축적 Phase D 성격의 구조적 회복. SOS $61,322·레인지 EQ $61,665·7일 고점 $61,742.90을 재확보하며 핵심 저항 클러스터 $62,153.24-$62,232.10(EMA120·ICT bearish BOS·Gartley PRZ 상단)을 테스트. 다만 이 구간은 최대 매도 방어선으로 돌파가 아닌 거부 확률이 높은 구조 천장.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 61500.0, \"expected_low\": 60116.36, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 61500.0, \"expected_low\": 59612.41, \"high_first\": true},\n    \"24h\": {\"expected_high\": 62228.70, \"expected_low\": 59612.41, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 62232.10, \"description\": \"EMA120 $62,228.70 / ICT bearish BOS $62,232.10 클러스터를 4h 종가로 상향 돌파·유지 시 구조 bullish 전환 확정. Wyckoff Phase D 지속으로 $63,209.60 → AR $64,250 목표 개방.\"},\n    \"bearish\": {\"price\": 59080.0, \"description\": \"중간 지지 클러스터 하단 Wyckoff SC $59,080 이탈 시 되돌림이 단순 프리미엄 소화를 넘어 가속. Derivatives $58,900·$58,600 유동성 흡수 후 Spring $57,758.60 재시험 리스크로 확대.\"}\n  },\n  \"scenario_invalidation\": 57758.60\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60484.1,
        "turning_zone": [
          60116.36,
          60484.1
        ],
        "likely_wick": 60350.0,
        "rejection_confirm": 60700.0,
        "invalid_overshoot": 59904.98,
        "calibration_reasoning": "ICT 평형선·Chairman 지지 $60,484.10을 상단으로, 하단은 피보나치 지지 $60,116.36에 앵커해 폭 $367.74(≈0.36×ATR)로 support_test에 적합하게 설정. 프리미엄 소화 시작 구간이라 EMA20 $59,904.98 하향 이탈 시 WP2로의 연장으로 무효화되고, Chairman $60,700 회복 시 지지 방어 확인."
      },
      {
        "seq": 2,
        "base_target": 59612.41,
        "turning_zone": [
          59258.45,
          59612.41
        ],
        "likely_wick": 59340.0,
        "rejection_confirm": 59904.98,
        "invalid_overshoot": 59080.0,
        "calibration_reasoning": "황금비 0.618 $59,612.41(최고 재반응 후보)을 상단으로, 유동성 클러스터인 Chairman $59,298.40·피보 지지 $59,258.45를 포함하도록 하단 확장(폭 0.35×ATR). liquidity_sweep 특성상 골든비 바로 아래 유동성을 스윕 후 반전하므로 likely_wick을 클러스터 상단 $59,340으로 편향, EMA20 $59,904.98 회복이 경로 최종저점 확정, 방어벽 하단 $59,080 이탈 시 논리 무효화."
      },
      {
        "seq": 3,
        "base_target": 62228.7,
        "turning_zone": [
          62228.7,
          62838.7
        ],
        "likely_wick": 62400.0,
        "rejection_confirm": 61742.9,
        "invalid_overshoot": 63000.0,
        "calibration_reasoning": "터미널 저항 테스트로 폭 0.60×ATR 적용, 핵심 저항 클러스터 $62,153-62,232 상단인 base 위로 Chairman $62,400까지 확장. 가틀리 PRZ $61,815.71·TP 래더($62,617.75 등)는 PRE_CONFIRMATION 미확정이라 웨이포인트 이동 근거로 불가하여 likely_wick을 확정 레벨 $62,400로 앵커, 7일 고점 $61,742.90 상실이 구조 천장 거부 확정, 라운드넘버 $63,000 상향 돌파 시 거부 시나리오 무효화."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60484.10,\n      \"turning_zone\": [60116.36, 60484.10],\n      \"likely_wick\": 60350.00,\n      \"rejection_confirm\": 60700.00,\n      \"invalid_overshoot\": 59904.98,\n      \"calibration_reasoning\": \"ICT 평형선·Chairman 지지 $60,484.10을 상단으로, 하단은 피보나치 지지 $60,116.36에 앵커해 폭 $367.74(≈0.36×ATR)로 support_test에 적합하게 설정. 프리미엄 소화 시작 구간이라 EMA20 $59,904.98 하향 이탈 시 WP2로의 연장으로 무효화되고, Chairman $60,700 회복 시 지지 방어 확인.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59612.41,\n      \"turning_zone\": [59258.45, 59612.41],\n      \"likely_wick\": 59340.00,\n      \"rejection_confirm\": 59904.98,\n      \"invalid_overshoot\": 59080.00,\n      \"calibration_reasoning\": \"황금비 0.618 $59,612.41(최고 재반응 후보)을 상단으로, 유동성 클러스터인 Chairman $59,298.40·피보 지지 $59,258.45를 포함하도록 하단 확장(폭 0.35×ATR). liquidity_sweep 특성상 골든비 바로 아래 유동성을 스윕 후 반전하므로 likely_wick을 클러스터 상단 $59,340으로 편향, EMA20 $59,904.98 회복이 경로 최종저점 확정, 방어벽 하단 $59,080 이탈 시 논리 무효화.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 62228.70,\n      \"turning_zone\": [62228.70, 62838.70],\n      \"likely_wick\": 62400.00,\n      \"rejection_confirm\": 61742.90,\n      \"invalid_overshoot\": 63000.00,\n      \"calibration_reasoning\": \"터미널 저항 테스트로 폭 0.60×ATR 적용, 핵심 저항 클러스터 $62,153-62,232 상단인 base 위로 Chairman $62,400까지 확장. 가틀리 PRZ $61,815.71·TP 래더($62,617.75 등)는 PRE_CONFIRMATION 미확정이라 웨이포인트 이동 근거로 불가하여 likely_wick을 확정 레벨 $62,400로 앵커, 7일 고점 $61,742.90 상실이 구조 천장 거부 확정, 라운드넘버 $63,000 상향 돌파 시 거부 시나리오 무효화.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 50.5,
      "chairman": 77.1,
      "operating_path": 280.4,
      "tp_calibrator": 308.4
    },
    "agents": {},
    "total_s": 716.3
  }
}