{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-27 17:00 KST",
  "last_price": 60521.7,
  "num_candles": 300,
  "stage1_analyses": {
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "7일 range EQ 약 $60,619 아래에서 현재가 $60,521로 구조적 수용 실패",
        "CVD 변화 -3136.1970으로 가격이 24h +0.05% 횡보하는 동안 매수 참여 약화",
        "OI 24h -1.6310% 하락으로 신규 롱 추격보다 포지션 언와인딩 우세",
        "롱 계정 비율 0.672, account_long_crowding 1.000으로 롱 포지셔닝 과밀",
        "롱 계정 24h -0.0055 하락, 숏 계정 +0.005 상승으로 계정 플로우가 short_accounts_rising_long_accounts_falling",
        "spot-futures basis -0.0436%로 선물이 현물 대비 약한 백워데이션 성격"
      ],
      "reasoning": "현재 BTC는 $60,521.70으로 EMA20 $60,281, EMA120 $60,072, EMA240 $60,360 위에 있으나, 7일 고점 $63,209.60과 저점 $58,030의 중간값인 약 $60,619를 명확히 회복하지 못해 구조는 확정 bullish가 아니라 중립으로 본다. 파생 포지셔닝은 bearish 쪽으로 기울어져 있으며, CVD가 -3136.1970 감소한 반면 가격은 24h +0.05%에 그쳐 매수 체결 강도가 가격을 지지하지 못하고 있다. OI도 24h -1.6310% 감소해 신규 롱 유입보다는 포지션 축소가 우세하고, 롱 계정 비율 0.672 및 account_long_crowding 1.000은 반대매매 관점에서 롱 과밀 리스크를 시사한다. 단기적으로는 $60,900 상단 청산대가 먼저 스윕될 수 있으나, $61,600 위 수용에 실패하면 $59,100 및 $57,900 하단 유동성으로 되돌림이 나올 가능성이 높다.",
      "key_levels": {
        "support": [
          60360.33,
          60281.07,
          60072.7,
          59100,
          58030,
          57900,
          54300
        ],
        "resistance": [
          60619.8,
          60900,
          61600,
          62700,
          63209.6
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "$61,600",
      "risk_scenario": "$60,900 상단 청산대를 흡수한 뒤 $61,600 위에서 15m 종가 수용이 나오면 숏 압박이 커지며 $62,700, 이후 7일 고점 $63,209.60까지 숏 스퀴즈가 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -3136.197,
        "oi_trend": 0.337,
        "oi_change_pct_24h": -1.631,
        "oi_latest": 104651.179,
        "funding_pressure": 0.438,
        "funding_avg": 6.156e-05,
        "funding_change_24h": -6.49e-06,
        "long_account_ratio": 0.675,
        "short_account_ratio": 0.325,
        "long_account_latest": 0.672,
        "short_account_latest": 0.328,
        "long_account_change_24h": -0.0055,
        "short_account_change_24h": 0.0055,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0436,
        "basis_change_lookback": -0.0036,
        "aggregate_score": 0.283,
        "bull_signals": 0,
        "bear_signals": 4,
        "liq_below": [
          [
            59100,
            1317.2038160999998
          ],
          [
            57900,
            1350.8337940000001
          ],
          [
            54300,
            1674.6424025
          ]
        ],
        "liq_above": [
          [
            60900,
            1097.7297443999998
          ],
          [
            61600,
            934.2012697499998
          ],
          [
            62700,
            1150.495076
          ]
        ],
        "strongest_liq_level": 54300,
        "fragility_score": 0.457,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"7일 range EQ 약 $60,619 아래에서 현재가 $60,521로 구조적 수용 실패\",\n    \"CVD 변화 -3136.1970으로 가격이 24h +0.05% 횡보하는 동안 매수 참여 약화\",\n    \"OI 24h -1.6310% 하락으로 신규 롱 추격보다 포지션 언와인딩 우세\",\n    \"롱 계정 비율 0.672, account_long_crowding 1.000으로 롱 포지셔닝 과밀\",\n    \"롱 계정 24h -0.0055 하락, 숏 계정 +0.005 상승으로 계정 플로우가 short_accounts_rising_long_accounts_falling\",\n    \"spot-futures basis -0.0436%로 선물이 현물 대비 약한 백워데이션 성격\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,521.70으로 EMA20 $60,281, EMA120 $60,072, EMA240 $60,360 위에 있으나, 7일 고점 $63,209.60과 저점 $58,030의 중간값인 약 $60,619를 명확히 회복하지 못해 구조는 확정 bullish가 아니라 중립으로 본다. 파생 포지셔닝은 bearish 쪽으로 기울어져 있으며, CVD가 -3136.1970 감소한 반면 가격은 24h +0.05%에 그쳐 매수 체결 강도가 가격을 지지하지 못하고 있다. OI도 24h -1.6310% 감소해 신규 롱 유입보다는 포지션 축소가 우세하고, 롱 계정 비율 0.672 및 account_long_crowding 1.000은 반대매매 관점에서 롱 과밀 리스크를 시사한다. 단기적으로는 $60,900 상단 청산대가 먼저 스윕될 수 있으나, $61,600 위 수용에 실패하면 $59,100 및 $57,900 하단 유동성으로 되돌림이 나올 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      60360.33,\n      60281.07,\n      60072.7,\n      59100,\n      58030,\n      57900,\n      54300\n    ],\n    \"resistance\": [\n      60619.8,\n      60900,\n      61600,\n      62700,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"$61,600\",\n  \"risk_scenario\": \"$60,900 상단 청산대를 흡수한 뒤 $61,600 위에서 15m 종가 수용이 나오면 숏 압박이 커지며 $62,700, 이후 7일 고점 $63,209.60까지 숏 스퀴즈가 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "최근 strict 등급의 bearish_harami 감지: pattern_quality 0.696, high_volume=true로 20봉 평균 거래량 813.27 대비 의미 있는 매도 반응",
        "bear_score 2.25가 bull_score 1.35보다 우위로, 최근 캔들 패턴 압력은 매도 쪽이 강함",
        "bearish_engulfing@292 및 evening_star@292 이후 bullish_engulfing@297 반등이 있었지만, 현재가 $60,521.70은 7일 range EQ $60,619.80 아래에 위치",
        "현재가가 EMA20 $60,281.07, EMA120 $60,072.70, EMA240 $60,360.33 위에 있으나 이격이 +0.3~0.7%에 불과해 구조적 상승 확정보다는 단기 저항권 테스트 성격"
      ],
      "reasoning": "현재 BTC는 $60,521.70으로 EMA20 $60,281.07, EMA120 $60,072.70, EMA240 $60,360.33 위에 있어 단기적으로 완전한 약세 구조는 아니지만, 7일 고점 $63,209.60과 저점 $58,030.00의 중간값인 약 $60,619.80 아래에 머물러 구조적 강세 확정은 부족합니다. 최근 패턴에서는 high-volume bearish harami가 strict 등급으로 감지되었고 quality 0.696으로 가장 강하며, bear_score 2.25가 bull_score 1.35를 앞서 단기 캔들 압력은 매도 우위입니다. 다만 bullish_engulfing@297이 뒤늦게 출현했고 마지막 5개 봉도 하락 2개 후 상승 3개로 회복 시도가 있어, 확정된 하락 구조라기보다 저항권에서의 선제적 bearish setup으로 해석합니다. 따라서 structure_bias는 neutral, setup_bias는 bearish로 분리하며, $60,662.60 위 15분봉 종가 안착 시 약세 셋업은 약화됩니다.",
      "key_levels": {
        "support": [
          60360.33,
          60281.07,
          60072.7,
          58030.0
        ],
        "resistance": [
          60619.8,
          60662.6,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,662.60",
      "risk_scenario": "$60,662.60 위로 15분봉 종가가 안착하면 high-volume bearish harami의 매도 압력이 흡수된 것으로 볼 수 있으며, 이 경우 $60,619.80 EQ 회복과 함께 $63,209.60 7일 고점 방향의 재상승 시나리오가 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 142,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@292",
          "bullish_engulfing@297",
          "evening_star@292",
          "bullish_harami@290",
          "bearish_harami@295"
        ],
        "atr_value": 140.89,
        "vol_avg_20": 813.27,
        "high_volume_patterns": [
          "bearish_harami"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.696,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.56,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.489,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.434,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.409,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.696,
        "bull_score": 1.35,
        "bear_score": 2.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"최근 strict 등급의 bearish_harami 감지: pattern_quality 0.696, high_volume=true로 20봉 평균 거래량 813.27 대비 의미 있는 매도 반응\",\n    \"bear_score 2.25가 bull_score 1.35보다 우위로, 최근 캔들 패턴 압력은 매도 쪽이 강함\",\n    \"bearish_engulfing@292 및 evening_star@292 이후 bullish_engulfing@297 반등이 있었지만, 현재가 $60,521.70은 7일 range EQ $60,619.80 아래에 위치\",\n    \"현재가가 EMA20 $60,281.07, EMA120 $60,072.70, EMA240 $60,360.33 위에 있으나 이격이 +0.3~0.7%에 불과해 구조적 상승 확정보다는 단기 저항권 테스트 성격\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,521.70으로 EMA20 $60,281.07, EMA120 $60,072.70, EMA240 $60,360.33 위에 있어 단기적으로 완전한 약세 구조는 아니지만, 7일 고점 $63,209.60과 저점 $58,030.00의 중간값인 약 $60,619.80 아래에 머물러 구조적 강세 확정은 부족합니다. 최근 패턴에서는 high-volume bearish harami가 strict 등급으로 감지되었고 quality 0.696으로 가장 강하며, bear_score 2.25가 bull_score 1.35를 앞서 단기 캔들 압력은 매도 우위입니다. 다만 bullish_engulfing@297이 뒤늦게 출현했고 마지막 5개 봉도 하락 2개 후 상승 3개로 회복 시도가 있어, 확정된 하락 구조라기보다 저항권에서의 선제적 bearish setup으로 해석합니다. 따라서 structure_bias는 neutral, setup_bias는 bearish로 분리하며, $60,662.60 위 15분봉 종가 안착 시 약세 셋업은 약화됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60360.33,\n      60281.07,\n      60072.7,\n      58030.0\n    ],\n    \"resistance\": [\n      60619.8,\n      60662.6,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,662.60\",\n  \"risk_scenario\": \"$60,662.60 위로 15분봉 종가가 안착하면 high-volume bearish harami의 매도 압력이 흡수된 것으로 볼 수 있으며, 이 경우 $60,619.80 EQ 회복과 함께 $63,209.60 7일 고점 방향의 재상승 시나리오가 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.74,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.38,
      "setup_signals": [
        "현재가 $60,521.70은 분배 메인 레인지 하단/AR $60,666.00 아래에 있어 구조적으로 하단 이탈 상태",
        "최근 SOW가 $60,074.50에서 발생했지만 현재가는 그 위로 반등하여 즉시 하락 추종 셋업은 아직 약함",
        "LPSY $60,387.80 상단을 현재가가 회복했으나 UT $60,734.00 및 AR $60,666.00 재진입 확인은 아직 없음",
        "레인지 EQ는 약 $60,961.00이며 현재가는 EQ 아래 할인 구간에 위치해 신규 추격 매도보다는 $60,666~$60,734 재거부 확인이 필요"
      ],
      "reasoning": "15분 구조는 regime=DIS, regime_fitness 0.963, phase_context는 distribution Phase D로 표시되며 BC $61,256.00 → AR $60,666.00 → ST $61,931.10 → SOW_IN_PHASE_B $58,030.00 → UT $60,734.00 → LPSY $60,387.80 → SOW $60,074.50의 분배 이벤트 체인이 확인되어 구조 편향은 bearish이다. 다만 현재가 $60,521.70은 마지막 SOW $60,074.50 위로 반등했고 LPSY $60,387.80도 단기적으로 회복한 상태라, 즉시 실행 관점의 setup_bias는 강한 bearish가 아니라 neutral에 가깝다. 핵심은 $60,666.00 AR/메인 레인지 하단과 $60,734.00 UT 부근에서 재거부가 나오는지이며, 이 구간을 회복하지 못하면 Phase D 내 공급 재출현 후 $60,074.50 및 $58,030.00 재시험 가능성이 남는다. 반대로 $60,734.00 위에서 수용되고 이후 $61,256.00까지 회복하면 현재 SOW 해석은 약화되며, $61,931.10 ST 고점 상방 수용은 분배 구조 자체의 주요 무효화로 본다.",
      "key_levels": {
        "support": [
          60074.5,
          58030.0
        ],
        "resistance": [
          60666.0,
          60734.0,
          61256.0,
          61931.1
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$61,931.10 상방 수용 시 분배 Phase D/SOW 구조 해석 무효화",
      "risk_scenario": "$60,666.00과 $60,734.00을 회복한 뒤 지지로 전환되면 SOW 이후의 하락 연속성이 실패하고, $61,256.00 BC 및 $61,931.10 ST 고점 재시험으로 분배 구조가 재평가될 수 있다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "LPSY",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 68,
            "price": 61256.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 79,
            "price": 60666.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 106,
            "price": 61931.1,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 131,
            "price": 58030.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 202,
            "price": 60734.0,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 280,
            "price": 60387.8,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 293,
            "price": 60074.5,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 68,
            "end_idx": 293,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 68,
                "price": 61256.0,
                "color": "#ffd166",
                "dt": "2026-06-25 07:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 79,
                "price": 60666.0,
                "color": "#06d6a0",
                "dt": "2026-06-25 09:45:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 106,
                "price": 61931.1,
                "color": "#118ab2",
                "dt": "2026-06-25 16:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 131,
                "price": 58030.0,
                "color": "#ef476f",
                "dt": "2026-06-25 22:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 202,
                "price": 60734.0,
                "color": "#f9844a",
                "dt": "2026-06-26 16:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 280,
                "price": 60387.8,
                "color": "#8338ec",
                "dt": "2026-06-27 12:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 293,
                "price": 60074.5,
                "color": "#ef476f",
                "dt": "2026-06-27 15:15:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9625,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 60666.0,
        "main_range_high": 61256.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.74,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"현재가 $60,521.70은 분배 메인 레인지 하단/AR $60,666.00 아래에 있어 구조적으로 하단 이탈 상태\",\n    \"최근 SOW가 $60,074.50에서 발생했지만 현재가는 그 위로 반등하여 즉시 하락 추종 셋업은 아직 약함\",\n    \"LPSY $60,387.80 상단을 현재가가 회복했으나 UT $60,734.00 및 AR $60,666.00 재진입 확인은 아직 없음\",\n    \"레인지 EQ는 약 $60,961.00이며 현재가는 EQ 아래 할인 구간에 위치해 신규 추격 매도보다는 $60,666~$60,734 재거부 확인이 필요\"\n  ],\n  \"reasoning\": \"15분 구조는 regime=DIS, regime_fitness 0.963, phase_context는 distribution Phase D로 표시되며 BC $61,256.00 → AR $60,666.00 → ST $61,931.10 → SOW_IN_PHASE_B $58,030.00 → UT $60,734.00 → LPSY $60,387.80 → SOW $60,074.50의 분배 이벤트 체인이 확인되어 구조 편향은 bearish이다. 다만 현재가 $60,521.70은 마지막 SOW $60,074.50 위로 반등했고 LPSY $60,387.80도 단기적으로 회복한 상태라, 즉시 실행 관점의 setup_bias는 강한 bearish가 아니라 neutral에 가깝다. 핵심은 $60,666.00 AR/메인 레인지 하단과 $60,734.00 UT 부근에서 재거부가 나오는지이며, 이 구간을 회복하지 못하면 Phase D 내 공급 재출현 후 $60,074.50 및 $58,030.00 재시험 가능성이 남는다. 반대로 $60,734.00 위에서 수용되고 이후 $61,256.00까지 회복하면 현재 SOW 해석은 약화되며, $61,931.10 ST 고점 상방 수용은 분배 구조 자체의 주요 무효화로 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      60074.5,\n      58030.0\n    ],\n    \"resistance\": [\n      60666.0,\n      60734.0,\n      61256.0,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$61,931.10 상방 수용 시 분배 Phase D/SOW 구조 해석 무효화\",\n  \"risk_scenario\": \"$60,666.00과 $60,734.00을 회복한 뒤 지지로 전환되면 SOW 이후의 하락 연속성이 실패하고, $61,256.00 BC 및 $61,931.10 ST 고점 재시험으로 분배 구조가 재평가될 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.65,
      "setup_signals": [
        "현재가 $60,521.70가 하락 스윙 기준 0.786 되돌림 $60,387.09와 골든비율 0.618 $60,320.28 위에서 거래 중",
        "EQ/0.5 되돌림 $60,273.35 상방에 위치하여 단기 매수 우위 구간 유지",
        "고품질 피보나치 컨플루언스 구간 $60,442.39에 ret_0.618, ret_0.786, ret_0.5가 중첩되어 단기 지지 후보",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로, 구조 확정 전 지지 반응 가능성이 우세",
        "하방 실패 시 $60,150.25 컨플루언스와 $59,845.42 확장 클러스터가 다음 유동성 목표로 열려 있음"
      ],
      "reasoning": "확정 구조 관점에서는 제공된 스윙 방향이 High→Low $60,472 → $60,074의 하락으로 표시되어 있고, 명확한 BOS/CHoCH 확정 정보가 없으므로 structure_bias는 중립으로 둔다. 다만 현재가 $60,521.70는 0.786 되돌림 $60,387.09, 골든비율 0.618 $60,320.28, 0.5 $60,273.35를 모두 상회하고 있어 사전 실행 셋업은 bullish 쪽이 우세하다. 특히 $60,442.39 컨플루언스 구간은 ret_0.618/ret_0.786/ret_0.5가 중첩된 고품질 지지대로, 가격이 이 위에서 유지되면 단기 상방 지속 가능성이 높다. 반대로 $60,320.28 골든비율을 15분 종가로 이탈하면 bullish setup은 약화되며 $60,150.25, 이후 $59,845.42 확장 클러스터까지 되돌림 위험이 커진다.",
      "key_levels": {
        "support": [
          60387.09,
          60320.28,
          60273.35,
          60150.25,
          59845.42
        ],
        "resistance": [
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,320.28 15분 종가 하회",
      "risk_scenario": "가격이 $60,387.09를 재이탈하고 특히 골든비율 $60,320.28 아래로 내려가면 현재의 bullish setup은 실패로 간주된다. 이 경우 0.5 되돌림 $60,273.35와 컨플루언스 지지 $60,150.25가 순차적으로 테스트될 수 있으며, 매도 압력이 확대되면 하방 확장 클러스터 $59,845.42 및 ext_1.618 $59,828.72까지 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,472 → $60,074",
        "direction": "down",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 60387.09,
        "nearest_fib_distance": 0.22,
        "golden_ratio_level": 60320.28,
        "fib_ret_382": 60226.42,
        "fib_ret_618": 60320.28,
        "confluence_zones": [
          {
            "price": 60150.25,
            "count": 5,
            "levels": [
              "ret_0.382",
              "ext_1.0",
              "ret_0.236",
              "ret_0.382",
              "ret_0.5"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59845.42,
            "count": 4,
            "levels": [
              "ext_2.0",
              "ext_1.618",
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60442.39,
            "count": 3,
            "levels": [
              "ret_0.618",
              "ret_0.786",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 59341.7,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ext_2.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60387.0922,
          60320.2786,
          60273.35
        ],
        "resistance_levels": [],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60168.36,
            "distance_pct": 0.58,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60226.42,
            "distance_pct": 0.49,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 60273.35,
            "distance_pct": 0.41,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60320.28,
            "distance_pct": 0.33,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 60387.09,
            "distance_pct": 0.22,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 60074.5,
            "distance_pct": 0.74,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 59966.33,
            "distance_pct": 0.92,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 59909.85,
            "distance_pct": 1.01,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 59828.72,
            "distance_pct": 1.15,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 59676.8,
            "distance_pct": 1.4,
            "is_support": true,
            "cluster_score": 1.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"현재가 $60,521.70가 하락 스윙 기준 0.786 되돌림 $60,387.09와 골든비율 0.618 $60,320.28 위에서 거래 중\",\n    \"EQ/0.5 되돌림 $60,273.35 상방에 위치하여 단기 매수 우위 구간 유지\",\n    \"고품질 피보나치 컨플루언스 구간 $60,442.39에 ret_0.618, ret_0.786, ret_0.5가 중첩되어 단기 지지 후보\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로, 구조 확정 전 지지 반응 가능성이 우세\",\n    \"하방 실패 시 $60,150.25 컨플루언스와 $59,845.42 확장 클러스터가 다음 유동성 목표로 열려 있음\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 제공된 스윙 방향이 High→Low $60,472 → $60,074의 하락으로 표시되어 있고, 명확한 BOS/CHoCH 확정 정보가 없으므로 structure_bias는 중립으로 둔다. 다만 현재가 $60,521.70는 0.786 되돌림 $60,387.09, 골든비율 0.618 $60,320.28, 0.5 $60,273.35를 모두 상회하고 있어 사전 실행 셋업은 bullish 쪽이 우세하다. 특히 $60,442.39 컨플루언스 구간은 ret_0.618/ret_0.786/ret_0.5가 중첩된 고품질 지지대로, 가격이 이 위에서 유지되면 단기 상방 지속 가능성이 높다. 반대로 $60,320.28 골든비율을 15분 종가로 이탈하면 bullish setup은 약화되며 $60,150.25, 이후 $59,845.42 확장 클러스터까지 되돌림 위험이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      60387.09,\n      60320.28,\n      60273.35,\n      60150.25,\n      59845.42\n    ],\n    \"resistance\": [\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,320.28 15분 종가 하회\",\n  \"risk_scenario\": \"가격이 $60,387.09를 재이탈하고 특히 골든비율 $60,320.28 아래로 내려가면 현재의 bullish setup은 실패로 간주된다. 이 경우 0.5 되돌림 $60,273.35와 컨플루언스 지지 $60,150.25가 순차적으로 테스트될 수 있으며, 매도 압력이 확대되면 하방 확장 클러스터 $59,845.42 및 ext_1.618 $59,828.72까지 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.61,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.78,
      "setup_signals": [
        "현재가 $60,521.70가 최근접 베어리시 Bat 형성 PRZ $60,341.53-$60,711.05 내부에 위치하며, D 예상가 $60,526.29와 거의 동일함",
        "완성된 strict high Bat 베어리시 패턴이 PRZ $60,217.82-$60,510.71에서 확인 반응을 보였고 reaction_score 0.90, AD 0.382 반응 목표 도달",
        "완성된 strict high Gartley 베어리시 패턴이 PRZ $60,184.90-$60,506.94에서 확인 반응을 보였고 reaction_score 0.75, AD 0.236 반응 목표 도달",
        "활성 고컨플루언스 베어리시 PRZ가 $60,022.33-$60,711.05 구간에 밀집되어 있으며, 주요 패턴들이 ABCD, BC_EXT, XAD 3개 Fib 패밀리 컨플루언스를 공유함",
        "하모닉 방향 점수는 bearish 2.131 대 bullish 0.137, directional_dominance 0.879로 단기 반응 셋업은 하방 우세"
      ],
      "reasoning": "확정 구조 관점에서는 BOS/CHoCH/명확한 구조 수용 데이터가 제공되지 않았으므로 structure_bias는 중립으로 둔다. 다만 실행 셋업 관점에서는 현재가 $60,521.70가 최근접 베어리시 Bat PRZ $60,341.53-$60,711.05 및 D값 $60,526.29에 정확히 겹쳐 있고, 이미 완성된 Bat/Gartley 베어리시 패턴 2개가 PRZ 반응 확인을 받았다. 특히 완료 Bat는 $60,217.82-$60,510.71 PRZ에서 reaction_score 0.90, 완료 Gartley는 $60,184.90-$60,506.94 PRZ에서 reaction_score 0.75로, 하모닉은 단기 하방 반응 구간을 강하게 지지한다. 단, 하모닉은 독립적인 경로 엔진이 아니므로 $60,711.05 상단을 돌파·수용하면 베어리시 PRZ 방어 실패로 해석해야 한다.",
      "key_levels": {
        "support": [
          60155.64,
          60055.51,
          60034.51,
          59926.65,
          59864.76,
          59842.11,
          59556.0,
          59530.7
        ],
        "resistance": [
          60487.38,
          60506.94,
          60510.71,
          60549.45,
          60711.05
        ]
      },
      "time_horizon": "단기, 15분봉 기준 PRZ 반응 구간",
      "invalidation_level": "$60,711.05 상단 PRZ 위 15분 종가 수용",
      "risk_scenario": "$60,711.05 위로 수용되면 현재 베어리시 Bat/Gartley PRZ 방어가 실패하며, 하방 TP ladder인 $60,155-$60,034 및 $59,864-$59,842 도달 확률이 급감한다. 이 경우 숏 반응 셋업은 무효화되고, 상단 유동성 및 7일 고점 $63,209.60 방향의 연장 리스크를 열어야 한다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 64,
        "completed_patterns_found": 25,
        "forming_d_prz_found": 39,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 54,
        "swing_highs_scanned": 27,
        "swing_lows_scanned": 27,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 14,
          "medium": 26,
          "low": 24
        },
        "prz_status_counts": {
          "active": 22,
          "nearby": 4,
          "watch": 10,
          "far": 28,
          "forming": 21
        },
        "high_confluence_prz_count": 29,
        "strict_patterns_found": 39,
        "candidate_patterns_found": 25,
        "active_patterns_at_prz": 22,
        "nearby_patterns": 4,
        "all_patterns": [
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "gartley",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab"
        ],
        "all_signals": [
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.959,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 60526.29,
        "price_to_prz": 0.01,
        "prz_range": [
          60341.53,
          60711.05
        ],
        "council_relevant_prz_count": 8,
        "directional_influence_prz_count": 8,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.36,
            "price_to_prz_pct_raw": -0.3633,
            "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": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60322.95,
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_width_pct": 0.406,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.33,
            "price_to_prz_pct_raw": -0.3284,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.3962
            },
            "x_price": 60234.8,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 237,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 60074.5,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.26,
            "price_to_prz_pct_raw": -0.2599,
            "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": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60182.47,
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5605,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.2815
            },
            "x_price": 60274.2,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 237,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59888.7,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.925,
            "ratio_score": 1.0,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60046.44,
            "prz_range": [
              59849.97,
              60242.92
            ],
            "prz_width_pct": 0.654,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.79,
            "price_to_prz_pct_raw": -0.7853,
            "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": 60046.44,
              "a_price": 60387.8,
              "tp1_ad_382": 60176.84,
              "tp2_ad_618": 60257.4,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5571,
              "ABC": 1.3332
            },
            "x_price": 59933.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 60387.8,
            "a_idx": 280,
            "a_order": 3,
            "b_price": 60134.5,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 60472.2,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0076,
            "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": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 202,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.912,
            "ratio_score": 0.911,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60472.2,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.26,
            "price_to_prz_pct_raw": -0.2601,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.434,
                "adverse_move_ratio_ad": 0.022,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_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": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.5593,
              "XAD": 0.8947
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.864,
            "ratio_score": 0.811,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60387.8,
            "prz_range": [
              60184.9,
              60506.94
            ],
            "prz_width_pct": 0.534,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2904,
            "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.355,
                "adverse_move_ratio_ad": 0.098,
                "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": "bearish",
              "source": "gartley",
              "d_price": 60345.92,
              "a_price": 59530.7,
              "tp1_ad_382": 60034.51,
              "tp2_ad_618": 59842.11,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.5044,
              "BCD": 1.6867,
              "XAD": 0.8168
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 280
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.912,
            "ratio_score": 0.911,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60472.2,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.26,
            "price_to_prz_pct_raw": -0.2601,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.434,
                "adverse_move_ratio_ad": 0.022,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_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": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.5593,
              "XAD": 0.8947
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.864,
            "ratio_score": 0.811,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60387.8,
            "prz_range": [
              60184.9,
              60506.94
            ],
            "prz_width_pct": 0.534,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2904,
            "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.355,
                "adverse_move_ratio_ad": 0.098,
                "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": "bearish",
              "source": "gartley",
              "d_price": 60345.92,
              "a_price": 59530.7,
              "tp1_ad_382": 60034.51,
              "tp2_ad_618": 59842.11,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.5044,
              "BCD": 1.6867,
              "XAD": 0.8168
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 280
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.36,
            "price_to_prz_pct_raw": -0.3633,
            "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": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60322.95,
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_width_pct": 0.406,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.33,
            "price_to_prz_pct_raw": -0.3284,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.3962
            },
            "x_price": 60234.8,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 237,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 60074.5,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.26,
            "price_to_prz_pct_raw": -0.2599,
            "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": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60182.47,
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5605,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.2815
            },
            "x_price": 60274.2,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 237,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59888.7,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.925,
            "ratio_score": 1.0,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60046.44,
            "prz_range": [
              59849.97,
              60242.92
            ],
            "prz_width_pct": 0.654,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.79,
            "price_to_prz_pct_raw": -0.7853,
            "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": 60046.44,
              "a_price": 60387.8,
              "tp1_ad_382": 60176.84,
              "tp2_ad_618": 60257.4,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5571,
              "ABC": 1.3332
            },
            "x_price": 59933.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 60387.8,
            "a_idx": 280,
            "a_order": 3,
            "b_price": 60134.5,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 60472.2,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0076,
            "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": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 202,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.36,
            "price_to_prz_pct_raw": -0.3633,
            "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": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 258,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60322.95,
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_width_pct": 0.406,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.33,
            "price_to_prz_pct_raw": -0.3284,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.3962
            },
            "x_price": 60234.8,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 237,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 60074.5,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.26,
            "price_to_prz_pct_raw": -0.2599,
            "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": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60182.47,
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5605,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.2815
            },
            "x_price": 60274.2,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 237,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59888.7,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.925,
            "ratio_score": 1.0,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60046.44,
            "prz_range": [
              59849.97,
              60242.92
            ],
            "prz_width_pct": 0.654,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.79,
            "price_to_prz_pct_raw": -0.7853,
            "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": 60046.44,
              "a_price": 60387.8,
              "tp1_ad_382": 60176.84,
              "tp2_ad_618": 60257.4,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5571,
              "ABC": 1.3332
            },
            "x_price": 59933.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 60387.8,
            "a_idx": 280,
            "a_order": 3,
            "b_price": 60134.5,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 60472.2,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0076,
            "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": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 202,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.912,
            "ratio_score": 0.911,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60472.2,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.26,
            "price_to_prz_pct_raw": -0.2601,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.434,
                "adverse_move_ratio_ad": 0.022,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_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": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.5593,
              "XAD": 0.8947
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 254,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.864,
            "ratio_score": 0.811,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60387.8,
            "prz_range": [
              60184.9,
              60506.94
            ],
            "prz_width_pct": 0.534,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2904,
            "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.355,
                "adverse_move_ratio_ad": 0.098,
                "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": "bearish",
              "source": "gartley",
              "d_price": 60345.92,
              "a_price": 59530.7,
              "tp1_ad_382": 60034.51,
              "tp2_ad_618": 59842.11,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.5044,
              "BCD": 1.6867,
              "XAD": 0.8168
            },
            "x_price": 60580.0,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 280
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.861,
            "ratio_score": 0.891,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59845.51,
            "prz_range": [
              59764.43,
              59926.59
            ],
            "prz_width_pct": 0.271,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.12,
            "price_to_prz_pct_raw": -1.1173,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59845.51,
              "a_price": 60274.2,
              "tp1_ad_382": 60009.27,
              "tp2_ad_618": 60110.44,
              "tp3_a_or_structure_liquidity": 60274.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5997,
              "ABC": 0.6866
            },
            "x_price": 59705.4,
            "x_idx": 167,
            "x_order": 3,
            "a_price": 60274.2,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 59933.1,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 60167.3,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.84,
            "ratio_score": 0.788,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59910.9,
            "prz_range": [
              59757.24,
              60064.56
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.01,
            "price_to_prz_pct_raw": -1.0092,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59910.9,
              "a_price": 59152.7,
              "tp1_ad_382": 59621.27,
              "tp2_ad_618": 59442.33,
              "tp3_a_or_structure_liquidity": 59152.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6464,
              "ABC": 0.8989
            },
            "x_price": 60035.7,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 59152.7,
            "a_idx": 153,
            "a_order": 8,
            "b_price": 59723.5,
            "b_idx": 156,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 215,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.83,
            "ratio_score": 0.813,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60164.3,
            "prz_range": [
              59831.89,
              60188.3
            ],
            "prz_width_pct": 0.594,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.85,
            "price_to_prz_pct_raw": -0.8453,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.383,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60010.1,
              "a_price": 58835.2,
              "tp1_ad_382": 59561.29,
              "tp2_ad_618": 59284.01,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.576,
              "ABC": 0.6622,
              "BCD": 1.6256,
              "XAD": 0.8145
            },
            "x_price": 60466.9,
            "x_idx": 134,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 137,
            "a_order": 3,
            "b_price": 59775.0,
            "b_idx": 148,
            "b_order": 5,
            "c_price": 59152.7,
            "c_idx": 153,
            "c_order": 8,
            "d_idx": 170
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.827,
            "ratio_score": 0.87,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59846.2,
            "prz_range": [
              59764.43,
              59926.59
            ],
            "prz_width_pct": 0.271,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.12,
            "price_to_prz_pct_raw": -1.1173,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.265,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59845.51,
              "a_price": 60274.2,
              "tp1_ad_382": 60009.27,
              "tp2_ad_618": 60110.44,
              "tp3_a_or_structure_liquidity": 60274.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5997,
              "ABC": 0.6866,
              "BCD": 1.3711,
              "XAD": 0.7525
            },
            "x_price": 59705.4,
            "x_idx": 167,
            "x_order": 3,
            "a_price": 60274.2,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 59933.1,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 60167.3,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 270
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.959,
            "prz_proximity": "active",
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.36,
            "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": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,116.23-$60,487.38: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "prz_proximity": "active",
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.33,
            "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": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $60,200.52-$60,445.38: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "prz_proximity": "active",
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.26,
            "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": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,179.37-$60,549.45: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "prz_proximity": "active",
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.56,
            "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": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $60,022.33-$60,342.62: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.925,
            "prz_proximity": "nearby",
            "prz_range": [
              59849.97,
              60242.92
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.79,
            "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": "shark",
              "d_price": 60046.44,
              "a_price": 60387.8,
              "tp1_ad_382": 60176.84,
              "tp2_ad_618": 60257.4,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $59,849.97-$60,242.92: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "prz_proximity": "active",
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.01,
            "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": "bearish",
              "source": "bat",
              "d_price": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,341.53-$60,711.05: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bearish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.959,
          "ratio_score": 1.0,
          "prz_score": 0.994,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 60301.81,
          "prz_range": [
            60116.23,
            60487.38
          ],
          "prz_width_pct": 0.615,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.36,
          "price_to_prz_pct_raw": -0.3633,
          "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": 60301.81,
            "a_price": 59556.0,
            "tp1_ad_382": 60016.91,
            "tp2_ad_618": 59840.9,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4609,
            "ABC": 0.3852
          },
          "x_price": 60580.0,
          "x_idx": 236,
          "x_order": 8,
          "a_price": 59556.0,
          "a_idx": 254,
          "a_order": 5,
          "b_price": 60028.0,
          "b_idx": 258,
          "b_order": 3,
          "c_price": 59846.2,
          "c_idx": 270,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bearish",
          "source": "bat",
          "d_price": 60301.81,
          "a_price": 59556.0,
          "tp1_ad_382": 60016.91,
          "tp2_ad_618": 59840.9,
          "tp3_a_or_structure_liquidity": 59556.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bearish",
          "source": "bat",
          "d_price": 60364.26,
          "a_price": 59556.0,
          "tp1_ad_382": 60055.51,
          "tp2_ad_618": 59864.76,
          "tp3_a_or_structure_liquidity": 59556.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60301.81,
            "a_price": 59556.0,
            "tp1_ad_382": 60016.91,
            "tp2_ad_618": 59840.9,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 60322.95,
            "a_price": 59933.1,
            "tp1_ad_382": 60174.03,
            "tp2_ad_618": 60082.02,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60364.41,
            "a_price": 59530.7,
            "tp1_ad_382": 60045.93,
            "tp2_ad_618": 59849.18,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "shark",
            "d_price": 60182.47,
            "a_price": 59933.1,
            "tp1_ad_382": 60087.21,
            "tp2_ad_618": 60028.36,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "shark",
            "d_price": 60046.44,
            "a_price": 60387.8,
            "tp1_ad_382": 60176.84,
            "tp2_ad_618": 60257.4,
            "tp3_a_or_structure_liquidity": 60387.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60526.29,
            "a_price": 59556.0,
            "tp1_ad_382": 60155.64,
            "tp2_ad_618": 59926.65,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60364.26,
            "a_price": 59556.0,
            "tp1_ad_382": 60055.51,
            "tp2_ad_618": 59864.76,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60345.92,
            "a_price": 59530.7,
            "tp1_ad_382": 60034.51,
            "tp2_ad_618": 59842.11,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.137,
          "bearish": 2.131
        },
        "directional_score_total": 2.268,
        "directional_dominance": 0.879
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.61,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"현재가 $60,521.70가 최근접 베어리시 Bat 형성 PRZ $60,341.53-$60,711.05 내부에 위치하며, D 예상가 $60,526.29와 거의 동일함\",\n    \"완성된 strict high Bat 베어리시 패턴이 PRZ $60,217.82-$60,510.71에서 확인 반응을 보였고 reaction_score 0.90, AD 0.382 반응 목표 도달\",\n    \"완성된 strict high Gartley 베어리시 패턴이 PRZ $60,184.90-$60,506.94에서 확인 반응을 보였고 reaction_score 0.75, AD 0.236 반응 목표 도달\",\n    \"활성 고컨플루언스 베어리시 PRZ가 $60,022.33-$60,711.05 구간에 밀집되어 있으며, 주요 패턴들이 ABCD, BC_EXT, XAD 3개 Fib 패밀리 컨플루언스를 공유함\",\n    \"하모닉 방향 점수는 bearish 2.131 대 bullish 0.137, directional_dominance 0.879로 단기 반응 셋업은 하방 우세\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 BOS/CHoCH/명확한 구조 수용 데이터가 제공되지 않았으므로 structure_bias는 중립으로 둔다. 다만 실행 셋업 관점에서는 현재가 $60,521.70가 최근접 베어리시 Bat PRZ $60,341.53-$60,711.05 및 D값 $60,526.29에 정확히 겹쳐 있고, 이미 완성된 Bat/Gartley 베어리시 패턴 2개가 PRZ 반응 확인을 받았다. 특히 완료 Bat는 $60,217.82-$60,510.71 PRZ에서 reaction_score 0.90, 완료 Gartley는 $60,184.90-$60,506.94 PRZ에서 reaction_score 0.75로, 하모닉은 단기 하방 반응 구간을 강하게 지지한다. 단, 하모닉은 독립적인 경로 엔진이 아니므로 $60,711.05 상단을 돌파·수용하면 베어리시 PRZ 방어 실패로 해석해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60155.64,\n      60055.51,\n      60034.51,\n      59926.65,\n      59864.76,\n      59842.11,\n      59556.0,\n      59530.7\n    ],\n    \"resistance\": [\n      60487.38,\n      60506.94,\n      60510.71,\n      60549.45,\n      60711.05\n    ]\n  },\n  \"time_horizon\": \"단기, 15분봉 기준 PRZ 반응 구간\",\n  \"invalidation_level\": \"$60,711.05 상단 PRZ 위 15분 종가 수용\",\n  \"risk_scenario\": \"$60,711.05 위로 수용되면 현재 베어리시 Bat/Gartley PRZ 방어가 실패하며, 하방 TP ladder인 $60,155-$60,034 및 $59,864-$59,842 도달 확률이 급감한다. 이 경우 숏 반응 셋업은 무효화되고, 상단 유동성 및 7일 고점 $63,209.60 방향의 연장 리스크를 열어야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.66,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.817,
      "setup_signals": [
        "현재가 60521.70은 EQ 60056.90 위의 프리미엄 영역에 위치하지만, 60568.90에 미회수 BSL이 있어 단기 유동성 타깃이 위쪽에 존재",
        "최근 구조 이벤트가 BOS_bullish 61256.00 → CHoCH_bearish 60648.00 → BOS_bullish 60245.00 순서로 마감되어, 마지막 확인 구조는 60245.00 상방 bullish BOS",
        "현재가가 EMA20 60281.07, EMA120 60072.70, EMA240 60360.33 위에 있어 단기적으로 매수 우위 유지",
        "후보 bullish OB가 58288.00~58944.00에 있으나 현재가와 거리가 멀어 즉시 진입 근거보다는 하방 딥 풀백 시 수요 구간으로 작동",
        "NY 세션 고점 60557.80과 BSL 60568.90이 매우 근접해 있어, 위쪽 유동성 회수 시도 가능성이 높음"
      ],
      "reasoning": "확인된 구조 기준으로는 마지막 이벤트가 60245.00 상방 bullish BOS이므로 structure_bias는 bullish로 판단한다. 다만 현재가 60521.70은 EQ 60056.90 위 프리미엄 영역에 있으며, 바로 위 60568.90에 BSL이 남아 있어 기관 관점에서는 먼저 buy-side liquidity를 회수할 가능성이 크다. 활성 FVG는 없고 활성 OB도 없으며, 유일한 bullish OB는 58288.00~58944.00의 후보 구간이라 현재 자리에서는 강한 디스카운트 매수 근거는 부족하다. 따라서 방향성은 60568.90 및 이전일 고점 60734.00을 향한 단기 bullish이지만, 프리미엄 진입 구간이므로 추격 매수보다는 유동성 회수 후 반응 확인이 중요하다.",
      "key_levels": {
        "support": [
          60360.33,
          60281.07,
          60245.0,
          60074.5,
          60056.9,
          59556.0,
          58944.0,
          58288.0
        ],
        "resistance": [
          60557.8,
          60568.9,
          60734.0,
          61256.0,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60074.50 하향 이탈 시 단기 bullish setup은 무효화되며, 59556.00 하향 이탈 시 구조적 bullish 해석도 크게 약화된다.",
      "risk_scenario": "반대 시나리오는 60568.90 BSL 또는 60734.00 이전일 고점 부근에서 buy-side sweep 후 즉시 하락 전환하는 것이다. 이 경우 가격이 60245.00 bullish BOS 레벨 아래로 되밀리면 60056.90 EQ와 60074.50 NY 저점을 재테스트할 가능성이 커지고, 59556.00 range low까지 sell-side liquidity 사냥이 전개될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 58288.0,
          "top": 58944.0,
          "quality": "candidate",
          "score": 0.577
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 64,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 61256.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 60648.0
          },
          {
            "type": "BOS_bullish",
            "level": 60245.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 60568.9
          }
        ],
        "current_zone": "premium",
        "eq_level": 60056.9,
        "range_high": 60557.8,
        "range_low": 59556.0,
        "bull_score": 5.5,
        "bear_score": 3.7,
        "setup_bias": "bullish",
        "setup_score": 0.817,
        "setup_signals": [
          "bullish BOS above $61,256.00",
          "bullish BOS above $60,245.00",
          "BSL resting above $60,568.90"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 86.7,
        "deepest_retracement_pct": 91.6,
        "previous_day_high": 60734.0,
        "previous_day_low": 58288.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 60557.8,
            "low": 60074.5
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.817,\n  \"setup_signals\": [\n    \"현재가 60521.70은 EQ 60056.90 위의 프리미엄 영역에 위치하지만, 60568.90에 미회수 BSL이 있어 단기 유동성 타깃이 위쪽에 존재\",\n    \"최근 구조 이벤트가 BOS_bullish 61256.00 → CHoCH_bearish 60648.00 → BOS_bullish 60245.00 순서로 마감되어, 마지막 확인 구조는 60245.00 상방 bullish BOS\",\n    \"현재가가 EMA20 60281.07, EMA120 60072.70, EMA240 60360.33 위에 있어 단기적으로 매수 우위 유지\",\n    \"후보 bullish OB가 58288.00~58944.00에 있으나 현재가와 거리가 멀어 즉시 진입 근거보다는 하방 딥 풀백 시 수요 구간으로 작동\",\n    \"NY 세션 고점 60557.80과 BSL 60568.90이 매우 근접해 있어, 위쪽 유동성 회수 시도 가능성이 높음\"\n  ],\n  \"reasoning\": \"확인된 구조 기준으로는 마지막 이벤트가 60245.00 상방 bullish BOS이므로 structure_bias는 bullish로 판단한다. 다만 현재가 60521.70은 EQ 60056.90 위 프리미엄 영역에 있으며, 바로 위 60568.90에 BSL이 남아 있어 기관 관점에서는 먼저 buy-side liquidity를 회수할 가능성이 크다. 활성 FVG는 없고 활성 OB도 없으며, 유일한 bullish OB는 58288.00~58944.00의 후보 구간이라 현재 자리에서는 강한 디스카운트 매수 근거는 부족하다. 따라서 방향성은 60568.90 및 이전일 고점 60734.00을 향한 단기 bullish이지만, 프리미엄 진입 구간이므로 추격 매수보다는 유동성 회수 후 반응 확인이 중요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      60360.33,\n      60281.07,\n      60245.0,\n      60074.5,\n      60056.9,\n      59556.0,\n      58944.0,\n      58288.0\n    ],\n    \"resistance\": [\n      60557.8,\n      60568.9,\n      60734.0,\n      61256.0,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60074.50 하향 이탈 시 단기 bullish setup은 무효화되며, 59556.00 하향 이탈 시 구조적 bullish 해석도 크게 약화된다.\",\n  \"risk_scenario\": \"반대 시나리오는 60568.90 BSL 또는 60734.00 이전일 고점 부근에서 buy-side sweep 후 즉시 하락 전환하는 것이다. 이 경우 가격이 60245.00 bullish BOS 레벨 아래로 되밀리면 60056.90 EQ와 60074.50 NY 저점을 재테스트할 가능성이 커지고, 59556.00 range low까지 sell-side liquidity 사냥이 전개될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.6,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.68,
      "active_setups": [
        "가격 $60,521.70이 7일 레인지 EQ $60,619.80 아래에 있어 상단 수용이 아직 확인되지 않음",
        "Wyckoff 분배 Phase D 구조에서 현재가가 메인 레인지 하단/AR $60,666.00 아래에 위치",
        "베어리시 Harmonic Bat PRZ $60,341.53-$60,711.05 내부이며 D 예상가 $60,526.29와 거의 일치",
        "완성된 strict Bat/Gartley 베어리시 PRZ $60,217.82-$60,510.71 및 $60,184.90-$60,506.94에서 반응 확인",
        "파생시장 CVD 변화 -3136.1970, OI 24h -1.6310%로 가격 횡보 대비 매수 체결 강도와 신규 포지션 유입이 약함",
        "최근 strict bearish harami가 고거래량으로 감지되었고, 캔들 bear_score 2.25가 bull_score 1.35를 상회",
        "반대 조건: ICT는 $60,568.90 미회수 BSL과 마지막 $60,245.00 상방 bullish BOS를 근거로 단기 상방 유동성 회수 위험을 제시",
        "반대 조건: Fibonacci는 $60,442.39 컨플루언스 및 $60,387.09/$60,320.28 상방 유지로 단기 지지 우위를 제시"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 약세 쪽으로 정렬되어 있으나, ICT와 Fibonacci가 단기 bullish 조건을 제시해 즉시 하락 일변도 구조는 아니다. 즉, 상위 구조는 분배성 약세로 보되, $60,568.90-$60,734.00 부근의 상단 유동성·PRZ 반응이 실행 리스크의 핵심이다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 4,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        60442.39,
        60387.09,
        60360.33,
        60320.28,
        60281.07,
        60074.5,
        60072.7,
        60056.9,
        59864.76,
        59842.11,
        59556.0,
        58030.0
      ],
      "resistance": [
        60506.94,
        60510.71,
        60568.9,
        60619.8,
        60666.0,
        60711.05,
        60734.0,
        61256.0,
        61600.0,
        61931.1,
        63209.6
      ]
    },
    "confluences": [
      "Derivatives와 Candlestick 모두 7일 레인지 EQ $60,619.80 아래 수용 실패를 구조적 강세 미확정 조건으로 해석한다.",
      "Wyckoff의 AR/메인 레인지 하단 $60,666.00, ICT의 이전일 고점 $60,734.00, Harmonic PRZ 상단 $60,711.05가 $60,666-$60,734 저항 클러스터를 형성한다.",
      "ICT의 미회수 BSL $60,568.90과 Harmonic의 현재 Bat D값 $60,526.29, 그리고 Candlestick의 약세 약화 기준 $60,662.60이 모두 현재가 바로 위의 단기 반응 구간을 가리킨다.",
      "Derivatives, Candlestick, ICT가 EMA240 $60,360.33을 공통 단기 기준선으로 제시하며, Fibonacci의 0.786 되돌림 $60,387.09와도 근접한다.",
      "Wyckoff SOW $60,074.50, Derivatives/Candlestick EMA120 $60,072.70, ICT 지지 $60,074.50이 $60,070대 핵심 하단 구조 기준으로 중첩된다.",
      "Wyckoff의 SOW_IN_PHASE_B 저점 $58,030.00과 Candlestick/Derivatives의 7일 저점 $58,030.00이 동일한 주요 구조 저점으로 확인된다.",
      "Harmonic의 검증된 베어리시 TP 영역 $60,055.51-$60,034.51은 Wyckoff SOW $60,074.50 및 ICT EQ $60,056.90과 밀집해 있다.",
      "Derivatives, Candlestick, Fibonacci, ICT 모두 $63,209.60을 상위 레인지 고점 또는 주요 저항으로 공유한다."
    ],
    "conflicts": [
      "Wyckoff는 분배 Phase D와 SOW 체인을 근거로 구조를 bearish로 보지만, ICT는 마지막 확인 이벤트를 $60,245.00 상방 bullish BOS로 해석해 구조를 bullish로 판단한다.",
      "Fibonacci는 $60,387.09, $60,320.28, $60,273.35 위 유지로 실행 셋업을 bullish로 보지만, Harmonic은 동일 가격대 위쪽의 $60,341.53-$60,711.05를 베어리시 Bat PRZ로 해석한다.",
      "가격은 EMA20 $60,281.07, EMA120 $60,072.70, EMA240 $60,360.33 위에 있어 표면적 단기 추세는 지지적이나, Derivatives는 CVD 감소와 OI 축소를 근거로 매수 참여 약화를 지적한다.",
      "ICT는 $60,568.90 BSL 회수 가능성을 단기 bullish 조건으로 제시하지만, Wyckoff와 Harmonic은 $60,666-$60,734 구간을 분배 재거부 및 PRZ 방어 구간으로 본다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 가격이 EMA들 위에 있음에도, Wyckoff 기준으로는 분배 Phase D 내부에서 메인 레인지 하단/AR $60,666.00 아래에 머무는 약세 구조로 평가된다. 현재 위치는 마지막 SOW $60,074.50 위로 반등했지만 UT $60,734.00 및 AR $60,666.00 재진입이 확인되지 않은 상태로, 분배 하단 이탈 후 되돌림 구간에 가깝다. $60,666-$60,734는 Wyckoff AR/UT, ICT 이전일 고점, Harmonic PRZ 상단이 겹치는 핵심 구조 저항이며, $60,074-$60,056은 SOW/EQ/EMA가 겹치는 하단 구조 기준이다. 주요 리스크는 ICT의 $60,568.90 BSL 회수와 Fibonacci $60,442.39 지지 유지가 단기적으로 약세 셋업을 지연시킬 수 있다는 점이다. 구조적 약세 판단은 $61,931.10 상방 수용 시 무효화되며, 그 전에는 $60,734.00 및 $61,256.00 회복 여부가 분배 해석 약화의 중간 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.6,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.68,\n    \"active_setups\": [\n      \"가격 $60,521.70이 7일 레인지 EQ $60,619.80 아래에 있어 상단 수용이 아직 확인되지 않음\",\n      \"Wyckoff 분배 Phase D 구조에서 현재가가 메인 레인지 하단/AR $60,666.00 아래에 위치\",\n      \"베어리시 Harmonic Bat PRZ $60,341.53-$60,711.05 내부이며 D 예상가 $60,526.29와 거의 일치\",\n      \"완성된 strict Bat/Gartley 베어리시 PRZ $60,217.82-$60,510.71 및 $60,184.90-$60,506.94에서 반응 확인\",\n      \"파생시장 CVD 변화 -3136.1970, OI 24h -1.6310%로 가격 횡보 대비 매수 체결 강도와 신규 포지션 유입이 약함\",\n      \"최근 strict bearish harami가 고거래량으로 감지되었고, 캔들 bear_score 2.25가 bull_score 1.35를 상회\",\n      \"반대 조건: ICT는 $60,568.90 미회수 BSL과 마지막 $60,245.00 상방 bullish BOS를 근거로 단기 상방 유동성 회수 위험을 제시\",\n      \"반대 조건: Fibonacci는 $60,442.39 컨플루언스 및 $60,387.09/$60,320.28 상방 유지로 단기 지지 우위를 제시\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 약세 쪽으로 정렬되어 있으나, ICT와 Fibonacci가 단기 bullish 조건을 제시해 즉시 하락 일변도 구조는 아니다. 즉, 상위 구조는 분배성 약세로 보되, $60,568.90-$60,734.00 부근의 상단 유동성·PRZ 반응이 실행 리스크의 핵심이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 4,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      60442.39,\n      60387.09,\n      60360.33,\n      60320.28,\n      60281.07,\n      60074.5,\n      60072.7,\n      60056.9,\n      59864.76,\n      59842.11,\n      59556.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60506.94,\n      60510.71,\n      60568.9,\n      60619.8,\n      60666.0,\n      60711.05,\n      60734.0,\n      61256.0,\n      61600.0,\n      61931.1,\n      63209.6\n    ]\n  },\n  \"confluences\": [\n    \"Derivatives와 Candlestick 모두 7일 레인지 EQ $60,619.80 아래 수용 실패를 구조적 강세 미확정 조건으로 해석한다.\",\n    \"Wyckoff의 AR/메인 레인지 하단 $60,666.00, ICT의 이전일 고점 $60,734.00, Harmonic PRZ 상단 $60,711.05가 $60,666-$60,734 저항 클러스터를 형성한다.\",\n    \"ICT의 미회수 BSL $60,568.90과 Harmonic의 현재 Bat D값 $60,526.29, 그리고 Candlestick의 약세 약화 기준 $60,662.60이 모두 현재가 바로 위의 단기 반응 구간을 가리킨다.\",\n    \"Derivatives, Candlestick, ICT가 EMA240 $60,360.33을 공통 단기 기준선으로 제시하며, Fibonacci의 0.786 되돌림 $60,387.09와도 근접한다.\",\n    \"Wyckoff SOW $60,074.50, Derivatives/Candlestick EMA120 $60,072.70, ICT 지지 $60,074.50이 $60,070대 핵심 하단 구조 기준으로 중첩된다.\",\n    \"Wyckoff의 SOW_IN_PHASE_B 저점 $58,030.00과 Candlestick/Derivatives의 7일 저점 $58,030.00이 동일한 주요 구조 저점으로 확인된다.\",\n    \"Harmonic의 검증된 베어리시 TP 영역 $60,055.51-$60,034.51은 Wyckoff SOW $60,074.50 및 ICT EQ $60,056.90과 밀집해 있다.\",\n    \"Derivatives, Candlestick, Fibonacci, ICT 모두 $63,209.60을 상위 레인지 고점 또는 주요 저항으로 공유한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 분배 Phase D와 SOW 체인을 근거로 구조를 bearish로 보지만, ICT는 마지막 확인 이벤트를 $60,245.00 상방 bullish BOS로 해석해 구조를 bullish로 판단한다.\",\n    \"Fibonacci는 $60,387.09, $60,320.28, $60,273.35 위 유지로 실행 셋업을 bullish로 보지만, Harmonic은 동일 가격대 위쪽의 $60,341.53-$60,711.05를 베어리시 Bat PRZ로 해석한다.\",\n    \"가격은 EMA20 $60,281.07, EMA120 $60,072.70, EMA240 $60,360.33 위에 있어 표면적 단기 추세는 지지적이나, Derivatives는 CVD 감소와 OI 축소를 근거로 매수 참여 약화를 지적한다.\",\n    \"ICT는 $60,568.90 BSL 회수 가능성을 단기 bullish 조건으로 제시하지만, Wyckoff와 Harmonic은 $60,666-$60,734 구간을 분배 재거부 및 PRZ 방어 구간으로 본다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — regime=distribution, Phase D, BC $61,256.00 → AR $60,666.00 → ST $61,931.10 → SOW_IN_PHASE_B $58,030.00 → UT $60,734.00 → LPSY $60,387.80 → SOW $60,074.50의 이벤트 체인이 가장 명확하며, 현재가가 메인 레인지 하단 $60,666.00 아래에 있어 구조 진단의 일관성이 가장 높다.\",\n  \"invalidation_level\": \"$61,931.10 위 15분봉 수용 시 현재 분배 구조 해석은 주요 무효화된다. 단기적으로는 $60,734.00 및 $61,256.00 회복도 약세 구조를 단계적으로 약화시키는 조건이다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 가격이 EMA들 위에 있음에도, Wyckoff 기준으로는 분배 Phase D 내부에서 메인 레인지 하단/AR $60,666.00 아래에 머무는 약세 구조로 평가된다. 현재 위치는 마지막 SOW $60,074.50 위로 반등했지만 UT $60,734.00 및 AR $60,666.00 재진입이 확인되지 않은 상태로, 분배 하단 이탈 후 되돌림 구간에 가깝다. $60,666-$60,734는 Wyckoff AR/UT, ICT 이전일 고점, Harmonic PRZ 상단이 겹치는 핵심 구조 저항이며, $60,074-$60,056은 SOW/EQ/EMA가 겹치는 하단 구조 기준이다. 주요 리스크는 ICT의 $60,568.90 BSL 회수와 Fibonacci $60,442.39 지지 유지가 단기적으로 약세 셋업을 지연시킬 수 있다는 점이다. 구조적 약세 판단은 $61,931.10 상방 수용 시 무효화되며, 그 전에는 $60,734.00 및 $61,256.00 회복 여부가 분배 해석 약화의 중간 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.6,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 60666.0,
        "type": "liquidity_sweep",
        "source": "ICT(미회수 BSL $60,568.90), Wyckoff(AR/메인 레인지 하단 $60,666.00), Derivatives·Candlestick(7일 EQ $60,619.80), Harmonic(베어리시 Bat PRZ 상단 $60,711.05)",
        "description": "구조·셋업 모두 약세이나 즉각적 실행 리스크는 상단 유동성 회수다. ICT 미회수 BSL $60,568.90을 스윕하고 7일 EQ $60,619.80·Wyckoff AR $60,666.00을 태깅하는 분배 Phase D 재거부 구간. Harmonic PRZ 상단 $60,711.05 직하, Candlestick 약세 약화선 $60,662.60 부근으로, 숏 진입의 핵심 저항 클러스터이자 ICT 상방 타깃과 Wyckoff/Harmonic 재거부가 겹치는 전환 지점.",
        "est_hours": 2.0,
        "turning_zone": [
          60666.0,
          60711.05
        ],
        "likely_wick": 60705.0,
        "rejection_confirm": 60619.8,
        "invalid_overshoot": 60734.0,
        "calibration_reasoning": "Wyckoff AR·7일 EQ(60,666) 타깃을 zone 하단으로, Harmonic PRZ 상단 저항 60,711.05을 상단 경계로 설정(폭 45=0.32×ATR). likely_wick은 PRZ 직하 60,705로 BSL 60,568.90·EQ 위 유동성을 스윕 후 거부하는 지점이며, 60,619.80(7일 EQ) 재이탈 시 거부 확인·60,734(Chairman 저항) 상향 정착 시 약세 전환 무효."
      },
      {
        "seq": 2,
        "price": 60442.39,
        "type": "support_test",
        "source": "Fibonacci(strict 컨플루언스 $60,442.39, score 0.85)",
        "description": "상단 재거부 후 첫 하방 반응 구간. ret_0.5/0.618/0.786이 중첩된 strict Fibonacci 컨플루언스로 단기 지지 및 일시 반등이 나올 수 있는 1차 정류장. 15분 종가로 이탈 시 EMA240 $60,360.33·Fib 0.618 $60,320.28을 차례로 압박하며 약세 추종이 강화된다.",
        "est_hours": 6.0,
        "turning_zone": [
          60360.33,
          60442.39
        ],
        "likely_wick": 60387.8,
        "rejection_confirm": 60506.94,
        "invalid_overshoot": 60320.28,
        "calibration_reasoning": "strict Fib 컨플루언스 60,442.39(ret_0.5/0.618/0.786)를 상단, EMA240 60,360.33을 하단으로 잡아 폭 82=0.58×ATR. likely_wick은 CONFIRMED_REACTION gartley PRZ 60,387.8(Chairman 지지와 일치)이며, 60,506.94 재상향 시 반등 확인·Fib 0.618 60,320.28 하향 이탈 시 1차 지지 실패로 swing_low 직행."
      },
      {
        "seq": 3,
        "price": 60074.5,
        "type": "swing_low",
        "source": "Wyckoff(마지막 SOW $60,074.50), Derivatives·Candlestick(EMA120 $60,072.70), ICT(지지 $60,074.50/EQ $60,056.90), Harmonic(검증 베어리시 TP $60,055.51-$60,034.51)",
        "description": "분배 하단의 핵심 구조 목표이자 주된 반등 후보. Wyckoff SOW·EMA120·ICT 지지가 $60,070대에 중첩되고 바로 아래 Harmonic 검증 TP $60,055.51-$60,034.51·ICT EQ $60,056.90과 밀집한다. 도중 strict Fib 컨플루언스 $60,150.25(score 1.0)를 경유하며, 분배 약세의 1차 주요 도달 지점.",
        "est_hours": 14.0,
        "turning_zone": [
          60034.51,
          60074.5
        ],
        "likely_wick": 60055.51,
        "rejection_confirm": 60150.25,
        "invalid_overshoot": 60000.0,
        "calibration_reasoning": "Wyckoff SOW·EMA120·ICT 지지(60,074대)와 검증된 Harmonic TP1(bat 60,055.51·gartley 60,034.51)·ICT EQ 60,056.90 밀집을 zone으로 묶음(폭 40≈0.28×ATR, 클러스터 자체가 타이트). likely_wick은 bat TP1+ICT EQ 컨플루언스 60,055.51, strict Fib 60,150.25 재상향 시 반등 확인·60,000 심리선 이탈 시 연장 목표 활성화."
      },
      {
        "seq": 4,
        "price": 59845.42,
        "type": "extension",
        "source": "Fibonacci(strict 컨플루언스 $59,845.42, score 1.0), Harmonic(하방 확장)",
        "description": "$60,074.50 핵심 지지(베어리시 트리거) 이탈 시에만 도달하는 연장 목표. strict Fibonacci 컨플루언스(score 1.0)이며, 약세 가속이 이어지면 $59,556.00, 이후 $58,030.00(7일 저점/Wyckoff SOW_IN_PHASE_B) 재시험으로 확장될 수 있다.",
        "est_hours": 22.0,
        "turning_zone": [
          59765.0,
          59864.76
        ],
        "likely_wick": 59843.0,
        "rejection_confirm": 60000.0,
        "invalid_overshoot": 59556.0,
        "calibration_reasoning": "strict Fib 4중 컨플루언스 59,845.42(ext_2.0/1.618/1.414/1.272)에 검증된 Harmonic TP2(bat 59,864.76·gartley 59,842.11)가 겹치는 핵심 반응대로, terminal 가중치로 폭 100=0.71×ATR 부여. likely_wick은 strict Fib+gartley TP2 59,843, 60,000 재상향 시 바닥 확인·TP3/구조 유동성 59,556 하향 이탈 시 59,341.70·58,030 심층 연장으로 전환점 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60666.0,
        "expected_low": 60442.39,
        "high_first": true
      },
      "8h": {
        "expected_high": 60666.0,
        "expected_low": 60150.25,
        "high_first": true
      },
      "24h": {
        "expected_high": 60666.0,
        "expected_low": 59845.42,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60734.0,
        "description": "15분 종가가 UT/이전일 고점 $60,734.00 위로 수용되면 BSL 스윕이 돌파로 전환됨. 분배 재거부 해석이 약화되고 $61,256.00(BC) 회복 시도로 상방 가속, 본 약세 경로의 셋업이 무력화된다."
      },
      "bearish": {
        "price": 60074.5,
        "description": "15분 종가가 Wyckoff SOW/EMA120/ICT 지지 $60,074.50 아래로 마감되면 Phase D 마크다운 확정. $59,845.42, $59,556.00, 이후 $58,030.00 하단 유동성으로 약세가 가속된다."
      }
    },
    "scenario_invalidation": 61256.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60666.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT(미회수 BSL $60,568.90), Wyckoff(AR/메인 레인지 하단 $60,666.00), Derivatives·Candlestick(7일 EQ $60,619.80), Harmonic(베어리시 Bat PRZ 상단 $60,711.05)\",\n      \"description\": \"구조·셋업 모두 약세이나 즉각적 실행 리스크는 상단 유동성 회수다. ICT 미회수 BSL $60,568.90을 스윕하고 7일 EQ $60,619.80·Wyckoff AR $60,666.00을 태깅하는 분배 Phase D 재거부 구간. Harmonic PRZ 상단 $60,711.05 직하, Candlestick 약세 약화선 $60,662.60 부근으로, 숏 진입의 핵심 저항 클러스터이자 ICT 상방 타깃과 Wyckoff/Harmonic 재거부가 겹치는 전환 지점.\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60442.39,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci(strict 컨플루언스 $60,442.39, score 0.85)\",\n      \"description\": \"상단 재거부 후 첫 하방 반응 구간. ret_0.5/0.618/0.786이 중첩된 strict Fibonacci 컨플루언스로 단기 지지 및 일시 반등이 나올 수 있는 1차 정류장. 15분 종가로 이탈 시 EMA240 $60,360.33·Fib 0.618 $60,320.28을 차례로 압박하며 약세 추종이 강화된다.\",\n      \"est_hours\": 6.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60074.5,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(마지막 SOW $60,074.50), Derivatives·Candlestick(EMA120 $60,072.70), ICT(지지 $60,074.50/EQ $60,056.90), Harmonic(검증 베어리시 TP $60,055.51-$60,034.51)\",\n      \"description\": \"분배 하단의 핵심 구조 목표이자 주된 반등 후보. Wyckoff SOW·EMA120·ICT 지지가 $60,070대에 중첩되고 바로 아래 Harmonic 검증 TP $60,055.51-$60,034.51·ICT EQ $60,056.90과 밀집한다. 도중 strict Fib 컨플루언스 $60,150.25(score 1.0)를 경유하며, 분배 약세의 1차 주요 도달 지점.\",\n      \"est_hours\": 14.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59845.42,\n      \"type\": \"extension\",\n      \"source\": \"Fibonacci(strict 컨플루언스 $59,845.42, score 1.0), Harmonic(하방 확장)\",\n      \"description\": \"$60,074.50 핵심 지지(베어리시 트리거) 이탈 시에만 도달하는 연장 목표. strict Fibonacci 컨플루언스(score 1.0)이며, 약세 가속이 이어지면 $59,556.00, 이후 $58,030.00(7일 저점/Wyckoff SOW_IN_PHASE_B) 재시험으로 확장될 수 있다.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60666.0, \"expected_low\": 60442.39, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60666.0, \"expected_low\": 60150.25, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60666.0, \"expected_low\": 59845.42, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60734.0, \"description\": \"15분 종가가 UT/이전일 고점 $60,734.00 위로 수용되면 BSL 스윕이 돌파로 전환됨. 분배 재거부 해석이 약화되고 $61,256.00(BC) 회복 시도로 상방 가속, 본 약세 경로의 셋업이 무력화된다.\"},\n    \"bearish\": {\"price\": 60074.5, \"description\": \"15분 종가가 Wyckoff SOW/EMA120/ICT 지지 $60,074.50 아래로 마감되면 Phase D 마크다운 확정. $59,845.42, $59,556.00, 이후 $58,030.00 하단 유동성으로 약세가 가속된다.\"}\n  },\n  \"scenario_invalidation\": 61256.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60666.0,
        "turning_zone": [
          60666.0,
          60711.05
        ],
        "likely_wick": 60705.0,
        "rejection_confirm": 60619.8,
        "invalid_overshoot": 60734.0,
        "calibration_reasoning": "Wyckoff AR·7일 EQ(60,666) 타깃을 zone 하단으로, Harmonic PRZ 상단 저항 60,711.05을 상단 경계로 설정(폭 45=0.32×ATR). likely_wick은 PRZ 직하 60,705로 BSL 60,568.90·EQ 위 유동성을 스윕 후 거부하는 지점이며, 60,619.80(7일 EQ) 재이탈 시 거부 확인·60,734(Chairman 저항) 상향 정착 시 약세 전환 무효."
      },
      {
        "seq": 2,
        "base_target": 60442.39,
        "turning_zone": [
          60360.33,
          60442.39
        ],
        "likely_wick": 60387.8,
        "rejection_confirm": 60506.94,
        "invalid_overshoot": 60320.28,
        "calibration_reasoning": "strict Fib 컨플루언스 60,442.39(ret_0.5/0.618/0.786)를 상단, EMA240 60,360.33을 하단으로 잡아 폭 82=0.58×ATR. likely_wick은 CONFIRMED_REACTION gartley PRZ 60,387.8(Chairman 지지와 일치)이며, 60,506.94 재상향 시 반등 확인·Fib 0.618 60,320.28 하향 이탈 시 1차 지지 실패로 swing_low 직행."
      },
      {
        "seq": 3,
        "base_target": 60074.5,
        "turning_zone": [
          60034.51,
          60074.5
        ],
        "likely_wick": 60055.51,
        "rejection_confirm": 60150.25,
        "invalid_overshoot": 60000.0,
        "calibration_reasoning": "Wyckoff SOW·EMA120·ICT 지지(60,074대)와 검증된 Harmonic TP1(bat 60,055.51·gartley 60,034.51)·ICT EQ 60,056.90 밀집을 zone으로 묶음(폭 40≈0.28×ATR, 클러스터 자체가 타이트). likely_wick은 bat TP1+ICT EQ 컨플루언스 60,055.51, strict Fib 60,150.25 재상향 시 반등 확인·60,000 심리선 이탈 시 연장 목표 활성화."
      },
      {
        "seq": 4,
        "base_target": 59845.42,
        "turning_zone": [
          59765.0,
          59864.76
        ],
        "likely_wick": 59843.0,
        "rejection_confirm": 60000.0,
        "invalid_overshoot": 59556.0,
        "calibration_reasoning": "strict Fib 4중 컨플루언스 59,845.42(ext_2.0/1.618/1.414/1.272)에 검증된 Harmonic TP2(bat 59,864.76·gartley 59,842.11)가 겹치는 핵심 반응대로, terminal 가중치로 폭 100=0.71×ATR 부여. likely_wick은 strict Fib+gartley TP2 59,843, 60,000 재상향 시 바닥 확인·TP3/구조 유동성 59,556 하향 이탈 시 59,341.70·58,030 심층 연장으로 전환점 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60666.00,\n      \"turning_zone\": [60666.00, 60711.05],\n      \"likely_wick\": 60705.00,\n      \"rejection_confirm\": 60619.80,\n      \"invalid_overshoot\": 60734.00,\n      \"calibration_reasoning\": \"Wyckoff AR·7일 EQ(60,666) 타깃을 zone 하단으로, Harmonic PRZ 상단 저항 60,711.05을 상단 경계로 설정(폭 45=0.32×ATR). likely_wick은 PRZ 직하 60,705로 BSL 60,568.90·EQ 위 유동성을 스윕 후 거부하는 지점이며, 60,619.80(7일 EQ) 재이탈 시 거부 확인·60,734(Chairman 저항) 상향 정착 시 약세 전환 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60442.39,\n      \"turning_zone\": [60360.33, 60442.39],\n      \"likely_wick\": 60387.80,\n      \"rejection_confirm\": 60506.94,\n      \"invalid_overshoot\": 60320.28,\n      \"calibration_reasoning\": \"strict Fib 컨플루언스 60,442.39(ret_0.5/0.618/0.786)를 상단, EMA240 60,360.33을 하단으로 잡아 폭 82=0.58×ATR. likely_wick은 CONFIRMED_REACTION gartley PRZ 60,387.8(Chairman 지지와 일치)이며, 60,506.94 재상향 시 반등 확인·Fib 0.618 60,320.28 하향 이탈 시 1차 지지 실패로 swing_low 직행.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60074.50,\n      \"turning_zone\": [60034.51, 60074.50],\n      \"likely_wick\": 60055.51,\n      \"rejection_confirm\": 60150.25,\n      \"invalid_overshoot\": 60000.00,\n      \"calibration_reasoning\": \"Wyckoff SOW·EMA120·ICT 지지(60,074대)와 검증된 Harmonic TP1(bat 60,055.51·gartley 60,034.51)·ICT EQ 60,056.90 밀집을 zone으로 묶음(폭 40≈0.28×ATR, 클러스터 자체가 타이트). likely_wick은 bat TP1+ICT EQ 컨플루언스 60,055.51, strict Fib 60,150.25 재상향 시 반등 확인·60,000 심리선 이탈 시 연장 목표 활성화.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59845.42,\n      \"turning_zone\": [59765.00, 59864.76],\n      \"likely_wick\": 59843.00,\n      \"rejection_confirm\": 60000.00,\n      \"invalid_overshoot\": 59556.00,\n      \"calibration_reasoning\": \"strict Fib 4중 컨플루언스 59,845.42(ext_2.0/1.618/1.414/1.272)에 검증된 Harmonic TP2(bat 59,864.76·gartley 59,842.11)가 겹치는 핵심 반응대로, terminal 가중치로 폭 100=0.71×ATR 부여. likely_wick은 strict Fib+gartley TP2 59,843, 60,000 재상향 시 바닥 확인·TP3/구조 유동성 59,556 하향 이탈 시 59,341.70·58,030 심층 연장으로 전환점 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 49.7,
      "chairman": 87.5,
      "operating_path": 297.3,
      "tp_calibrator": 280.0
    },
    "agents": {},
    "total_s": 714.6
  }
}