{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-07-01 05:00 KST",
  "last_price": 58786.2,
  "num_candles": 300,
  "stage1_analyses": {
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.78,
      "setup_signals": [
        "가격이 EMA20 $59,730.99 아래 -1.6%, EMA120 $62,688.92 아래 -6.2%에서 거래되며 단기/중기 구조가 하방 수용 상태",
        "24시간 OI가 +6.545% 증가했지만 가격은 -2.69% 하락하여 신규 포지션 유입이 하락 방향 압력을 동반",
        "CVD 변화가 -10,779.448로 음수이며 가격 하락 구간에서 매수 체결 참여가 약함",
        "롱 계정 비율이 0.740까지 상승하고 숏 계정은 0.260으로 하락하여 롱 계정 과밀, 반대매매성 하방 리스크 증가",
        "가장 강한 하방 청산 레벨이 $57,200이며 현재가 $58,786.20과 가까워 단기 유동성 자석으로 작동 가능",
        "현물-선물 베이시스가 -0.0643%로 음수이고 최근 변화도 -0.0222로 약화되어 선물 프리미엄 회복이 부족"
      ],
      "reasoning": "현재 BTC는 $58,786.20으로 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40을 모두 하회하고 있어 확인된 구조는 bearish로 판단한다. 파생 포지셔닝은 24시간 OI +6.545% 증가와 동시에 가격 -2.69%, CVD -10,779.448을 보여 신규 포지션이 들어오지만 체결 흐름은 매도 우위인 상태다. 특히 롱 계정 비율이 0.740까지 상승하고 숏 계정은 0.260으로 감소해 하락 중 롱이 계속 쌓이는 구조이며, 이는 $57,200 하방 청산 클러스터를 향한 압력을 키운다. 단기적으로 $58,900 상방 청산을 먼저 찌를 수는 있으나, $59,730.99 EMA20 및 $60,700 유동성 저항을 회복하지 못하면 반등은 매도 셋업으로 해석된다.",
      "key_levels": {
        "support": [
          58030,
          57200,
          53600
        ],
        "resistance": [
          58900,
          59730.99,
          60700,
          61500,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60700",
      "risk_scenario": "$58,900 상방 유동성을 회수한 뒤 가격이 EMA20 $59,730.99를 회복하고 $60,700 위에서 4시간봉 종가 수용을 만들면, 현재의 롱 과밀 신호가 숏 스퀴즈로 전환될 수 있다. 이 경우 $61,500 청산 레벨 및 7일 고점 $63,209.60까지 되돌림이 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -10779.448,
        "oi_trend": 1.0,
        "oi_change_pct_24h": 6.545,
        "oi_latest": 108331.292,
        "funding_pressure": 0.434,
        "funding_avg": 6.627e-05,
        "funding_change_24h": -5.331e-05,
        "long_account_ratio": 0.703,
        "short_account_ratio": 0.297,
        "long_account_latest": 0.74,
        "short_account_latest": 0.26,
        "long_account_change_24h": 0.0363,
        "short_account_change_24h": -0.0363,
        "account_flow_label": "long_accounts_rising_short_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.484,
        "spot_futures_basis_pct": -0.0643,
        "basis_change_lookback": -0.0222,
        "aggregate_score": 0.444,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            57200,
            40888.881434250005
          ],
          [
            53600,
            34035.53917875
          ]
        ],
        "liq_above": [
          [
            58900,
            29924.318217449996
          ],
          [
            60700,
            39796.84012549999
          ],
          [
            61500,
            26041.23775015
          ]
        ],
        "strongest_liq_level": 57200,
        "fragility_score": 0.859,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"가격이 EMA20 $59,730.99 아래 -1.6%, EMA120 $62,688.92 아래 -6.2%에서 거래되며 단기/중기 구조가 하방 수용 상태\",\n    \"24시간 OI가 +6.545% 증가했지만 가격은 -2.69% 하락하여 신규 포지션 유입이 하락 방향 압력을 동반\",\n    \"CVD 변화가 -10,779.448로 음수이며 가격 하락 구간에서 매수 체결 참여가 약함\",\n    \"롱 계정 비율이 0.740까지 상승하고 숏 계정은 0.260으로 하락하여 롱 계정 과밀, 반대매매성 하방 리스크 증가\",\n    \"가장 강한 하방 청산 레벨이 $57,200이며 현재가 $58,786.20과 가까워 단기 유동성 자석으로 작동 가능\",\n    \"현물-선물 베이시스가 -0.0643%로 음수이고 최근 변화도 -0.0222로 약화되어 선물 프리미엄 회복이 부족\"\n  ],\n  \"reasoning\": \"현재 BTC는 $58,786.20으로 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40을 모두 하회하고 있어 확인된 구조는 bearish로 판단한다. 파생 포지셔닝은 24시간 OI +6.545% 증가와 동시에 가격 -2.69%, CVD -10,779.448을 보여 신규 포지션이 들어오지만 체결 흐름은 매도 우위인 상태다. 특히 롱 계정 비율이 0.740까지 상승하고 숏 계정은 0.260으로 감소해 하락 중 롱이 계속 쌓이는 구조이며, 이는 $57,200 하방 청산 클러스터를 향한 압력을 키운다. 단기적으로 $58,900 상방 청산을 먼저 찌를 수는 있으나, $59,730.99 EMA20 및 $60,700 유동성 저항을 회복하지 못하면 반등은 매도 셋업으로 해석된다.\",\n  \"key_levels\": {\n    \"support\": [\n      58030,\n      57200,\n      53600\n    ],\n    \"resistance\": [\n      58900,\n      59730.99,\n      60700,\n      61500,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60700\",\n  \"risk_scenario\": \"$58,900 상방 유동성을 회수한 뒤 가격이 EMA20 $59,730.99를 회복하고 $60,700 위에서 4시간봉 종가 수용을 만들면, 현재의 롱 과밀 신호가 숏 스퀴즈로 전환될 수 있다. 이 경우 $61,500 청산 레벨 및 7일 고점 $63,209.60까지 되돌림이 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $58,786.20가 EQ $61,813.60 아래의 discount 영역에 위치하여 시장이 하단 유동성으로 끌리는 구간",
        "최근 확정 구조가 $62,232.10 하방 BOS로 마감되어 단기 구조 전환 실패",
        "SSL이 $58,126.65 아래에 resting liquidity로 남아 있어 기관의 다음 유동성 사냥 타깃 가능성",
        "7일 저점 $58,030.00과 전일 저점 $58,160.00이 현재가 바로 아래에 밀집되어 sell-side liquidity pool 형성",
        "EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 모두 현재가 위에 있어 상방이 동적 저항으로 작용"
      ],
      "reasoning": "확정 구조는 bearish이다. BOS 시퀀스가 $76,014.20, $74,203.60, $72,436.00 이후 일시적 bullish BOS $64,250.00을 만들었지만, 최근 다시 $62,232.10 하방 BOS가 발생해 bearish structure가 재확인되었다. 현재가 $58,786.20는 EQ $61,813.60 아래 discount에 있으며, 바로 아래 $58,126.65 SSL, 전일 저점 $58,160.00, 7일 저점 $58,030.00이 겹쳐 있어 sell-side liquidity sweep 가능성이 높다. 다만 discount 영역에서 신규 숏은 추격 리스크가 있으며, $58,030.00 부근을 스윕한 뒤 강한 반응이 나오면 단기 반등 또는 CHoCH 후보가 될 수 있다.",
      "key_levels": {
        "support": [
          58160.0,
          58126.65,
          58030.0
        ],
        "resistance": [
          59730.99,
          60666.6,
          61813.6,
          62232.1,
          65697.2,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "62232.10",
      "risk_scenario": "$58,126.65 SSL과 $58,030.00 7일 저점을 스윕한 뒤 가격이 빠르게 회복하고 $59,730.99 EMA20 및 $61,813.60 EQ 위로 재진입하면, 현재 bearish setup은 실패한 sell-side raid가 되며 $62,232.10 상향 돌파 시 bullish CHoCH/BOS 가능성이 열린다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 57,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          },
          {
            "type": "SSL",
            "level": 58126.65
          }
        ],
        "current_zone": "discount",
        "eq_level": 61813.6,
        "range_high": 65597.2,
        "range_low": 58030.0,
        "bull_score": 4.5,
        "bear_score": 10.5,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10",
          "SSL resting below $58,126.65"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 95.5,
        "deepest_retracement_pct": 95.5,
        "previous_day_high": 60666.6,
        "previous_day_low": 58160.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $58,786.20가 EQ $61,813.60 아래의 discount 영역에 위치하여 시장이 하단 유동성으로 끌리는 구간\",\n    \"최근 확정 구조가 $62,232.10 하방 BOS로 마감되어 단기 구조 전환 실패\",\n    \"SSL이 $58,126.65 아래에 resting liquidity로 남아 있어 기관의 다음 유동성 사냥 타깃 가능성\",\n    \"7일 저점 $58,030.00과 전일 저점 $58,160.00이 현재가 바로 아래에 밀집되어 sell-side liquidity pool 형성\",\n    \"EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 모두 현재가 위에 있어 상방이 동적 저항으로 작용\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish이다. BOS 시퀀스가 $76,014.20, $74,203.60, $72,436.00 이후 일시적 bullish BOS $64,250.00을 만들었지만, 최근 다시 $62,232.10 하방 BOS가 발생해 bearish structure가 재확인되었다. 현재가 $58,786.20는 EQ $61,813.60 아래 discount에 있으며, 바로 아래 $58,126.65 SSL, 전일 저점 $58,160.00, 7일 저점 $58,030.00이 겹쳐 있어 sell-side liquidity sweep 가능성이 높다. 다만 discount 영역에서 신규 숏은 추격 리스크가 있으며, $58,030.00 부근을 스윕한 뒤 강한 반응이 나오면 단기 반등 또는 CHoCH 후보가 될 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      58160.0,\n      58126.65,\n      58030.0\n    ],\n    \"resistance\": [\n      59730.99,\n      60666.6,\n      61813.6,\n      62232.1,\n      65697.2,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"62232.10\",\n  \"risk_scenario\": \"$58,126.65 SSL과 $58,030.00 7일 저점을 스윕한 뒤 가격이 빠르게 회복하고 $59,730.99 EMA20 및 $61,813.60 EQ 위로 재진입하면, 현재 bearish setup은 실패한 sell-side raid가 되며 $62,232.10 상향 돌파 시 bullish CHoCH/BOS 가능성이 열린다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.6,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.45,
      "setup_signals": [
        "현재가 $58,786.20는 7일 범위 EQ $60,619.80 아래의 할인 구간에 위치",
        "7일 저점 $58,030.00 인근에서 마지막 4시간봉이 +0.7% 반등하며 단기 수요 반응 발생",
        "최근 doji 후보가 고거래량으로 감지되어 하락 말미의 매도 둔화/흡수 가능성 존재",
        "다만 bearish_harami@294의 품질 0.561과 bear_score 0.600이 아직 하방 압력을 우세하게 유지"
      ],
      "reasoning": "4시간 구조는 현재가 $58,786.20가 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 아래에 머물러 있어 확인된 하락 우위로 해석된다. 최근 5개 캔들은 -1.0%, -0.2%, -0.6%, -1.4% 이후 +0.7% 반등했지만, bearish_harami 후보의 품질이 0.561로 가장 높고 bear_score가 0.600이므로 아직 반전 확정보다는 약세 지속 쪽이 우세하다. 다만 가격이 7일 저점 $58,030.00에 근접해 있고 7일 범위 EQ $60,619.80 아래의 할인 구간에 있어, 구조 전환 전 단기 반등 셋업은 존재한다. 따라서 구조_bias는 bearish지만 setup_bias는 저점권 반등 가능성을 반영해 bullish로 분리해서 본다.",
      "key_levels": {
        "support": [
          58030.0,
          57955.17
        ],
        "resistance": [
          59730.99,
          60619.8,
          62688.92,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,619.80 4시간 종가 상향 돌파",
      "risk_scenario": "가격이 $58,030.00 지지를 하향 이탈하면 할인 구간의 반등 셋업은 실패하고, ATR 기준으로 $57,955.17 아래 변동성 확장이 발생하며 하락 추세가 재가속될 수 있다. 반대로 $59,730.99 EMA20을 회복하고 $60,619.80 EQ 위에서 4시간 종가가 안착하면 bearish harami의 약세 신호는 무효화되고 단기 숏 커버링이 $62,688.92 EMA120 방향으로 이어질 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 138,
        "recent_patterns": 3,
        "pattern_list": [
          "doji@290",
          "doji@292",
          "bearish_harami@294"
        ],
        "atr_value": 831.03,
        "vol_avg_20": 27959.8,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.561,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.561,
        "bull_score": 0,
        "bear_score": 0.6
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.6,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"현재가 $58,786.20는 7일 범위 EQ $60,619.80 아래의 할인 구간에 위치\",\n    \"7일 저점 $58,030.00 인근에서 마지막 4시간봉이 +0.7% 반등하며 단기 수요 반응 발생\",\n    \"최근 doji 후보가 고거래량으로 감지되어 하락 말미의 매도 둔화/흡수 가능성 존재\",\n    \"다만 bearish_harami@294의 품질 0.561과 bear_score 0.600이 아직 하방 압력을 우세하게 유지\"\n  ],\n  \"reasoning\": \"4시간 구조는 현재가 $58,786.20가 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 아래에 머물러 있어 확인된 하락 우위로 해석된다. 최근 5개 캔들은 -1.0%, -0.2%, -0.6%, -1.4% 이후 +0.7% 반등했지만, bearish_harami 후보의 품질이 0.561로 가장 높고 bear_score가 0.600이므로 아직 반전 확정보다는 약세 지속 쪽이 우세하다. 다만 가격이 7일 저점 $58,030.00에 근접해 있고 7일 범위 EQ $60,619.80 아래의 할인 구간에 있어, 구조 전환 전 단기 반등 셋업은 존재한다. 따라서 구조_bias는 bearish지만 setup_bias는 저점권 반등 가능성을 반영해 bullish로 분리해서 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      58030.0,\n      57955.17\n    ],\n    \"resistance\": [\n      59730.99,\n      60619.8,\n      62688.92,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,619.80 4시간 종가 상향 돌파\",\n  \"risk_scenario\": \"가격이 $58,030.00 지지를 하향 이탈하면 할인 구간의 반등 셋업은 실패하고, ATR 기준으로 $57,955.17 아래 변동성 확장이 발생하며 하락 추세가 재가속될 수 있다. 반대로 $59,730.99 EMA20을 회복하고 $60,619.80 EQ 위에서 4시간 종가가 안착하면 bearish harami의 약세 신호는 무효화되고 단기 숏 커버링이 $62,688.92 EMA120 방향으로 이어질 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.68,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "SOS $60,758.30 이후 현재가 $58,786.20까지 되밀리며 SOS 상단 수용 실패",
        "현재가가 메인 레인지 저점/SC $59,080.00 아래에 위치하여 Phase D의 LPS 확인 전 재검증 구간",
        "TERMINAL_SPRING $58,850.00도 소폭 하회하여 Spring 저점 $58,288.00 재시험 위험 존재",
        "EMA20 $59,730.99 아래에서 거래되어 단기 수요 회복이 아직 확인되지 않음"
      ],
      "reasoning": "계산된 regime은 ACC이고 regime_state도 confirmed_acc이며, acc_score 91.4 및 regime_fitness 0.914로 구조적 해석은 축적 우위입니다. 주요 앵커는 SC $59,080.00, AR $64,250.00이며, 이후 ST $63,650.00 → Spring $58,288.00 → TERMINAL_SPRING $58,850.00 → SOS $60,758.30 순서가 확인되어 현재 major_phase는 Phase D로 분류됩니다. 다만 현재가 $58,786.20은 SOS $60,758.30을 유지하지 못하고 SC $59,080.00 및 TERMINAL_SPRING $58,850.00 아래로 밀린 상태라, LPS가 확인되기 전까지 즉각 경로는 Spring 저점 $58,288.00 재시험 쪽으로 기울어 있습니다. 따라서 구조_bias는 bullish지만, 실행 관점의 setup_bias는 단기적으로 bearish이며, $59,080.00 회복과 이후 $60,758.30 재수용 전까지는 확정적 상승 전개로 보지 않습니다.",
      "key_levels": {
        "support": [
          58850.0,
          58288.0,
          58030.0
        ],
        "resistance": [
          59080.0,
          60758.3,
          64250.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "4시간 종가 기준 $58,288.00 하향 이탈 시 현재의 Spring 기반 Phase D 축적 해석은 훼손됩니다.",
      "risk_scenario": "$58,288.00이 깨지면 Spring이 성공적인 흡수 이벤트가 아니라 실패한 저점 방어로 재해석될 수 있으며, 이 경우 $58,030.00 7일 저점 및 그 이하에서 새로운 SC/재축적 앵커를 다시 찾아야 합니다. 반대로 $59,080.00을 회복하고 $60,758.30 위에서 수용되면 현재의 bearish setup은 무효화되고 LPS 형성 가능성이 커집니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 91.4,
        "dis_score": 81.2,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 149,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 162,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 203,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 271,
            "price": 58288.0,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 289,
            "price": 58850.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 292,
            "price": 60758.3,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 149,
            "end_idx": 292,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 149,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 162,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 203,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 271,
                "price": 58288.0,
                "color": "#f9844a",
                "dt": "2026-06-26 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 289,
                "price": 58850.0,
                "color": "#f3722c",
                "dt": "2026-06-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 292,
                "price": 60758.3,
                "color": "#06d6a0",
                "dt": "2026-06-29 21:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9141304347826086,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"SOS $60,758.30 이후 현재가 $58,786.20까지 되밀리며 SOS 상단 수용 실패\",\n    \"현재가가 메인 레인지 저점/SC $59,080.00 아래에 위치하여 Phase D의 LPS 확인 전 재검증 구간\",\n    \"TERMINAL_SPRING $58,850.00도 소폭 하회하여 Spring 저점 $58,288.00 재시험 위험 존재\",\n    \"EMA20 $59,730.99 아래에서 거래되어 단기 수요 회복이 아직 확인되지 않음\"\n  ],\n  \"reasoning\": \"계산된 regime은 ACC이고 regime_state도 confirmed_acc이며, acc_score 91.4 및 regime_fitness 0.914로 구조적 해석은 축적 우위입니다. 주요 앵커는 SC $59,080.00, AR $64,250.00이며, 이후 ST $63,650.00 → Spring $58,288.00 → TERMINAL_SPRING $58,850.00 → SOS $60,758.30 순서가 확인되어 현재 major_phase는 Phase D로 분류됩니다. 다만 현재가 $58,786.20은 SOS $60,758.30을 유지하지 못하고 SC $59,080.00 및 TERMINAL_SPRING $58,850.00 아래로 밀린 상태라, LPS가 확인되기 전까지 즉각 경로는 Spring 저점 $58,288.00 재시험 쪽으로 기울어 있습니다. 따라서 구조_bias는 bullish지만, 실행 관점의 setup_bias는 단기적으로 bearish이며, $59,080.00 회복과 이후 $60,758.30 재수용 전까지는 확정적 상승 전개로 보지 않습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58850.0,\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      59080.0,\n      60758.3,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"4시간 종가 기준 $58,288.00 하향 이탈 시 현재의 Spring 기반 Phase D 축적 해석은 훼손됩니다.\",\n  \"risk_scenario\": \"$58,288.00이 깨지면 Spring이 성공적인 흡수 이벤트가 아니라 실패한 저점 방어로 재해석될 수 있으며, 이 경우 $58,030.00 7일 저점 및 그 이하에서 새로운 SC/재축적 앵커를 다시 찾아야 합니다. 반대로 $59,080.00을 회복하고 $60,758.30 위에서 수용되면 현재의 bearish setup은 무효화되고 LPS 형성 가능성이 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $58,786.20이 Low→High 스윙 기점 $58,850 아래에 위치하여 단기 상승 스윙의 0.786 되돌림 $59,258.38까지 회복하지 못한 상태",
        "가격이 EQ인 ret_0.5 $59,804.15 아래의 디스카운트 영역에 있으나, 반등 시 $59,258.38~$59,804.15 구간이 저항 전환될 가능성",
        "골든 비율 ret_0.618 $59,578.97 및 confluence zone $59,691.56이 현재가 위에 있어 단기 공급/저항 클러스터로 작용",
        "EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 모두 현재가 위에 있어 피보나치 저항대와 추세 저항이 중첩"
      ],
      "reasoning": "현재 BTC는 $58,786.20으로 최근 Low→High 스윙 $58,850→$60,758의 0.786 되돌림 $59,258.38마저 하회하고 있어, 단기 상승 스윙은 구조적으로 훼손된 상태입니다. 핵심 골든 비율 ret_0.618은 $59,578.97이며, ret_0.5 $59,804.15와 함께 $59,691.56 부근에 confluence zone이 형성되어 반등 시 주요 저항으로 작용할 가능성이 큽니다. 현재 산출된 support_levels가 비어 있고, resistance_levels가 $59,258.38, $59,578.97, $59,804.15로 모두 현재가 위에 몰려 있어 매수보다 매도 우위 구조입니다. 다만 confluence_quality가 0.600, reaction_probability가 0.45로 극단적으로 강한 신호는 아니므로, $59,258.38 재돌파 여부를 단기 확인 포인트로 봅니다.",
      "key_levels": {
        "support": [
          58030.0,
          58850.0
        ],
        "resistance": [
          59258.38,
          59578.97,
          59804.15,
          60029.33,
          60307.94,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,804.15 4시간 종가 상향 회복",
      "risk_scenario": "반대 시나리오는 가격이 $59,258.38을 회복한 뒤 골든 비율 $59,578.97과 EQ $59,804.15까지 연속 돌파하는 경우입니다. 이 경우 현재의 하방 압력은 단기 실패 신호가 되며, $60,029.33 ret_0.382와 $60,307.94 ret_0.236까지 숏커버링성 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $58,850 → $60,758",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 59258.38,
        "nearest_fib_distance": 0.8,
        "golden_ratio_level": 59578.97,
        "fib_ret_382": 60029.33,
        "fib_ret_618": 59578.97,
        "confluence_zones": [
          {
            "price": 59691.56,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60168.64,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61412.85,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 63772.45,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ext_2.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          59258.3762,
          59578.9706,
          59804.15
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60307.94,
            "distance_pct": 2.59,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 60029.33,
            "distance_pct": 2.11,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 59804.15,
            "distance_pct": 1.73,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 59578.97,
            "distance_pct": 1.35,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 59258.38,
            "distance_pct": 0.8,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 60758.3,
            "distance_pct": 3.35,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 61277.36,
            "distance_pct": 4.24,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 61548.34,
            "distance_pct": 4.7,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 61937.63,
            "distance_pct": 5.36,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 62666.6,
            "distance_pct": 6.6,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "approaching",
        "reaction_probability": 0.45
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $58,786.20이 Low→High 스윙 기점 $58,850 아래에 위치하여 단기 상승 스윙의 0.786 되돌림 $59,258.38까지 회복하지 못한 상태\",\n    \"가격이 EQ인 ret_0.5 $59,804.15 아래의 디스카운트 영역에 있으나, 반등 시 $59,258.38~$59,804.15 구간이 저항 전환될 가능성\",\n    \"골든 비율 ret_0.618 $59,578.97 및 confluence zone $59,691.56이 현재가 위에 있어 단기 공급/저항 클러스터로 작용\",\n    \"EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 모두 현재가 위에 있어 피보나치 저항대와 추세 저항이 중첩\"\n  ],\n  \"reasoning\": \"현재 BTC는 $58,786.20으로 최근 Low→High 스윙 $58,850→$60,758의 0.786 되돌림 $59,258.38마저 하회하고 있어, 단기 상승 스윙은 구조적으로 훼손된 상태입니다. 핵심 골든 비율 ret_0.618은 $59,578.97이며, ret_0.5 $59,804.15와 함께 $59,691.56 부근에 confluence zone이 형성되어 반등 시 주요 저항으로 작용할 가능성이 큽니다. 현재 산출된 support_levels가 비어 있고, resistance_levels가 $59,258.38, $59,578.97, $59,804.15로 모두 현재가 위에 몰려 있어 매수보다 매도 우위 구조입니다. 다만 confluence_quality가 0.600, reaction_probability가 0.45로 극단적으로 강한 신호는 아니므로, $59,258.38 재돌파 여부를 단기 확인 포인트로 봅니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58030.0,\n      58850.0\n    ],\n    \"resistance\": [\n      59258.38,\n      59578.97,\n      59804.15,\n      60029.33,\n      60307.94,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,804.15 4시간 종가 상향 회복\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $59,258.38을 회복한 뒤 골든 비율 $59,578.97과 EQ $59,804.15까지 연속 돌파하는 경우입니다. 이 경우 현재의 하방 압력은 단기 실패 신호가 되며, $60,029.33 ret_0.382와 $60,307.94 ret_0.236까지 숏커버링성 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.47,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $58,786.20가 최근접 bullish Butterfly PRZ 중심부 $58,787.35 부근에 위치하며 PRZ 범위 $58,406.59-$59,590.72 안에 있음",
        "완성 bullish Butterfly가 PRZ 터치/진입 및 방어 반응을 보였고 reaction_score 0.75, 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached",
        "완성 bullish Crab도 $58,803.52-$60,375.78 PRZ에서 확인 반응을 보였고 reaction_score 0.65, D 저점 $58,850 부근 방어 이력 존재",
        "중간 품질 forming bullish Crab PRZ $58,886.79-$59,433.89는 폭 0.925%로 비교적 타이트하나 아직 pre-confirmation 상태이며 confirmed_reaction=false",
        "가격이 EMA20 $59,730.99 아래에 있어 단기 구조는 약하지만, $58,030 7일 저점 부근 스윕/방어 후보 구간이 활성화되어 반등 셋업은 존재"
      ],
      "reasoning": "4시간 기준 구조는 현재가 $58,786.20가 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 모두 아래에 있어 확인된 추세 압력은 bearish로 본다. 다만 하모닉 관점에서는 현재가가 bullish Butterfly 활성 PRZ $58,406.59-$59,590.72 안에 있으며, 최근접 PRZ $58,787.35와 거의 일치해 단기 반등 후보 구간이다. 완성 Butterfly는 XAB 0.7728, XAD 1.2608로 Butterfly 기준에 근접하고 reaction_score 0.75가 확인되었지만, 품질은 low이고 PRZ 폭이 2.007%로 넓어 독립적인 방향 전환 근거로는 부족하다. 또한 actionable_patterns_list와 council_relevant_prz_count가 모두 0이므로, 이 하모닉 신호는 메인 경로를 뒤집는 신호가 아니라 $61,556-$62,153 및 $64,101-$64,402 구간으로의 반등 가능성을 열어두는 보조 셋업으로만 취급한다.",
      "key_levels": {
        "support": [
          58406.59,
          58030.0,
          57166.08,
          56775.86
        ],
        "resistance": [
          59590.72,
          59730.99,
          60375.78,
          62152.73,
          64101.32
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$58,030.00",
      "risk_scenario": "$58,030.00 7일 저점과 주요 bullish PRZ 하단 $58,406.59가 4시간 종가 기준으로 동시에 이탈되면 Butterfly/Crab 반등 셋업은 실패로 간주되며, 다음 하방 watch PRZ인 $57,166.08-$57,770.33 및 $56,775.86-$57,041.69까지 확장 하락할 수 있다. 반대로 $59,590.72-$59,730.99를 회복하면 PRZ 방어가 강화되어 $61,556-$62,153 1차 TP 구간, 이후 $62,771-$64,101 구간까지 반등 경로가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 146,
        "completed_patterns_found": 51,
        "forming_d_prz_found": 95,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 28,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 2,
          "medium": 43,
          "low": 101
        },
        "prz_status_counts": {
          "active": 32,
          "nearby": 7,
          "watch": 12,
          "far": 95,
          "forming": 63
        },
        "high_confluence_prz_count": 20,
        "strict_patterns_found": 59,
        "candidate_patterns_found": 87,
        "active_patterns_at_prz": 32,
        "nearby_patterns": 7,
        "all_patterns": [
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "crab",
          "bat",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "shark",
          "gartley",
          "crab",
          "crab",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "bat",
          "shark",
          "bat",
          "crab",
          "gartley",
          "shark",
          "gartley",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "gartley",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "gartley",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "bat",
          "shark",
          "shark",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "gartley"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "butterfly",
        "best_pattern_quality": "strict",
        "best_quality": "low",
        "best_pattern_score": 0.897,
        "best_completion_status": "completed",
        "nearest_pattern": "butterfly",
        "nearest_prz": 58787.35,
        "price_to_prz": 0.0,
        "prz_range": [
          57984.15,
          59590.55
        ],
        "council_relevant_prz_count": 0,
        "directional_influence_prz_count": 0,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.897,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3614,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": 263
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.897,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3614,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.88,
            "ratio_score": 1.0,
            "prz_score": 0.785,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59631.12,
            "prz_range": [
              58886.43,
              60375.81
            ],
            "prz_width_pct": 2.498,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.44,
            "price_to_prz_pct_raw": 1.4373,
            "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": "crab",
              "d_price": 59631.12,
              "a_price": 64738.0,
              "tp1_ad_382": 61581.95,
              "tp2_ad_618": 62787.17,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.7523
            },
            "x_price": 61150.2,
            "x_idx": 161,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.868,
            "ratio_score": 0.972,
            "prz_score": 0.76,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 58850.0,
            "prz_range": [
              58803.52,
              60375.78
            ],
            "prz_width_pct": 2.638,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.37,
            "price_to_prz_pct_raw": 1.3667,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.324,
                "adverse_move_ratio_ad": 0.117,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59589.65,
              "a_price": 64738.0,
              "tp1_ad_382": 61556.32,
              "tp2_ad_618": 62771.33,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.7523,
              "BCD": 2.5567,
              "XAD": 1.6411
            },
            "x_price": 61150.2,
            "x_idx": 161,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": 289
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.863,
            "ratio_score": 1.0,
            "prz_score": 0.858,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 60567.2,
            "prz_range": [
              59934.01,
              61200.4
            ],
            "prz_width_pct": 2.091,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.03,
            "price_to_prz_pct_raw": 3.0296,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60567.2,
              "a_price": 64738.0,
              "tp1_ad_382": 62160.45,
              "tp2_ad_618": 63144.76,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3959,
              "ABC": 0.7523
            },
            "x_price": 60691.9,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.847,
            "ratio_score": 0.974,
            "prz_score": 0.733,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 58030.0,
            "prz_range": [
              58953.26,
              60620.53
            ],
            "prz_width_pct": 2.789,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.7,
            "price_to_prz_pct_raw": 1.7023,
            "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.314,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59786.9,
              "a_price": 67255.4,
              "tp1_ad_382": 62639.86,
              "tp2_ad_618": 64402.43,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.6699,
              "BCD": 2.2487,
              "XAD": 1.4192
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 65597.2,
            "c_idx": 250,
            "c_order": 8,
            "d_idx": 268
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.843,
            "ratio_score": 0.973,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59160.34,
            "prz_range": [
              58886.79,
              59433.89
            ],
            "prz_width_pct": 0.925,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.64,
            "price_to_prz_pct_raw": 0.6364,
            "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": "crab",
              "d_price": 59160.34,
              "a_price": 64738.0,
              "tp1_ad_382": 61291.01,
              "tp2_ad_618": 62607.34,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.8939
            },
            "x_price": 61150.2,
            "x_idx": 161,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.832,
            "ratio_score": 0.938,
            "prz_score": 0.733,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59786.9,
            "prz_range": [
              58953.26,
              60620.53
            ],
            "prz_width_pct": 2.789,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.7,
            "price_to_prz_pct_raw": 1.7023,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59786.9,
              "a_price": 67255.4,
              "tp1_ad_382": 62639.86,
              "tp2_ad_618": 64402.43,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.6699
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 65597.2,
            "c_idx": 250,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [],
        "report_detail_candidates": [
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.897,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3614,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": 263
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.897,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3614,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.88,
            "ratio_score": 1.0,
            "prz_score": 0.785,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59631.12,
            "prz_range": [
              58886.43,
              60375.81
            ],
            "prz_width_pct": 2.498,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.44,
            "price_to_prz_pct_raw": 1.4373,
            "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": "crab",
              "d_price": 59631.12,
              "a_price": 64738.0,
              "tp1_ad_382": 61581.95,
              "tp2_ad_618": 62787.17,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.7523
            },
            "x_price": 61150.2,
            "x_idx": 161,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.868,
            "ratio_score": 0.972,
            "prz_score": 0.76,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 58850.0,
            "prz_range": [
              58803.52,
              60375.78
            ],
            "prz_width_pct": 2.638,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.37,
            "price_to_prz_pct_raw": 1.3667,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.324,
                "adverse_move_ratio_ad": 0.117,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59589.65,
              "a_price": 64738.0,
              "tp1_ad_382": 61556.32,
              "tp2_ad_618": 62771.33,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.7523,
              "BCD": 2.5567,
              "XAD": 1.6411
            },
            "x_price": 61150.2,
            "x_idx": 161,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": 289
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.863,
            "ratio_score": 1.0,
            "prz_score": 0.858,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 60567.2,
            "prz_range": [
              59934.01,
              61200.4
            ],
            "prz_width_pct": 2.091,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.03,
            "price_to_prz_pct_raw": 3.0296,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60567.2,
              "a_price": 64738.0,
              "tp1_ad_382": 62160.45,
              "tp2_ad_618": 63144.76,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3959,
              "ABC": 0.7523
            },
            "x_price": 60691.9,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.847,
            "ratio_score": 0.974,
            "prz_score": 0.733,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 58030.0,
            "prz_range": [
              58953.26,
              60620.53
            ],
            "prz_width_pct": 2.789,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.7,
            "price_to_prz_pct_raw": 1.7023,
            "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.314,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59786.9,
              "a_price": 67255.4,
              "tp1_ad_382": 62639.86,
              "tp2_ad_618": 64402.43,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.6699,
              "BCD": 2.2487,
              "XAD": 1.4192
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 65597.2,
            "c_idx": 250,
            "c_order": 8,
            "d_idx": 268
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.843,
            "ratio_score": 0.973,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59160.34,
            "prz_range": [
              58886.79,
              59433.89
            ],
            "prz_width_pct": 0.925,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.64,
            "price_to_prz_pct_raw": 0.6364,
            "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": "crab",
              "d_price": 59160.34,
              "a_price": 64738.0,
              "tp1_ad_382": 61291.01,
              "tp2_ad_618": 62607.34,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.8939
            },
            "x_price": 61150.2,
            "x_idx": 161,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.832,
            "ratio_score": 0.938,
            "prz_score": 0.733,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59786.9,
            "prz_range": [
              58953.26,
              60620.53
            ],
            "prz_width_pct": 2.789,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.7,
            "price_to_prz_pct_raw": 1.7023,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59786.9,
              "a_price": 67255.4,
              "tp1_ad_382": 62639.86,
              "tp2_ad_618": 64402.43,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.6699
            },
            "x_price": 60755.0,
            "x_idx": 173,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 65597.2,
            "c_idx": 250,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.828,
            "ratio_score": 0.97,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 57468.2,
            "prz_range": [
              57166.08,
              57770.33
            ],
            "prz_width_pct": 1.051,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -2.24,
            "price_to_prz_pct_raw": -2.242,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 57468.2,
              "a_price": 66419.2,
              "tp1_ad_382": 60887.48,
              "tp2_ad_618": 62999.92,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7795,
              "ABC": 0.7175
            },
            "x_price": 62315.0,
            "x_idx": 185,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 221,
            "a_order": 5,
            "b_price": 63220.0,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 60924.7,
            "c_idx": 280,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.817,
            "ratio_score": 0.818,
            "prz_score": 0.802,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59314.67,
            "prz_range": [
              58601.83,
              60027.51
            ],
            "prz_width_pct": 2.404,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.899,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59314.67,
              "a_price": 66419.2,
              "tp1_ad_382": 62028.6,
              "tp2_ad_618": 63705.27,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.3671
            },
            "x_price": 62315.0,
            "x_idx": 185,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 221,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 266,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.807,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 56908.78,
            "prz_range": [
              56775.86,
              57041.69
            ],
            "prz_width_pct": 0.467,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "XAD"
            ],
            "price_to_prz_pct": -3.19,
            "price_to_prz_pct_raw": -3.1936,
            "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": "crab",
              "d_price": 56908.78,
              "a_price": 66956.7,
              "tp1_ad_382": 60747.08,
              "tp2_ad_618": 63118.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5965,
              "ABC": 0.6653
            },
            "x_price": 60691.9,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 213,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 60734.0,
            "c_idx": 272,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.804,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 60470.06,
            "prz_range": [
              60129.53,
              60810.6
            ],
            "prz_width_pct": 1.126,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 2.86,
            "price_to_prz_pct_raw": 2.8644,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 60470.06,
              "a_price": 61870.0,
              "tp1_ad_382": 61004.84,
              "tp2_ad_618": 61335.22,
              "tp3_a_or_structure_liquidity": 61870.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4917,
              "ABC": 1.2763
            },
            "x_price": 64568.0,
            "x_idx": 242,
            "x_order": 3,
            "a_price": 61870.0,
            "a_idx": 255,
            "a_order": 5,
            "b_price": 60543.3,
            "b_idx": 285,
            "b_order": 3,
            "c_price": 58850.0,
            "c_idx": 289,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.47,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $58,786.20가 최근접 bullish Butterfly PRZ 중심부 $58,787.35 부근에 위치하며 PRZ 범위 $58,406.59-$59,590.72 안에 있음\",\n    \"완성 bullish Butterfly가 PRZ 터치/진입 및 방어 반응을 보였고 reaction_score 0.75, 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached\",\n    \"완성 bullish Crab도 $58,803.52-$60,375.78 PRZ에서 확인 반응을 보였고 reaction_score 0.65, D 저점 $58,850 부근 방어 이력 존재\",\n    \"중간 품질 forming bullish Crab PRZ $58,886.79-$59,433.89는 폭 0.925%로 비교적 타이트하나 아직 pre-confirmation 상태이며 confirmed_reaction=false\",\n    \"가격이 EMA20 $59,730.99 아래에 있어 단기 구조는 약하지만, $58,030 7일 저점 부근 스윕/방어 후보 구간이 활성화되어 반등 셋업은 존재\"\n  ],\n  \"reasoning\": \"4시간 기준 구조는 현재가 $58,786.20가 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 모두 아래에 있어 확인된 추세 압력은 bearish로 본다. 다만 하모닉 관점에서는 현재가가 bullish Butterfly 활성 PRZ $58,406.59-$59,590.72 안에 있으며, 최근접 PRZ $58,787.35와 거의 일치해 단기 반등 후보 구간이다. 완성 Butterfly는 XAB 0.7728, XAD 1.2608로 Butterfly 기준에 근접하고 reaction_score 0.75가 확인되었지만, 품질은 low이고 PRZ 폭이 2.007%로 넓어 독립적인 방향 전환 근거로는 부족하다. 또한 actionable_patterns_list와 council_relevant_prz_count가 모두 0이므로, 이 하모닉 신호는 메인 경로를 뒤집는 신호가 아니라 $61,556-$62,153 및 $64,101-$64,402 구간으로의 반등 가능성을 열어두는 보조 셋업으로만 취급한다.\",\n  \"key_levels\": {\n    \"support\": [\n      58406.59,\n      58030.0,\n      57166.08,\n      56775.86\n    ],\n    \"resistance\": [\n      59590.72,\n      59730.99,\n      60375.78,\n      62152.73,\n      64101.32\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$58,030.00\",\n  \"risk_scenario\": \"$58,030.00 7일 저점과 주요 bullish PRZ 하단 $58,406.59가 4시간 종가 기준으로 동시에 이탈되면 Butterfly/Crab 반등 셋업은 실패로 간주되며, 다음 하방 watch PRZ인 $57,166.08-$57,770.33 및 $56,775.86-$57,041.69까지 확장 하락할 수 있다. 반대로 $59,590.72-$59,730.99를 회복하면 PRZ 방어가 강화되어 $61,556-$62,153 1차 TP 구간, 이후 $62,771-$64,101 구간까지 반등 경로가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.68,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "가격이 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 아래에 있어 4시간 추세 구조가 하방 수용 상태",
        "ICT 기준 최근 $62,232.10 하방 BOS 이후 현재가가 EQ $61,813.60 아래 discount 영역에 위치",
        "SSL 및 전일/7일 저점 유동성이 $58,160.00-$58,030.00 구간에 집중",
        "파생상품에서 24시간 OI +6.545% 증가와 가격 -2.69% 하락, CVD -10,779.448이 동반되어 신규 포지션 유입이 매도 우위 흐름과 결합",
        "롱 계정 비율이 0.740까지 상승한 상태에서 하방 청산 클러스터가 $57,200에 존재",
        "Wyckoff상 SOS $60,758.30 이후 SC $59,080.00 및 TERMINAL_SPRING $58,850.00 회복 실패",
        "Fibonacci 기준 단기 상승 스윙 $58,850→$60,758의 0.786 되돌림 $59,258.38 하회, $59,578.97-$59,804.15 저항 전환 위험"
      ],
      "setup_vs_structure": "집행 셋업은 전체 구조적 약세와 대체로 정렬되어 있다. 다만 Wyckoff는 큰 틀에서 축적 구조 가능성을 유지하므로, 현재 약세 셋업은 ‘축적 실패/스프링 재검증 조건’과 ‘확정 하락 구조’가 충돌하는 구간으로 해석해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 4,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        58406.59,
        58288.0,
        58160.0,
        58126.65,
        58030.0,
        57200.0,
        53600.0
      ],
      "resistance": [
        58900.0,
        59080.0,
        59258.38,
        59578.97,
        59730.99,
        59804.15,
        60700.0,
        60758.3,
        61813.6,
        62232.1,
        62688.92
      ]
    },
    "confluences": [
      "EMA20 $59,730.99는 Derivatives, Candlestick, Harmonic 모두가 단기 구조 저항으로 인식하며, Fibonacci의 $59,578.97-$59,804.15 저항 클러스터와도 겹친다.",
      "ICT의 SSL $58,126.65, 전일 저점 $58,160.00, 7일 저점 $58,030.00은 Derivatives의 $58,030 지지 및 Harmonic의 $58,030 기준점과 중첩되는 핵심 하단 유동성 구간이다.",
      "Wyckoff의 Spring $58,288.00, TERMINAL_SPRING $58,850.00, Harmonic bullish PRZ $58,406.59-$59,590.72는 현재가 주변이 구조적 반응 구간임을 공통적으로 시사한다.",
      "ICT의 bearish BOS $62,232.10, Wyckoff의 SOS $60,758.30, Fibonacci 확장/스윙 고점 $60,758.30은 $60,700-$62,232 구간이 구조 회복 여부를 판단하는 상단 검증대임을 보여준다.",
      "Derivatives의 $57,200 하방 청산 클러스터와 Harmonic의 하단 PRZ 후보 $57,166.08-$56,775.86은 $57k 초중반이 다음 구조적 취약 구간으로 겹친다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed accumulation 및 Phase D로 구조_bias를 bullish로 보지만, ICT·Derivatives·Candlestick·Fibonacci·Harmonic의 확인 구조는 모두 EMA/BOS/되돌림 훼손 기준으로 bearish다.",
      "Harmonic은 현재가가 bullish Butterfly PRZ $58,406.59-$59,590.72 내부에 있어 반등 후보 구간이라고 보지만, 해당 패턴들은 품질이 낮고 독립적 구조 전환 근거로는 부족하다.",
      "Candlestick은 저점권 doji와 +0.7% 반등으로 단기 수요 반응을 인정하지만, 가장 우세한 최근 패턴은 bearish harami 후보이며 구조 자체는 여전히 bearish다.",
      "가격은 discount 영역에 있어 신규 추격 숏의 효율은 낮아졌지만, 구조적으로는 아직 $59,730.99 및 $60,758.30 회복 실패 상태라 약세 구조가 해소되지 않았다."
    ],
    "executive_summary": "BTC/USDT 4시간 구조는 현재 $58,786.20에서 EMA20 $59,730.99, EMA120 $62,688.92, 최근 ICT bearish BOS $62,232.10 아래에 머물며 확인된 구조는 bearish로 평가된다. 다만 Wyckoff 관점에서는 SC $59,080.00, Spring $58,288.00, TERMINAL_SPRING $58,850.00, SOS $60,758.30이 형성된 축적 Phase D 후보가 남아 있어, 현재 구간은 ‘축적 구조의 LPS 확인 전 재검증’과 ‘하방 BOS 이후 약세 구조’가 충돌하는 위치다. 핵심 하단 구조 구간은 $58,160.00-$58,030.00 및 $57,200이며, 상단 구조 회복 구간은 $59,730.99-$60,758.30, 더 중요하게는 $61,813.60-$62,232.10이다. 구조적 약세 판정은 $62,232.10 상방 회복과 수용 전까지 유지되며, $62,688.92 회복 시 bearish 구조의 신뢰도는 크게 훼손된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.68,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"가격이 EMA20 $59,730.99, EMA120 $62,688.92, EMA240 $66,124.40 아래에 있어 4시간 추세 구조가 하방 수용 상태\",\n      \"ICT 기준 최근 $62,232.10 하방 BOS 이후 현재가가 EQ $61,813.60 아래 discount 영역에 위치\",\n      \"SSL 및 전일/7일 저점 유동성이 $58,160.00-$58,030.00 구간에 집중\",\n      \"파생상품에서 24시간 OI +6.545% 증가와 가격 -2.69% 하락, CVD -10,779.448이 동반되어 신규 포지션 유입이 매도 우위 흐름과 결합\",\n      \"롱 계정 비율이 0.740까지 상승한 상태에서 하방 청산 클러스터가 $57,200에 존재\",\n      \"Wyckoff상 SOS $60,758.30 이후 SC $59,080.00 및 TERMINAL_SPRING $58,850.00 회복 실패\",\n      \"Fibonacci 기준 단기 상승 스윙 $58,850→$60,758의 0.786 되돌림 $59,258.38 하회, $59,578.97-$59,804.15 저항 전환 위험\"\n    ],\n    \"setup_vs_structure\": \"집행 셋업은 전체 구조적 약세와 대체로 정렬되어 있다. 다만 Wyckoff는 큰 틀에서 축적 구조 가능성을 유지하므로, 현재 약세 셋업은 ‘축적 실패/스프링 재검증 조건’과 ‘확정 하락 구조’가 충돌하는 구간으로 해석해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 4,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      58406.59,\n      58288.0,\n      58160.0,\n      58126.65,\n      58030.0,\n      57200.0,\n      53600.0\n    ],\n    \"resistance\": [\n      58900.0,\n      59080.0,\n      59258.38,\n      59578.97,\n      59730.99,\n      59804.15,\n      60700.0,\n      60758.3,\n      61813.6,\n      62232.1,\n      62688.92\n    ]\n  },\n  \"confluences\": [\n    \"EMA20 $59,730.99는 Derivatives, Candlestick, Harmonic 모두가 단기 구조 저항으로 인식하며, Fibonacci의 $59,578.97-$59,804.15 저항 클러스터와도 겹친다.\",\n    \"ICT의 SSL $58,126.65, 전일 저점 $58,160.00, 7일 저점 $58,030.00은 Derivatives의 $58,030 지지 및 Harmonic의 $58,030 기준점과 중첩되는 핵심 하단 유동성 구간이다.\",\n    \"Wyckoff의 Spring $58,288.00, TERMINAL_SPRING $58,850.00, Harmonic bullish PRZ $58,406.59-$59,590.72는 현재가 주변이 구조적 반응 구간임을 공통적으로 시사한다.\",\n    \"ICT의 bearish BOS $62,232.10, Wyckoff의 SOS $60,758.30, Fibonacci 확장/스윙 고점 $60,758.30은 $60,700-$62,232 구간이 구조 회복 여부를 판단하는 상단 검증대임을 보여준다.\",\n    \"Derivatives의 $57,200 하방 청산 클러스터와 Harmonic의 하단 PRZ 후보 $57,166.08-$56,775.86은 $57k 초중반이 다음 구조적 취약 구간으로 겹친다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed accumulation 및 Phase D로 구조_bias를 bullish로 보지만, ICT·Derivatives·Candlestick·Fibonacci·Harmonic의 확인 구조는 모두 EMA/BOS/되돌림 훼손 기준으로 bearish다.\",\n    \"Harmonic은 현재가가 bullish Butterfly PRZ $58,406.59-$59,590.72 내부에 있어 반등 후보 구간이라고 보지만, 해당 패턴들은 품질이 낮고 독립적 구조 전환 근거로는 부족하다.\",\n    \"Candlestick은 저점권 doji와 +0.7% 반등으로 단기 수요 반응을 인정하지만, 가장 우세한 최근 패턴은 bearish harami 후보이며 구조 자체는 여전히 bearish다.\",\n    \"가격은 discount 영역에 있어 신규 추격 숏의 효율은 낮아졌지만, 구조적으로는 아직 $59,730.99 및 $60,758.30 회복 실패 상태라 약세 구조가 해소되지 않았다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 최근 $62,232.10 하방 BOS, EQ $61,813.60 아래 discount 위치, SSL $58,126.65 및 $58,030-$58,160 하단 유동성까지 구조·유동성·레벨이 가장 정밀하게 일치하며 setup score 92%로 가장 강한 약세 구조 신호를 제시했다.\",\n  \"invalidation_level\": \"$62,232.10 상방 회복 및 4시간 종가 수용. 보수적으로는 EMA120 $62,688.92까지 회복해야 현재 bearish 구조 판정이 실질적으로 무효화된다.\",\n  \"executive_summary\": \"BTC/USDT 4시간 구조는 현재 $58,786.20에서 EMA20 $59,730.99, EMA120 $62,688.92, 최근 ICT bearish BOS $62,232.10 아래에 머물며 확인된 구조는 bearish로 평가된다. 다만 Wyckoff 관점에서는 SC $59,080.00, Spring $58,288.00, TERMINAL_SPRING $58,850.00, SOS $60,758.30이 형성된 축적 Phase D 후보가 남아 있어, 현재 구간은 ‘축적 구조의 LPS 확인 전 재검증’과 ‘하방 BOS 이후 약세 구조’가 충돌하는 위치다. 핵심 하단 구조 구간은 $58,160.00-$58,030.00 및 $57,200이며, 상단 구조 회복 구간은 $59,730.99-$60,758.30, 더 중요하게는 $61,813.60-$62,232.10이다. 구조적 약세 판정은 $62,232.10 상방 회복과 수용 전까지 유지되며, $62,688.92 회복 시 bearish 구조의 신뢰도는 크게 훼손된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 58030.0,
        "type": "liquidity_sweep",
        "source": "ICT (SSL $58,126.65 resting liquidity, 전일 저점 $58,160, 7일 저점 $58,030), Derivatives ($58,030 지지·$57,200 청산 클러스터), Candlestick ($58,030/$57,955.17), Wyckoff (Spring $58,288 재시험 위험)",
        "description": "집행 셋업이 강한 약세(74%)이고 직전 +0.7% 반등은 bearish_harami로 흡수되는 구간. 현재가 $58,786.20는 EQ $61,813.60 아래 discount에 위치하며, 시장은 $58,160-$58,030에 중첩된 SSL·전일/7일 저점 유동성으로 끌린다. 첫 경로는 이 sell-side liquidity를 쓸어내는 하방 sweep으로, Wyckoff Spring 저점 $58,288 직하단까지 침투할 가능성이 높다.",
        "est_hours": 5.0,
        "turning_zone": [
          57790.0,
          58060.0
        ],
        "likely_wick": 57970.0,
        "rejection_confirm": 58160.0,
        "invalid_overshoot": 57650.0,
        "calibration_reasoning": "하방 sweep이므로 turning_zone은 base 직하단(약 0.33×ATR)으로 설정. $58,160–$58,030 SSL 클러스터와 $58,000 라운드넘버를 자석으로 보고 위크는 라운드 직하단($57,970)에서 SSL 스톱을 청산. $58,160 재탈환 시 sweep 실패·반전 확정, $57,650 이탈 시 반등 없이 $57,200으로 직행하여 무효."
      },
      {
        "seq": 2,
        "price": 59258.38,
        "type": "resistance_test",
        "source": "Fibonacci (0.786 되돌림 $59,258.38, 0.618 $59,578.97, confluence $59,691.56), Wyckoff (SC $59,080), Harmonic (Butterfly PRZ 상단 $59,590.72), EMA20 $59,730.99",
        "description": "$58,030 sweep 직후 discount 영역의 반응 컨플루언스(Harmonic bullish Butterfly PRZ reaction_score 0.75, Wyckoff Spring, 다수 지지 중첩)에서 완화 반등이 발생. 다만 구조는 여전히 bearish이고 EMA20 $59,730.99·0.618 $59,578.97가 위에 버티므로, 0.786 되돌림 $59,258.38(SC $59,080 클러스터 인접)에서 lower-high를 형성하고 거부될 가능성이 크다.",
        "est_hours": 13.0,
        "turning_zone": [
          59258.38,
          59578.97
        ],
        "likely_wick": 59350.0,
        "rejection_confirm": 59080.0,
        "invalid_overshoot": 59804.15,
        "calibration_reasoning": "상방 반등 lower-high이므로 turning_zone을 0.786 되돌림 $59,258.38(base)부터 0.618 $59,578.97까지 저항 중첩 구간으로(0.39×ATR) 설정. 약세 구조라 위크는 base 소폭 상회한 $59,350에 그칠 가능성이 높고, $59,080 SC 클러스터 재이탈 시 거부 확정. EMA20 $59,730.99를 넘어 $59,804.15 도달 시 lower-high 무효."
      },
      {
        "seq": 3,
        "price": 57200.0,
        "type": "extension",
        "source": "Derivatives ($57,200 하방 청산 클러스터, 롱 계정 비율 0.740, OI +6.545%/CVD -10,779), Harmonic (하단 PRZ $57,166.08-$56,775.86)",
        "description": "저항 거부 후 확정 약세 구조가 재가동. 하락 중에도 롱 비율이 0.740까지 누적된 상태라 $57,200 청산 클러스터가 강한 자석으로 작용하며, OI 증가+음의 CVD가 신규 매도 우위를 뒷받침한다. $58,030 이탈 시 다음 구조적 취약대인 $57,200(이어 Harmonic 하단 PRZ $57,166)까지 연장된다.",
        "est_hours": 23.0,
        "turning_zone": [
          56700.0,
          57250.0
        ],
        "likely_wick": 57050.0,
        "rejection_confirm": 57550.0,
        "invalid_overshoot": 56500.0,
        "calibration_reasoning": "터미널 하방 연장이라 존을 넓게(0.66×ATR) 잡고, $57,200 청산 클러스터·하단 Harmonic PRZ $57,166(미확정 반응대라 단독 waypoint 이동 불가)·$57,000 라운드넘버 자석을 모두 포함. 롱 편중(0.74) 청산 캐스케이드를 감안해 위크는 클러스터·PRZ 관통 후 $57,000 직상단 $57,050로 추정. $57,550 재탈환 시 반전 확정, $56,500 이탈 시 $53,600 향한 연장으로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 58900.0,
        "expected_low": 58200.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 58950.0,
        "expected_low": 58030.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 59258.38,
        "expected_low": 57200.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 59804.15,
        "description": "EMA20 $59,730.99 및 0.5 되돌림 $59,804.15를 회복·수용하면 반등이 단순 lower-high를 넘어 $60,700-$60,758.30(Wyckoff SOS) 재시도로 확대. 단, 구조적 약세는 $62,232.10 상방 회복 전까지 완전히 해소되지 않음."
      },
      "bearish": {
        "price": 57955.0,
        "description": "SSL·7일 저점 $58,030을 4시간 종가 기준으로 반응 없이 이탈하면 sweep-and-go로 전환, $57,200 청산 클러스터를 거쳐 $56,775(Harmonic 하단 PRZ)까지 하락 가속."
      }
    },
    "scenario_invalidation": 60758.3,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 58030.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT (SSL $58,126.65 resting liquidity, 전일 저점 $58,160, 7일 저점 $58,030), Derivatives ($58,030 지지·$57,200 청산 클러스터), Candlestick ($58,030/$57,955.17), Wyckoff (Spring $58,288 재시험 위험)\",\n      \"description\": \"집행 셋업이 강한 약세(74%)이고 직전 +0.7% 반등은 bearish_harami로 흡수되는 구간. 현재가 $58,786.20는 EQ $61,813.60 아래 discount에 위치하며, 시장은 $58,160-$58,030에 중첩된 SSL·전일/7일 저점 유동성으로 끌린다. 첫 경로는 이 sell-side liquidity를 쓸어내는 하방 sweep으로, Wyckoff Spring 저점 $58,288 직하단까지 침투할 가능성이 높다.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59258.38,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (0.786 되돌림 $59,258.38, 0.618 $59,578.97, confluence $59,691.56), Wyckoff (SC $59,080), Harmonic (Butterfly PRZ 상단 $59,590.72), EMA20 $59,730.99\",\n      \"description\": \"$58,030 sweep 직후 discount 영역의 반응 컨플루언스(Harmonic bullish Butterfly PRZ reaction_score 0.75, Wyckoff Spring, 다수 지지 중첩)에서 완화 반등이 발생. 다만 구조는 여전히 bearish이고 EMA20 $59,730.99·0.618 $59,578.97가 위에 버티므로, 0.786 되돌림 $59,258.38(SC $59,080 클러스터 인접)에서 lower-high를 형성하고 거부될 가능성이 크다.\",\n      \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 57200.0,\n      \"type\": \"extension\",\n      \"source\": \"Derivatives ($57,200 하방 청산 클러스터, 롱 계정 비율 0.740, OI +6.545%/CVD -10,779), Harmonic (하단 PRZ $57,166.08-$56,775.86)\",\n      \"description\": \"저항 거부 후 확정 약세 구조가 재가동. 하락 중에도 롱 비율이 0.740까지 누적된 상태라 $57,200 청산 클러스터가 강한 자석으로 작용하며, OI 증가+음의 CVD가 신규 매도 우위를 뒷받침한다. $58,030 이탈 시 다음 구조적 취약대인 $57,200(이어 Harmonic 하단 PRZ $57,166)까지 연장된다.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 58900.0, \"expected_low\": 58200.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 58950.0, \"expected_low\": 58030.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 59258.38, \"expected_low\": 57200.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 59804.15,\n      \"description\": \"EMA20 $59,730.99 및 0.5 되돌림 $59,804.15를 회복·수용하면 반등이 단순 lower-high를 넘어 $60,700-$60,758.30(Wyckoff SOS) 재시도로 확대. 단, 구조적 약세는 $62,232.10 상방 회복 전까지 완전히 해소되지 않음.\"\n    },\n    \"bearish\": {\n      \"price\": 57955.0,\n      \"description\": \"SSL·7일 저점 $58,030을 4시간 종가 기준으로 반응 없이 이탈하면 sweep-and-go로 전환, $57,200 청산 클러스터를 거쳐 $56,775(Harmonic 하단 PRZ)까지 하락 가속.\"\n    }\n  },\n  \"scenario_invalidation\": 60758.3\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 58030.0,
        "turning_zone": [
          57790.0,
          58060.0
        ],
        "likely_wick": 57970.0,
        "rejection_confirm": 58160.0,
        "invalid_overshoot": 57650.0,
        "calibration_reasoning": "하방 sweep이므로 turning_zone은 base 직하단(약 0.33×ATR)으로 설정. $58,160–$58,030 SSL 클러스터와 $58,000 라운드넘버를 자석으로 보고 위크는 라운드 직하단($57,970)에서 SSL 스톱을 청산. $58,160 재탈환 시 sweep 실패·반전 확정, $57,650 이탈 시 반등 없이 $57,200으로 직행하여 무효."
      },
      {
        "seq": 2,
        "base_target": 59258.38,
        "turning_zone": [
          59258.38,
          59578.97
        ],
        "likely_wick": 59350.0,
        "rejection_confirm": 59080.0,
        "invalid_overshoot": 59804.15,
        "calibration_reasoning": "상방 반등 lower-high이므로 turning_zone을 0.786 되돌림 $59,258.38(base)부터 0.618 $59,578.97까지 저항 중첩 구간으로(0.39×ATR) 설정. 약세 구조라 위크는 base 소폭 상회한 $59,350에 그칠 가능성이 높고, $59,080 SC 클러스터 재이탈 시 거부 확정. EMA20 $59,730.99를 넘어 $59,804.15 도달 시 lower-high 무효."
      },
      {
        "seq": 3,
        "base_target": 57200.0,
        "turning_zone": [
          56700.0,
          57250.0
        ],
        "likely_wick": 57050.0,
        "rejection_confirm": 57550.0,
        "invalid_overshoot": 56500.0,
        "calibration_reasoning": "터미널 하방 연장이라 존을 넓게(0.66×ATR) 잡고, $57,200 청산 클러스터·하단 Harmonic PRZ $57,166(미확정 반응대라 단독 waypoint 이동 불가)·$57,000 라운드넘버 자석을 모두 포함. 롱 편중(0.74) 청산 캐스케이드를 감안해 위크는 클러스터·PRZ 관통 후 $57,000 직상단 $57,050로 추정. $57,550 재탈환 시 반전 확정, $56,500 이탈 시 $53,600 향한 연장으로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 58030.00,\n      \"turning_zone\": [57790.00, 58060.00],\n      \"likely_wick\": 57970.00,\n      \"rejection_confirm\": 58160.00,\n      \"invalid_overshoot\": 57650.00,\n      \"calibration_reasoning\": \"하방 sweep이므로 turning_zone은 base 직하단(약 0.33×ATR)으로 설정. $58,160–$58,030 SSL 클러스터와 $58,000 라운드넘버를 자석으로 보고 위크는 라운드 직하단($57,970)에서 SSL 스톱을 청산. $58,160 재탈환 시 sweep 실패·반전 확정, $57,650 이탈 시 반등 없이 $57,200으로 직행하여 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59258.38,\n      \"turning_zone\": [59258.38, 59578.97],\n      \"likely_wick\": 59350.00,\n      \"rejection_confirm\": 59080.00,\n      \"invalid_overshoot\": 59804.15,\n      \"calibration_reasoning\": \"상방 반등 lower-high이므로 turning_zone을 0.786 되돌림 $59,258.38(base)부터 0.618 $59,578.97까지 저항 중첩 구간으로(0.39×ATR) 설정. 약세 구조라 위크는 base 소폭 상회한 $59,350에 그칠 가능성이 높고, $59,080 SC 클러스터 재이탈 시 거부 확정. EMA20 $59,730.99를 넘어 $59,804.15 도달 시 lower-high 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 57200.00,\n      \"turning_zone\": [56700.00, 57250.00],\n      \"likely_wick\": 57050.00,\n      \"rejection_confirm\": 57550.00,\n      \"invalid_overshoot\": 56500.00,\n      \"calibration_reasoning\": \"터미널 하방 연장이라 존을 넓게(0.66×ATR) 잡고, $57,200 청산 클러스터·하단 Harmonic PRZ $57,166(미확정 반응대라 단독 waypoint 이동 불가)·$57,000 라운드넘버 자석을 모두 포함. 롱 편중(0.74) 청산 캐스케이드를 감안해 위크는 클러스터·PRZ 관통 후 $57,000 직상단 $57,050로 추정. $57,550 재탈환 시 반전 확정, $56,500 이탈 시 $53,600 향한 연장으로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 51.9,
      "chairman": 77.1,
      "operating_path": 291.6,
      "tp_calibrator": 266.6
    },
    "agents": {},
    "total_s": 687.3
  }
}