{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-06-24 01:00 KST",
  "last_price": 62450.4,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $62,450.40은 7일 범위 EQ $64,144.60 아래의 discount zone에 위치",
        "7일 저점 $61,870.00 근처에서 고거래량 doji 발생: 단기 매도 흡수 또는 스프링 후보",
        "최근 bearish engulfing@294 이후 하락 지속, 다만 마지막 doji@299로 즉시 추격 매도 모멘텀은 둔화",
        "가격이 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25 모두 아래에 있어 구조 전환은 아직 미확인"
      ],
      "reasoning": "BTC는 현재 $62,450.40으로 EMA20 $63,702.88보다 2.0%, EMA120 $65,288.29보다 4.3%, EMA240 $68,481.25보다 8.8% 아래에 있어 확인된 구조는 여전히 bearish입니다. 최근 패턴은 bearish_engulfing@294와 고거래량 doji@299이며, bearish engulfing의 품질은 0.617로 후보 수준이지만 방향성은 하방입니다. 다만 마지막 doji가 7일 저점 $61,870.00 부근에서 고거래량으로 출현했기 때문에, 즉각적인 추가 하락보다는 단기 반등 또는 매도세 흡수 가능성이 있는 bullish setup이 존재합니다. 구조적으로는 하락 우위이나, $61,870.00 지지선 이탈 전까지는 저점 부근 doji로 인해 추격 매도 리스크가 있습니다.",
      "key_levels": {
        "support": [
          61870.0,
          62450.4
        ],
        "resistance": [
          63702.88,
          64144.6,
          65288.29,
          66419.2,
          68481.25
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "4시간 종가 기준 $64,144.60 상향 돌파 시 bearish 단기 분석 무효",
      "risk_scenario": "$61,870.00을 지키고 고거래량 doji가 매도 흡수로 확인되면, 가격은 EMA20 $63,702.88 및 7일 EQ $64,144.60까지 숏커버 반등을 시도할 수 있습니다. 반대로 $61,870.00이 이탈되면 doji는 반전 신호가 아니라 하락 지속 전 일시적 정체로 해석되며, ATR $811.79 기준 추가 변동성이 확대될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 140,
        "recent_patterns": 2,
        "pattern_list": [
          "bearish_engulfing@294",
          "doji@299"
        ],
        "atr_value": 811.79,
        "vol_avg_20": 23023.91,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.617,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          }
        ],
        "best_pattern_quality": 0.617,
        "bull_score": 0,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $62,450.40은 7일 범위 EQ $64,144.60 아래의 discount zone에 위치\",\n    \"7일 저점 $61,870.00 근처에서 고거래량 doji 발생: 단기 매도 흡수 또는 스프링 후보\",\n    \"최근 bearish engulfing@294 이후 하락 지속, 다만 마지막 doji@299로 즉시 추격 매도 모멘텀은 둔화\",\n    \"가격이 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25 모두 아래에 있어 구조 전환은 아직 미확인\"\n  ],\n  \"reasoning\": \"BTC는 현재 $62,450.40으로 EMA20 $63,702.88보다 2.0%, EMA120 $65,288.29보다 4.3%, EMA240 $68,481.25보다 8.8% 아래에 있어 확인된 구조는 여전히 bearish입니다. 최근 패턴은 bearish_engulfing@294와 고거래량 doji@299이며, bearish engulfing의 품질은 0.617로 후보 수준이지만 방향성은 하방입니다. 다만 마지막 doji가 7일 저점 $61,870.00 부근에서 고거래량으로 출현했기 때문에, 즉각적인 추가 하락보다는 단기 반등 또는 매도세 흡수 가능성이 있는 bullish setup이 존재합니다. 구조적으로는 하락 우위이나, $61,870.00 지지선 이탈 전까지는 저점 부근 doji로 인해 추격 매도 리스크가 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      62450.4\n    ],\n    \"resistance\": [\n      63702.88,\n      64144.6,\n      65288.29,\n      66419.2,\n      68481.25\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"4시간 종가 기준 $64,144.60 상향 돌파 시 bearish 단기 분석 무효\",\n  \"risk_scenario\": \"$61,870.00을 지키고 고거래량 doji가 매도 흡수로 확인되면, 가격은 EMA20 $63,702.88 및 7일 EQ $64,144.60까지 숏커버 반등을 시도할 수 있습니다. 반대로 $61,870.00이 이탈되면 doji는 반전 신호가 아니라 하락 지속 전 일시적 정체로 해석되며, ATR $811.79 기준 추가 변동성이 확대될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "현재가 $62,450.40가 스윙 저점 $63,220 아래에 있어 기존 Low→High 상승 피보나치 구조가 훼손됨",
        "가격이 EQ/0.5 되돌림 $64,408.60 아래의 할인 구간에 위치해 있으나, 아직 반등 확인 신호는 약함",
        "0.786 되돌림 $63,728.72와 골든비율 0.618 $64,128.09가 모두 상방 저항으로 전환됨",
        "7일 저점 $61,870.00이 하방 유동성 목표로 남아 있어 단기적으로 추가 하락 압력이 존재"
      ],
      "reasoning": "측정된 상승 스윙은 $63,220 → $65,597였으나, 현재가 $62,450.40는 스윙 저점 $63,220 아래에 있어 피보나치 되돌림 구조가 이미 약화된 상태입니다. 가장 가까운 피보나치 레벨은 0.786 되돌림 $63,728.72로 현재가 대비 약 2.05% 위에 있으며, 이는 이제 지지가 아니라 1차 저항으로 작동할 가능성이 큽니다. 핵심 골든비율 0.618 레벨 $64,128.09와 0.5 레벨 $64,408.60이 겹치는 $64,268.35 부근의 컨플루언스 존은 반등 시 강한 매도 반응이 나올 수 있는 구간입니다. 다만 가격이 EQ $64,408.60 아래의 할인 구간에 있어 단기 반등 셋업 가능성은 존재하지만, fib_reaction_state가 distant이고 reaction_probability가 0.25로 낮아 아직 강한 매수 셋업으로 보기는 어렵습니다.",
      "key_levels": {
        "support": [
          61870.0
        ],
        "resistance": [
          63728.72,
          64128.09,
          64408.6,
          64689.11,
          65597.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,408.60",
      "risk_scenario": "반대 시나리오는 가격이 $63,728.72의 0.786 되돌림을 회복한 뒤 $64,128.09의 0.618 골든비율과 $64,408.60의 EQ를 돌파·안착하는 경우입니다. 이 경우 현재의 하락 구조는 단기 실패로 해석될 수 있으며, 다음 저항은 $64,689.11 및 스윙 고점 $65,597.20까지 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $63,220 → $65,597",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 63728.72,
        "nearest_fib_distance": 2.05,
        "golden_ratio_level": 64128.09,
        "fib_ret_382": 64689.11,
        "fib_ret_618": 64128.09,
        "confluence_zones": [
          {
            "price": 64268.35,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 64686.9,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 68063.2,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          63728.7208,
          64128.0904,
          64408.6
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 65036.18,
            "distance_pct": 4.14,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 64689.11,
            "distance_pct": 3.58,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 64408.6,
            "distance_pct": 3.14,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 64128.09,
            "distance_pct": 2.69,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 63728.72,
            "distance_pct": 2.05,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 65597.2,
            "distance_pct": 5.04,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 66243.8,
            "distance_pct": 6.07,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 66581.36,
            "distance_pct": 6.61,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 67066.31,
            "distance_pct": 7.39,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 67974.4,
            "distance_pct": 8.85,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "distant",
        "reaction_probability": 0.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"현재가 $62,450.40가 스윙 저점 $63,220 아래에 있어 기존 Low→High 상승 피보나치 구조가 훼손됨\",\n    \"가격이 EQ/0.5 되돌림 $64,408.60 아래의 할인 구간에 위치해 있으나, 아직 반등 확인 신호는 약함\",\n    \"0.786 되돌림 $63,728.72와 골든비율 0.618 $64,128.09가 모두 상방 저항으로 전환됨\",\n    \"7일 저점 $61,870.00이 하방 유동성 목표로 남아 있어 단기적으로 추가 하락 압력이 존재\"\n  ],\n  \"reasoning\": \"측정된 상승 스윙은 $63,220 → $65,597였으나, 현재가 $62,450.40는 스윙 저점 $63,220 아래에 있어 피보나치 되돌림 구조가 이미 약화된 상태입니다. 가장 가까운 피보나치 레벨은 0.786 되돌림 $63,728.72로 현재가 대비 약 2.05% 위에 있으며, 이는 이제 지지가 아니라 1차 저항으로 작동할 가능성이 큽니다. 핵심 골든비율 0.618 레벨 $64,128.09와 0.5 레벨 $64,408.60이 겹치는 $64,268.35 부근의 컨플루언스 존은 반등 시 강한 매도 반응이 나올 수 있는 구간입니다. 다만 가격이 EQ $64,408.60 아래의 할인 구간에 있어 단기 반등 셋업 가능성은 존재하지만, fib_reaction_state가 distant이고 reaction_probability가 0.25로 낮아 아직 강한 매수 셋업으로 보기는 어렵습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0\n    ],\n    \"resistance\": [\n      63728.72,\n      64128.09,\n      64408.6,\n      64689.11,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,408.60\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $63,728.72의 0.786 되돌림을 회복한 뒤 $64,128.09의 0.618 골든비율과 $64,408.60의 EQ를 돌파·안착하는 경우입니다. 이 경우 현재의 하락 구조는 단기 실패로 해석될 수 있으며, 다음 저항은 $64,689.11 및 스윙 고점 $65,597.20까지 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $62,450.40가 EMA20 $63,702.88 아래 -2.0%, EMA120 $65,288.29 아래 -4.3%에 위치해 단기/중기 구조가 하방 수용 상태",
        "롱 계정 비율이 0.671까지 상승했고 long_account_change_24h +0.054로 롱 계정 유입이 증가, account_long_crowding 1.000으로 롱 포지셔닝 과밀",
        "CVD 변화량 -4505.3790으로 가격 하락 중 매수 체결 주도권이 약화되어 반등 참여가 부족",
        "OI가 24시간 -2.0820% 감소해 신규 숏 확장보다는 기존 포지션 언와인딩 성격이며, 하락 중 롱 청산/축소 압력이 우세",
        "현물-선물 basis_pct -0.0533 및 basis_change_lookback -0.0220으로 선물 프리미엄이 약해져 파생 수요가 방어적",
        "하방 청산 유동성이 $62,200, $61,700, $61,600에 밀집해 있으며 7일 저점 $61,870 재테스트 압력이 존재"
      ],
      "reasoning": "확정 구조는 현재가 $62,450.40가 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25를 모두 하회하고 있어 bearish로 판단한다. 셋업 측면에서도 롱 계정 비율이 0.671로 상승하고 account_long_crowding이 1.000까지 치솟아, 하락 구간에서 롱이 계속 쌓이는 역추세 과밀 신호가 강하다. CVD가 -4505.3790 감소하고 OI가 24시간 -2.0820% 줄어든 점은 매수 방어 실패와 포지션 언와인딩을 시사하며, 파생 데이터가 4-8시간 선행한다는 점에서 $62,200 → $61,870 → $61,600 유동성 테스트 가능성이 높다. 다만 가장 강한 상방 청산 레벨이 $63,500에 있어 단기 숏 스퀴즈성 반등이 먼저 나온 뒤 EMA20 $63,702.88 부근에서 재차 거절될 위험도 함께 봐야 한다.",
      "key_levels": {
        "support": [
          62200,
          61870,
          61700,
          61600
        ],
        "resistance": [
          63500,
          63702.88,
          64800,
          65288.29,
          65400
        ]
      },
      "time_horizon": "short term, 파생 포지셔닝 선행성을 감안한 4-8시간에서 24시간 이내",
      "invalidation_level": "$63,705 4시간 종가 상향 수용",
      "risk_scenario": "$63,500 상방 청산 클러스터가 먼저 트리거되면 숏 커버링으로 EMA20 $63,702.88까지 반등할 수 있으며, 이 구간을 4시간 종가로 회복하면 하방 셋업은 약화되고 $64,800, $65,400까지 유동성 회수가 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -4505.379,
        "oi_trend": 0.292,
        "oi_change_pct_24h": -2.082,
        "oi_latest": 97937.15,
        "funding_pressure": 0.465,
        "funding_avg": 3.503e-05,
        "funding_change_24h": -3.158e-05,
        "long_account_ratio": 0.634,
        "short_account_ratio": 0.366,
        "long_account_latest": 0.671,
        "short_account_latest": 0.329,
        "long_account_change_24h": 0.0538,
        "short_account_change_24h": -0.0538,
        "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.487,
        "spot_futures_basis_pct": -0.0533,
        "basis_change_lookback": -0.022,
        "aggregate_score": 0.309,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            62200,
            20006.581556150002
          ],
          [
            61700,
            21025.355574
          ],
          [
            61600,
            22533.8230435
          ]
        ],
        "liq_above": [
          [
            63500,
            25837.1935236
          ],
          [
            64800,
            20440.071058700003
          ],
          [
            65400,
            22908.572949449997
          ]
        ],
        "strongest_liq_level": 63500,
        "fragility_score": 0.522,
        "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.74,\n  \"setup_signals\": [\n    \"현재가 $62,450.40가 EMA20 $63,702.88 아래 -2.0%, EMA120 $65,288.29 아래 -4.3%에 위치해 단기/중기 구조가 하방 수용 상태\",\n    \"롱 계정 비율이 0.671까지 상승했고 long_account_change_24h +0.054로 롱 계정 유입이 증가, account_long_crowding 1.000으로 롱 포지셔닝 과밀\",\n    \"CVD 변화량 -4505.3790으로 가격 하락 중 매수 체결 주도권이 약화되어 반등 참여가 부족\",\n    \"OI가 24시간 -2.0820% 감소해 신규 숏 확장보다는 기존 포지션 언와인딩 성격이며, 하락 중 롱 청산/축소 압력이 우세\",\n    \"현물-선물 basis_pct -0.0533 및 basis_change_lookback -0.0220으로 선물 프리미엄이 약해져 파생 수요가 방어적\",\n    \"하방 청산 유동성이 $62,200, $61,700, $61,600에 밀집해 있으며 7일 저점 $61,870 재테스트 압력이 존재\"\n  ],\n  \"reasoning\": \"확정 구조는 현재가 $62,450.40가 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25를 모두 하회하고 있어 bearish로 판단한다. 셋업 측면에서도 롱 계정 비율이 0.671로 상승하고 account_long_crowding이 1.000까지 치솟아, 하락 구간에서 롱이 계속 쌓이는 역추세 과밀 신호가 강하다. CVD가 -4505.3790 감소하고 OI가 24시간 -2.0820% 줄어든 점은 매수 방어 실패와 포지션 언와인딩을 시사하며, 파생 데이터가 4-8시간 선행한다는 점에서 $62,200 → $61,870 → $61,600 유동성 테스트 가능성이 높다. 다만 가장 강한 상방 청산 레벨이 $63,500에 있어 단기 숏 스퀴즈성 반등이 먼저 나온 뒤 EMA20 $63,702.88 부근에서 재차 거절될 위험도 함께 봐야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      62200,\n      61870,\n      61700,\n      61600\n    ],\n    \"resistance\": [\n      63500,\n      63702.88,\n      64800,\n      65288.29,\n      65400\n    ]\n  },\n  \"time_horizon\": \"short term, 파생 포지셔닝 선행성을 감안한 4-8시간에서 24시간 이내\",\n  \"invalidation_level\": \"$63,705 4시간 종가 상향 수용\",\n  \"risk_scenario\": \"$63,500 상방 청산 클러스터가 먼저 트리거되면 숏 커버링으로 EMA20 $63,702.88까지 반등할 수 있으며, 이 구간을 4시간 종가로 회복하면 하방 셋업은 약화되고 $64,800, $65,400까지 유동성 회수가 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $62,450.40가 EQ $64,562.70 아래의 discount 영역에 머물러 있으나, 반등 수용 없이 전일 저가 $63,220.00을 하향 이탈하여 sell-side liquidity가 이미 공격된 상태",
        "현재가가 EMA20 $63,702.88 아래 -2.0%, EMA120 $65,288.29 아래 -4.3%, EMA240 $68,481.25 아래 -8.8%에 위치하여 기관 흐름상 하방 압력이 우세",
        "최근 구조 레벨 $64,250.00의 bullish BOS 이후 가격이 다시 그 아래로 밀리며 bullish shift 수용 실패 가능성",
        "활성 bullish OB와 미충족 bullish FVG가 모두 없음: active_bullish_ob 0, unfilled_bull_fvg_count 0",
        "상단의 후보 bearish OB $76,234.70-$78,077.10 및 resting BSL $78,128.55는 현재 가격과 멀어 즉각적인 상방 자석보다 중기 유동성 목표로 남아 있음"
      ],
      "reasoning": "확정 구조 관점에서는 $79,137.40 bearish CHoCH 이후 $78,713.80, $76,014.20, $74,203.60, $72,436.00까지 연속 bearish BOS가 발생했기 때문에 여전히 구조_bias는 bearish로 해석한다. 마지막에 $64,250.00 bullish BOS가 있었지만, 현재가 $62,450.40가 그 레벨 아래로 재차 밀렸고 전일 저가 $63,220.00도 깨졌기 때문에 bullish 구조 전환의 수용이 실패한 상태에 가깝다. 현재 가격은 range low $61,870.00 바로 위 discount 영역이며, 일반적으로 신규 숏에는 늦은 위치지만 active bullish OB나 open bullish FVG가 없어 즉각적인 기관 매수 방어 근거가 약하다. 따라서 단기적으로는 $61,870.00 저점 유동성 재공격 가능성을 우선 보며, $64,562.70 EQ 회복 전까지 bearish continuation setup이 우세하다.",
      "key_levels": {
        "support": [
          61870.0,
          62450.4
        ],
        "resistance": [
          63220.0,
          63702.88,
          64250.0,
          64562.7,
          65597.2,
          67255.4,
          72436.0,
          76234.7,
          78077.1,
          78128.55
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$64,562.70",
      "risk_scenario": "반대 시나리오는 $61,870.00 부근의 sell-side liquidity를 스윕한 뒤 강한 4시간봉 반등으로 $64,250.00 bullish BOS 레벨과 EQ $64,562.70을 회복하는 경우다. 이 경우 현재 하방 continuation 관점은 약화되며, $65,597.20 전일 고가와 range high $67,255.40 방향으로 숏 커버링성 반등이 전개될 수 있다.",
      "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": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 79137.4
          },
          {
            "type": "BOS_bearish",
            "level": 78713.8
          },
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 64562.7,
        "range_high": 67255.4,
        "range_low": 61870.0,
        "bull_score": 3.0,
        "bear_score": 13.5,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $79,137.40",
          "bearish BOS below $78,713.80",
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 13.6,
        "deepest_retracement_pct": 67.0,
        "previous_day_high": 65597.2,
        "previous_day_low": 63220.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.76,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $62,450.40가 EQ $64,562.70 아래의 discount 영역에 머물러 있으나, 반등 수용 없이 전일 저가 $63,220.00을 하향 이탈하여 sell-side liquidity가 이미 공격된 상태\",\n    \"현재가가 EMA20 $63,702.88 아래 -2.0%, EMA120 $65,288.29 아래 -4.3%, EMA240 $68,481.25 아래 -8.8%에 위치하여 기관 흐름상 하방 압력이 우세\",\n    \"최근 구조 레벨 $64,250.00의 bullish BOS 이후 가격이 다시 그 아래로 밀리며 bullish shift 수용 실패 가능성\",\n    \"활성 bullish OB와 미충족 bullish FVG가 모두 없음: active_bullish_ob 0, unfilled_bull_fvg_count 0\",\n    \"상단의 후보 bearish OB $76,234.70-$78,077.10 및 resting BSL $78,128.55는 현재 가격과 멀어 즉각적인 상방 자석보다 중기 유동성 목표로 남아 있음\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 $79,137.40 bearish CHoCH 이후 $78,713.80, $76,014.20, $74,203.60, $72,436.00까지 연속 bearish BOS가 발생했기 때문에 여전히 구조_bias는 bearish로 해석한다. 마지막에 $64,250.00 bullish BOS가 있었지만, 현재가 $62,450.40가 그 레벨 아래로 재차 밀렸고 전일 저가 $63,220.00도 깨졌기 때문에 bullish 구조 전환의 수용이 실패한 상태에 가깝다. 현재 가격은 range low $61,870.00 바로 위 discount 영역이며, 일반적으로 신규 숏에는 늦은 위치지만 active bullish OB나 open bullish FVG가 없어 즉각적인 기관 매수 방어 근거가 약하다. 따라서 단기적으로는 $61,870.00 저점 유동성 재공격 가능성을 우선 보며, $64,562.70 EQ 회복 전까지 bearish continuation setup이 우세하다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      62450.4\n    ],\n    \"resistance\": [\n      63220.0,\n      63702.88,\n      64250.0,\n      64562.7,\n      65597.2,\n      67255.4,\n      72436.0,\n      76234.7,\n      78077.1,\n      78128.55\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$64,562.70\",\n  \"risk_scenario\": \"반대 시나리오는 $61,870.00 부근의 sell-side liquidity를 스윕한 뒤 강한 4시간봉 반등으로 $64,250.00 bullish BOS 레벨과 EQ $64,562.70을 회복하는 경우다. 이 경우 현재 하방 continuation 관점은 약화되며, $65,597.20 전일 고가와 range high $67,255.40 방향으로 숏 커버링성 반등이 전개될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $62,450.40가 4h SOS 기준가 $62,942.40 아래에 위치하여 SOS 이후 수요 확인이 즉시 유지되지 못함",
        "현재가가 EMA20 $63,702.88 및 EMA120 $65,288.29 아래에 있어 단기 반등 시 $63,700~$65,300 구간이 공급 확인 구간으로 작동 가능",
        "최근 저점 $61,870.00 및 SOW성 저점 $62,532.40 부근까지 하방 유동성 테스트가 이미 진행되었으나, 아직 $62,942.40 재수복 확인이 없음",
        "7일 고점 $66,419.20 이후 현재가 $62,450.40까지 밀리며 단기 경로는 재축적 확정보다 하단 테스트 우위"
      ],
      "reasoning": "상위 Wyckoff 판독은 regime=ACC, regime_state=confirmed_acc, acc_score=92.5, regime_fitness=0.925로 확인된 축적 구조이며, 감지된 체인은 SC $80,225.10 → AR $82,350.00 → ST $76,014.20 → Spring $73,130.10 → Terminal Spring $65,359.10 → SOS $62,942.40입니다. 다만 현재가 $62,450.40는 마지막 SOS $62,942.40 아래에 있어 Phase D의 수요 우위가 즉시 확장되었다고 보기 어렵고, $62,942.40 회복 전까지는 하단 재시험 또는 흔들기 성격의 경로가 우세합니다. 구조적 편향은 축적 기반의 bullish로 유지하지만, 실행 관점의 setup_bias는 EMA20 $63,702.88 및 EMA120 $65,288.29 아래에서 저항을 받는 bearish/방어적 조건입니다. 특히 $61,870.00 이탈 시 축적 Phase D 판독은 재검증이 필요하며, 반대로 $62,942.40 회복 후 $63,702.88 위 안착이 있어야 SOS 이후 LPS 후보를 논할 수 있습니다.",
      "key_levels": {
        "support": [
          61870.0,
          62532.4,
          62450.4
        ],
        "resistance": [
          62942.4,
          63702.88,
          65288.29,
          65359.1,
          66419.2
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$61,870.00",
      "risk_scenario": "$61,870.00을 4시간봉 종가로 이탈하면 SOS $62,942.40 이후의 Phase D 수요 확인은 실패로 해석될 수 있으며, 축적 구조는 LPS 전개가 아니라 추가 하방 유동성 탐색 또는 구조 재분류 위험이 커집니다. 반대로 $62,942.40을 회복하고 $63,702.88 위에서 수용되면 단기 bearish setup은 약화되고 $65,359.10~$65,288.29 재시험 가능성이 높아집니다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 92.5,
        "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": 37,
            "price": 80225.1,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 38,
            "price": 82350.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 83,
            "price": 76014.2,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 153,
            "price": 73130.1,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 176,
            "price": 65359.1,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 202,
            "price": 62942.4,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 37,
            "end_idx": 202,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 37,
                "price": 80225.1,
                "color": "#ffd166",
                "dt": "2026-05-11 05:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 38,
                "price": 82350.0,
                "color": "#06d6a0",
                "dt": "2026-05-11 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 83,
                "price": 76014.2,
                "color": "#118ab2",
                "dt": "2026-05-18 21:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 153,
                "price": 73130.1,
                "color": "#f9844a",
                "dt": "2026-05-30 13:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 176,
                "price": 65359.1,
                "color": "#f3722c",
                "dt": "2026-06-03 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 202,
                "price": 62942.4,
                "color": "#06d6a0",
                "dt": "2026-06-07 17:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "4h_cycle_2",
            "sequence": 2,
            "timeframe": "4h",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 228,
            "end_idx": 298,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 228,
                "price": 63915.3,
                "color": "#ffd166",
                "dt": "2026-06-12 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 246,
                "price": 63650.0,
                "color": "#06d6a0",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 264,
                "price": 66419.2,
                "color": "#118ab2",
                "dt": "2026-06-18 01:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 281,
                "price": 63136.2,
                "color": "#ef476f",
                "dt": "2026-06-20 21:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 285,
                "price": 64568.0,
                "color": "#f9844a",
                "dt": "2026-06-21 13:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 293,
                "price": 65597.2,
                "color": "#f9844a",
                "dt": "2026-06-22 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 297,
                "price": 62532.4,
                "color": "#ef476f",
                "dt": "2026-06-23 13:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 298,
                "price": 61870.0,
                "color": "#7209b7",
                "dt": "2026-06-23 17:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_2",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80225.1,
        "main_range_high": 82350.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $62,450.40가 4h SOS 기준가 $62,942.40 아래에 위치하여 SOS 이후 수요 확인이 즉시 유지되지 못함\",\n    \"현재가가 EMA20 $63,702.88 및 EMA120 $65,288.29 아래에 있어 단기 반등 시 $63,700~$65,300 구간이 공급 확인 구간으로 작동 가능\",\n    \"최근 저점 $61,870.00 및 SOW성 저점 $62,532.40 부근까지 하방 유동성 테스트가 이미 진행되었으나, 아직 $62,942.40 재수복 확인이 없음\",\n    \"7일 고점 $66,419.20 이후 현재가 $62,450.40까지 밀리며 단기 경로는 재축적 확정보다 하단 테스트 우위\"\n  ],\n  \"reasoning\": \"상위 Wyckoff 판독은 regime=ACC, regime_state=confirmed_acc, acc_score=92.5, regime_fitness=0.925로 확인된 축적 구조이며, 감지된 체인은 SC $80,225.10 → AR $82,350.00 → ST $76,014.20 → Spring $73,130.10 → Terminal Spring $65,359.10 → SOS $62,942.40입니다. 다만 현재가 $62,450.40는 마지막 SOS $62,942.40 아래에 있어 Phase D의 수요 우위가 즉시 확장되었다고 보기 어렵고, $62,942.40 회복 전까지는 하단 재시험 또는 흔들기 성격의 경로가 우세합니다. 구조적 편향은 축적 기반의 bullish로 유지하지만, 실행 관점의 setup_bias는 EMA20 $63,702.88 및 EMA120 $65,288.29 아래에서 저항을 받는 bearish/방어적 조건입니다. 특히 $61,870.00 이탈 시 축적 Phase D 판독은 재검증이 필요하며, 반대로 $62,942.40 회복 후 $63,702.88 위 안착이 있어야 SOS 이후 LPS 후보를 논할 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61870.0,\n      62532.4,\n      62450.4\n    ],\n    \"resistance\": [\n      62942.4,\n      63702.88,\n      65288.29,\n      65359.1,\n      66419.2\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$61,870.00\",\n  \"risk_scenario\": \"$61,870.00을 4시간봉 종가로 이탈하면 SOS $62,942.40 이후의 Phase D 수요 확인은 실패로 해석될 수 있으며, 축적 구조는 LPS 전개가 아니라 추가 하방 유동성 탐색 또는 구조 재분류 위험이 커집니다. 반대로 $62,942.40을 회복하고 $63,702.88 위에서 수용되면 단기 bearish setup은 약화되고 $65,359.10~$65,288.29 재시험 가능성이 높아집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.56,
      "setup_signals": [
        "활성 고컨플루언스 bullish Bat PRZ $62,527.12-$63,386.13, D 예상가 $62,956.63, ABCD/BC_EXT/XAD 3개 Fib 패밀리 컨플루언스",
        "현재가 $62,450.40은 7일 저점 $61,870.00 부근이며, bullish PRZ 클러스터 하단부에 위치",
        "candidate bullish Gartley 형성 PRZ $62,202.51-$63,015.03, D 예상가 $62,608.77로 현재가와 근접",
        "이전 completed bullish Bat는 D $63,220.00에서 반응 확인됨: PRZ 진입/방어, AD 0.382 반응 도달, reaction_score 0.8",
        "단기 추세 압력은 약세: 현재가가 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25 모두 하회"
      ],
      "reasoning": "4시간 기준 확정 구조는 가격이 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25 아래에 있고 24시간 -3.64% 하락 중이므로 약세 압력이 우세하지만, 제공 데이터상 명확한 BOS/CHoCH 확인은 없어서 강한 구조 전환 판정은 제한적입니다. 반면 셋업 관점에서는 strict/high bullish Bat가 $62,527.12-$63,386.13 PRZ에서 활성화되어 있고, ABCD·BC extension·XAD 3중 컨플루언스와 pattern_score 0.955로 반등 후보 구간입니다. 다만 best Bat는 아직 forming이며 confirmed_reaction=false, directional_vote_weight 0.35에 불과하므로 단독으로 메인 경로를 bullish로 뒤집을 수 없습니다. $62,315.00 X 저점과 7일 저점 $61,870.00 방어 후 $63,386.13 상단 회복 및 $63,702.88 EMA20 reclaim이 나오면 Bat TP ladder인 $64,598.76, $65,613.27, $67,255.40이 반등 목표로 유효해집니다.",
      "key_levels": {
        "support": [
          62527.12,
          62315.0,
          62202.51,
          61870.0,
          61461.12,
          61013.8
        ],
        "resistance": [
          63015.03,
          63386.13,
          63702.88,
          64598.76,
          65613.27,
          67255.4
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "4시간 종가 기준 $62,315.00 하향 이탈",
      "risk_scenario": "$62,315.00 Bat X 저점이 깨지고 7일 저점 $61,870.00까지 방어 실패하면 현재 bullish PRZ는 실패 구간으로 전환되며, 다음 하방 반응 후보는 strict bullish Butterfly PRZ $61,013.80-$61,908.44 및 D $61,461.12까지 열립니다. 반대로 $63,386.13 PRZ 상단과 EMA20 $63,702.88을 회복하면 약세 구조 내 반등이 강화되어 $64,598.76-$65,613.27 TP 구간까지 숏 커버성 상승이 발생할 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 87,
        "completed_patterns_found": 28,
        "forming_d_prz_found": 59,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 27,
        "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": 3,
          "medium": 23,
          "low": 61
        },
        "prz_status_counts": {
          "active": 32,
          "nearby": 5,
          "watch": 9,
          "far": 41,
          "forming": 31
        },
        "high_confluence_prz_count": 11,
        "strict_patterns_found": 29,
        "candidate_patterns_found": 58,
        "active_patterns_at_prz": 32,
        "nearby_patterns": 5,
        "all_patterns": [
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "shark",
          "bat",
          "bat",
          "shark",
          "bat",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "shark",
          "crab",
          "shark",
          "bat",
          "crab",
          "gartley",
          "crab",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "shark",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "bat",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.955,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 62429.01,
        "price_to_prz": -0.03,
        "prz_range": [
          61467.72,
          63390.29
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.81,
            "price_to_prz_pct_raw": 0.8106,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.875,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.81,
            "price_to_prz_pct_raw": 0.8106,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": 289
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.858,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.25,
            "price_to_prz_pct_raw": 0.2536,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 241,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.934,
            "ratio_score": 1.0,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63482.36,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.65,
            "price_to_prz_pct_raw": 1.6524,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53
            },
            "x_price": 65359.1,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 246,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.58,
            "price_to_prz_pct_raw": -1.5841,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 256,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.77,
            "price_to_prz_pct_raw": 2.7662,
            "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": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 246,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 256,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 264,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.772,
            "ratio_score": 0.706,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.65,
            "price_to_prz_pct_raw": 1.6524,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 2.308,
                "adverse_move_ratio_ad": 1.311,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53,
              "BCD": 1.4684,
              "XAD": 0.9287
            },
            "x_price": 65359.1,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 246,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": 289
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.894,
            "ratio_score": 0.97,
            "prz_score": 0.859,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61802.43,
            "prz_range": [
              61158.66,
              62446.21
            ],
            "prz_width_pct": 2.083,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.04,
            "price_to_prz_pct_raw": -1.0376,
            "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": 61802.43,
              "a_price": 66419.2,
              "tp1_ad_382": 63566.04,
              "tp2_ad_618": 64655.6,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7795,
              "ABC": 0.7431
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 264,
            "a_order": 5,
            "b_price": 63220.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.81,
            "price_to_prz_pct_raw": 0.8106,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "ratio_score": 1.0,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62956.63,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.81,
            "price_to_prz_pct_raw": 0.8106,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.875,
            "ratio_score": 0.847,
            "prz_score": 0.988,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_width_pct": 1.364,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.81,
            "price_to_prz_pct_raw": 0.8106,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.589,
                "adverse_move_ratio_ad": 0.335,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.3949,
              "BCD": 1.7718,
              "XAD": 0.8168
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": 289
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.858,
            "ratio_score": 0.718,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62608.77,
            "prz_range": [
              62202.51,
              63015.03
            ],
            "prz_width_pct": 1.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.25,
            "price_to_prz_pct_raw": 0.2536,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62608.77,
              "a_price": 64738.0,
              "tp1_ad_382": 63422.14,
              "tp2_ad_618": 63924.64,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6611,
              "ABC": 0.8939
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 241,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.934,
            "ratio_score": 1.0,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63482.36,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.65,
            "price_to_prz_pct_raw": 1.6524,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53
            },
            "x_price": 65359.1,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 246,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.58,
            "price_to_prz_pct_raw": -1.5841,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 256,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 1.0,
            "prz_score": 0.862,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64177.92,
            "prz_range": [
              63514.47,
              64841.36
            ],
            "prz_width_pct": 2.068,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.77,
            "price_to_prz_pct_raw": 2.7662,
            "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": 64177.92,
              "a_price": 66956.7,
              "tp1_ad_382": 65239.41,
              "tp2_ad_618": 65895.2,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.6698
            },
            "x_price": 63650.0,
            "x_idx": 246,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 256,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 66419.2,
            "c_idx": 264,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.772,
            "ratio_score": 0.706,
            "prz_score": 0.931,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63220.0,
            "prz_range": [
              62947.2,
              64017.52
            ],
            "prz_width_pct": 1.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.65,
            "price_to_prz_pct_raw": 1.6524,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 2.308,
                "adverse_move_ratio_ad": 1.311,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 63482.36,
              "a_price": 64250.0,
              "tp1_ad_382": 63775.6,
              "tp2_ad_618": 63956.76,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.541,
              "ABC": 1.53,
              "BCD": 1.4684,
              "XAD": 0.9287
            },
            "x_price": 65359.1,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 63650.0,
            "b_idx": 246,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": 289
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.894,
            "ratio_score": 0.97,
            "prz_score": 0.859,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61802.43,
            "prz_range": [
              61158.66,
              62446.21
            ],
            "prz_width_pct": 2.083,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.04,
            "price_to_prz_pct_raw": -1.0376,
            "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": 61802.43,
              "a_price": 66419.2,
              "tp1_ad_382": 63566.04,
              "tp2_ad_618": 64655.6,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7795,
              "ABC": 0.7431
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 264,
            "a_order": 5,
            "b_price": 63220.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.893,
            "ratio_score": 0.988,
            "prz_score": 0.859,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62215.79,
            "prz_range": [
              61566.77,
              62864.8
            ],
            "prz_width_pct": 2.086,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.38,
            "price_to_prz_pct_raw": -0.3757,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62215.79,
              "a_price": 66956.7,
              "tp1_ad_382": 64026.82,
              "tp2_ad_618": 65145.67,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.616,
              "ABC": 0.6442
            },
            "x_price": 60755.0,
            "x_idx": 216,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 256,
            "a_order": 3,
            "b_price": 63136.2,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.887,
            "ratio_score": 1.0,
            "prz_score": 0.821,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62273.28,
            "prz_range": [
              61557.89,
              62988.67
            ],
            "prz_width_pct": 2.298,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.28,
            "price_to_prz_pct_raw": -0.2836,
            "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": 62273.28,
              "a_price": 66956.7,
              "tp1_ad_382": 64062.35,
              "tp2_ad_618": 65167.63,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4923,
              "ABC": 0.4674
            },
            "x_price": 63650.0,
            "x_idx": 246,
            "x_order": 8,
            "a_price": 66956.7,
            "a_idx": 256,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.887,
            "ratio_score": 1.0,
            "prz_score": 0.835,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62695.21,
            "prz_range": [
              61999.91,
              63390.5
            ],
            "prz_width_pct": 2.218,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.392,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 62695.21,
              "a_price": 64362.6,
              "tp1_ad_382": 63332.15,
              "tp2_ad_618": 63725.66,
              "tp3_a_or_structure_liquidity": 64362.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5989,
              "ABC": 1.1675
            },
            "x_price": 62315.0,
            "x_idx": 228,
            "x_order": 3,
            "a_price": 64362.6,
            "a_idx": 233,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 281,
            "b_order": 3,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.881,
            "ratio_score": 1.0,
            "prz_score": 0.796,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62175.11,
            "prz_range": [
              61416.92,
              62933.3
            ],
            "prz_width_pct": 2.439,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.44,
            "price_to_prz_pct_raw": -0.4408,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 62175.11,
              "a_price": 63915.3,
              "tp1_ad_382": 62839.86,
              "tp2_ad_618": 63250.55,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 1.3878
            },
            "x_price": 61150.2,
            "x_idx": 204,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 269,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "prz_proximity": "active",
            "prz_range": [
              62527.12,
              63386.13
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.81,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62956.63,
              "a_price": 67255.4,
              "tp1_ad_382": 64598.76,
              "tp2_ad_618": 65613.27,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $62,527.12-$63,386.13: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.955,
          "ratio_score": 1.0,
          "prz_score": 0.988,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 62956.63,
          "prz_range": [
            62527.12,
            63386.13
          ],
          "prz_width_pct": 1.364,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.81,
          "price_to_prz_pct_raw": 0.8106,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.39,
            "ABC": 0.3949
          },
          "x_price": 62315.0,
          "x_idx": 228,
          "x_order": 3,
          "a_price": 67255.4,
          "a_idx": 251,
          "a_order": 8,
          "b_price": 65328.8,
          "b_idx": 257,
          "b_order": 3,
          "c_price": 64568.0,
          "c_idx": 285,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 62956.63,
          "a_price": 67255.4,
          "tp1_ad_382": 64598.76,
          "tp2_ad_618": 65613.27,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62956.63,
            "a_price": 67255.4,
            "tp1_ad_382": 64598.76,
            "tp2_ad_618": 65613.27,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.202,
          "bearish": 0
        },
        "directional_score_total": 0.202,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"활성 고컨플루언스 bullish Bat PRZ $62,527.12-$63,386.13, D 예상가 $62,956.63, ABCD/BC_EXT/XAD 3개 Fib 패밀리 컨플루언스\",\n    \"현재가 $62,450.40은 7일 저점 $61,870.00 부근이며, bullish PRZ 클러스터 하단부에 위치\",\n    \"candidate bullish Gartley 형성 PRZ $62,202.51-$63,015.03, D 예상가 $62,608.77로 현재가와 근접\",\n    \"이전 completed bullish Bat는 D $63,220.00에서 반응 확인됨: PRZ 진입/방어, AD 0.382 반응 도달, reaction_score 0.8\",\n    \"단기 추세 압력은 약세: 현재가가 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25 모두 하회\"\n  ],\n  \"reasoning\": \"4시간 기준 확정 구조는 가격이 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25 아래에 있고 24시간 -3.64% 하락 중이므로 약세 압력이 우세하지만, 제공 데이터상 명확한 BOS/CHoCH 확인은 없어서 강한 구조 전환 판정은 제한적입니다. 반면 셋업 관점에서는 strict/high bullish Bat가 $62,527.12-$63,386.13 PRZ에서 활성화되어 있고, ABCD·BC extension·XAD 3중 컨플루언스와 pattern_score 0.955로 반등 후보 구간입니다. 다만 best Bat는 아직 forming이며 confirmed_reaction=false, directional_vote_weight 0.35에 불과하므로 단독으로 메인 경로를 bullish로 뒤집을 수 없습니다. $62,315.00 X 저점과 7일 저점 $61,870.00 방어 후 $63,386.13 상단 회복 및 $63,702.88 EMA20 reclaim이 나오면 Bat TP ladder인 $64,598.76, $65,613.27, $67,255.40이 반등 목표로 유효해집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62527.12,\n      62315.0,\n      62202.51,\n      61870.0,\n      61461.12,\n      61013.8\n    ],\n    \"resistance\": [\n      63015.03,\n      63386.13,\n      63702.88,\n      64598.76,\n      65613.27,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"4시간 종가 기준 $62,315.00 하향 이탈\",\n  \"risk_scenario\": \"$62,315.00 Bat X 저점이 깨지고 7일 저점 $61,870.00까지 방어 실패하면 현재 bullish PRZ는 실패 구간으로 전환되며, 다음 하방 반응 후보는 strict bullish Butterfly PRZ $61,013.80-$61,908.44 및 D $61,461.12까지 열립니다. 반대로 $63,386.13 PRZ 상단과 EMA20 $63,702.88을 회복하면 약세 구조 내 반등이 강화되어 $64,598.76-$65,613.27 TP 구간까지 숏 커버성 상승이 발생할 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.69,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.76,
      "active_setups": [
        "현재가 $62,450.40가 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25를 모두 하회하여 4시간 구조 수용이 하방에 있음",
        "ICT 기준 전일 저가 $63,220.00 하향 이탈 이후 $64,250.00 bullish BOS 레벨을 재상실하여 상승 구조 전환 수용 실패 조건",
        "파생 데이터에서 롱 계정 비율 0.671, 롱 계정 과밀 1.000, CVD 변화 -4505.3790으로 하락 구간 내 역추세 롱 누적과 매수 방어 약화",
        "Wyckoff 현재 활성 구조는 $65,597.20 UTAD 이후 $62,532.40 SOW, $61,870.00 Phase E성 저점으로 분배 말기/하단 이탈 조건을 시사",
        "현재가가 Wyckoff SOS 기준 $62,942.40 아래에 있어 SOS 이후 수요 우위가 유지되지 못한 상태",
        "단, $62,527.12-$63,386.13 bullish Bat PRZ와 $62,202.51-$63,015.03 Gartley PRZ가 현재가 인근에 있어 추격 매도에는 반등 리스크가 존재"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 모두 약세 쪽으로 정렬되어 있다. 다만 현재 가격은 $61,870.00 7일 저점 및 복수 bullish harmonic PRZ 인근의 discount 구간이므로, 구조적 약세와 별개로 단기 반등·흡수 리스크가 큰 위치다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 4,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        62527.12,
        62450.4,
        62315.0,
        62200.0,
        61870.0,
        61700.0,
        61600.0,
        61013.8
      ],
      "resistance": [
        62942.4,
        63220.0,
        63500.0,
        63702.88,
        64128.09,
        64250.0,
        64408.6,
        64562.7,
        65288.29,
        65597.2
      ]
    },
    "confluences": [
      " $61,870.00은 Candlestick, Fibonacci, ICT, Wyckoff, Derivatives, Harmonic이 공통으로 주목하는 핵심 하단 구조 레벨이다.",
      " $63,702.88 EMA20은 Candlestick, Derivatives, ICT, Wyckoff, Harmonic 모두가 반등 시 1차 구조 저항으로 보는 레벨이다.",
      " $63,220.00은 Fibonacci 스윙 저점이자 ICT 전일 저가로, 현재 하향 이탈되어 지지에서 저항으로 전환된 구조 레벨이다.",
      " $64,128.09-$64,408.60 구간은 Fibonacci 0.618·0.5 컨플루언스이며, ICT의 $64,250.00 bullish BOS 실패 레벨과 겹쳐 중단 저항 클러스터를 형성한다.",
      " $65,288.29 EMA120과 $65,597.20 전일 고점·UTAD 고점은 중기 구조 회복 여부를 판단하는 상단 확인 구간이다.",
      " 현재가 부근 $62,527.12-$63,386.13은 Harmonic bullish Bat PRZ이며, Wyckoff의 $62,532.40 SOW성 저점 및 SOS 기준 $62,942.40과 겹쳐 하단 반응을 감시해야 하는 구간이다."
    ],
    "conflicts": [
      "Wyckoff는 상위 또는 이전 축적 구조를 근거로 구조 편향을 bullish로 유지하지만, 현재 활성 4시간 후보 구조는 $65,597.20 UTAD 이후 SOW와 Phase E성 저점이 나타나 분배적 성격이 강하다.",
      "Harmonic은 $62,527.12-$63,386.13 bullish Bat PRZ와 $62,202.51-$63,015.03 Gartley PRZ를 제시해 반등 후보를 강조하지만, 해당 PRZ는 사전 확인 단계이며 단독으로 ICT·파생·EMA 구조 약세를 뒤집을 권한은 낮다.",
      "Candlestick은 구조적으로 bearish이나 $61,870.00 부근 고거래량 doji를 매도 흡수 또는 spring 후보로 해석해, 구조 진단과 단기 실행 리스크가 분리된다.",
      "Fibonacci는 가격이 $63,220 스윙 저점 아래로 내려가 상승 피보나치 구조가 훼손되었다고 보지만, 동시에 EQ $64,408.60 아래 discount 구간이라는 점은 저가 반응 가능성을 남긴다."
    ],
    "executive_summary": "BTC 4시간 구조는 현재 $62,450.40에서 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25를 모두 하회하고 있어 regime-level 판독은 bearish가 우세하다. Wyckoff 관점에서는 과거 축적 구조가 존재하지만, 현재 활성 4시간 구간은 $65,597.20 UTAD 이후 $62,532.40 SOW와 $61,870.00 Phase E성 저점이 나타난 분배 말기 또는 재구조화 국면으로 해석하는 것이 더 적절하다. 핵심 구조 레벨은 하단 $61,870.00, 상단 $63,220.00-$63,702.88, 그리고 중단 무효화 전 단계인 $64,250.00-$64,562.70이다. 다만 $62,527.12-$63,386.13 harmonic bullish PRZ와 고거래량 doji가 현재가 인근에 있어, 구조 약세 속에서도 하단 흡수·spring성 반응 리스크는 조건으로 남아 있다. bearish 구조 진단은 $65,597.20 상방 회복 및 유지 시 재평가해야 한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.69,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.76,\n    \"active_setups\": [\n      \"현재가 $62,450.40가 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25를 모두 하회하여 4시간 구조 수용이 하방에 있음\",\n      \"ICT 기준 전일 저가 $63,220.00 하향 이탈 이후 $64,250.00 bullish BOS 레벨을 재상실하여 상승 구조 전환 수용 실패 조건\",\n      \"파생 데이터에서 롱 계정 비율 0.671, 롱 계정 과밀 1.000, CVD 변화 -4505.3790으로 하락 구간 내 역추세 롱 누적과 매수 방어 약화\",\n      \"Wyckoff 현재 활성 구조는 $65,597.20 UTAD 이후 $62,532.40 SOW, $61,870.00 Phase E성 저점으로 분배 말기/하단 이탈 조건을 시사\",\n      \"현재가가 Wyckoff SOS 기준 $62,942.40 아래에 있어 SOS 이후 수요 우위가 유지되지 못한 상태\",\n      \"단, $62,527.12-$63,386.13 bullish Bat PRZ와 $62,202.51-$63,015.03 Gartley PRZ가 현재가 인근에 있어 추격 매도에는 반등 리스크가 존재\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 모두 약세 쪽으로 정렬되어 있다. 다만 현재 가격은 $61,870.00 7일 저점 및 복수 bullish harmonic PRZ 인근의 discount 구간이므로, 구조적 약세와 별개로 단기 반등·흡수 리스크가 큰 위치다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 4,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      62527.12,\n      62450.4,\n      62315.0,\n      62200.0,\n      61870.0,\n      61700.0,\n      61600.0,\n      61013.8\n    ],\n    \"resistance\": [\n      62942.4,\n      63220.0,\n      63500.0,\n      63702.88,\n      64128.09,\n      64250.0,\n      64408.6,\n      64562.7,\n      65288.29,\n      65597.2\n    ]\n  },\n  \"confluences\": [\n    \" $61,870.00은 Candlestick, Fibonacci, ICT, Wyckoff, Derivatives, Harmonic이 공통으로 주목하는 핵심 하단 구조 레벨이다.\",\n    \" $63,702.88 EMA20은 Candlestick, Derivatives, ICT, Wyckoff, Harmonic 모두가 반등 시 1차 구조 저항으로 보는 레벨이다.\",\n    \" $63,220.00은 Fibonacci 스윙 저점이자 ICT 전일 저가로, 현재 하향 이탈되어 지지에서 저항으로 전환된 구조 레벨이다.\",\n    \" $64,128.09-$64,408.60 구간은 Fibonacci 0.618·0.5 컨플루언스이며, ICT의 $64,250.00 bullish BOS 실패 레벨과 겹쳐 중단 저항 클러스터를 형성한다.\",\n    \" $65,288.29 EMA120과 $65,597.20 전일 고점·UTAD 고점은 중기 구조 회복 여부를 판단하는 상단 확인 구간이다.\",\n    \" 현재가 부근 $62,527.12-$63,386.13은 Harmonic bullish Bat PRZ이며, Wyckoff의 $62,532.40 SOW성 저점 및 SOS 기준 $62,942.40과 겹쳐 하단 반응을 감시해야 하는 구간이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 상위 또는 이전 축적 구조를 근거로 구조 편향을 bullish로 유지하지만, 현재 활성 4시간 후보 구조는 $65,597.20 UTAD 이후 SOW와 Phase E성 저점이 나타나 분배적 성격이 강하다.\",\n    \"Harmonic은 $62,527.12-$63,386.13 bullish Bat PRZ와 $62,202.51-$63,015.03 Gartley PRZ를 제시해 반등 후보를 강조하지만, 해당 PRZ는 사전 확인 단계이며 단독으로 ICT·파생·EMA 구조 약세를 뒤집을 권한은 낮다.\",\n    \"Candlestick은 구조적으로 bearish이나 $61,870.00 부근 고거래량 doji를 매도 흡수 또는 spring 후보로 해석해, 구조 진단과 단기 실행 리스크가 분리된다.\",\n    \"Fibonacci는 가격이 $63,220 스윙 저점 아래로 내려가 상승 피보나치 구조가 훼손되었다고 보지만, 동시에 EQ $64,408.60 아래 discount 구간이라는 점은 저가 반응 가능성을 남긴다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 신뢰도 76%로 가장 높고, $79,137.40 bearish CHoCH 이후 연속 bearish BOS, $63,220.00 전일 저가 이탈, $64,250.00 bullish BOS 재상실, $64,562.70 EQ 하회 등 구조 레벨을 가장 명확하게 제시했다.\",\n  \"invalidation_level\": \"$65,597.20 상방 회복 및 유지. 이 레벨은 전일 고점이자 최근 UTAD 고점이며, 동시에 EMA120 $65,288.29 상단 회복을 동반하므로 현재 bearish 구조 진단을 재평가해야 하는 핵심 무효화 구간이다.\",\n  \"executive_summary\": \"BTC 4시간 구조는 현재 $62,450.40에서 EMA20 $63,702.88, EMA120 $65,288.29, EMA240 $68,481.25를 모두 하회하고 있어 regime-level 판독은 bearish가 우세하다. Wyckoff 관점에서는 과거 축적 구조가 존재하지만, 현재 활성 4시간 구간은 $65,597.20 UTAD 이후 $62,532.40 SOW와 $61,870.00 Phase E성 저점이 나타난 분배 말기 또는 재구조화 국면으로 해석하는 것이 더 적절하다. 핵심 구조 레벨은 하단 $61,870.00, 상단 $63,220.00-$63,702.88, 그리고 중단 무효화 전 단계인 $64,250.00-$64,562.70이다. 다만 $62,527.12-$63,386.13 harmonic bullish PRZ와 고거래량 doji가 현재가 인근에 있어, 구조 약세 속에서도 하단 흡수·spring성 반응 리스크는 조건으로 남아 있다. bearish 구조 진단은 $65,597.20 상방 회복 및 유지 시 재평가해야 한다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.69,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.56,
    "waypoints": [
      {
        "seq": 1,
        "price": 63500.0,
        "type": "resistance_test",
        "source": "derivatives, harmonic, candlestick, ict",
        "description": "7일 저점 $61,870 부근 고거래량 doji 흡수로 즉시 추격매도 모멘텀이 둔화되어, 과밀 숏을 터는 단기 숏스퀴즈성 반등이 먼저 나올 위치다. 깨진 전일 저가 $63,220 저항 → Harmonic Bat PRZ 상단 $63,386 → derivatives 최강 청산 클러스터 $63,500 → EMA20 $63,702.88로 이어지는 저항대에서 거절 예상. 추격 매도보다 이 반등을 숏 진입에 활용하는 구간.",
        "est_hours": 5.0,
        "turning_zone": [
          63500.0,
          63740.0
        ],
        "likely_wick": 63710.0,
        "rejection_confirm": 63220.0,
        "invalid_overshoot": 63900.0,
        "calibration_reasoning": "하단은 $63,500 청산 클러스터, 상단은 EMA20 $63,702.88·fib 0.5/0.618 저항 $63,728.72로 turning_zone 설정(폭 ~0.30 ATR). 숏스퀴즈가 EMA20를 일시 쓸어올린 뒤 거절될 가능성이 높아 likely_wick $63,710. $63,220(전일 저가) 하향 이탈 시 거절 확정, $63,740~$64,128 저항 공백 탓에 클러스터 상향 돌파($63,900) 시 즉시 무효."
      },
      {
        "seq": 2,
        "price": 61870.0,
        "type": "liquidity_sweep",
        "source": "ict, derivatives, candlestick, wyckoff",
        "description": "EMA20 $63,702.88 거절 후, account_long_crowding 1.000 과밀 롱 청산과 CVD -4505.38(매수 방어 약화)이 하방 유동성으로 작동. ICT가 우선 지목한 7일 저점 $61,870 sell-side 유동성 재공격이자 Wyckoff Phase E성 저점/SOW 레벨. 파생 데이터 4-8h 선행성을 감안한 핵심 약세 타깃.",
        "est_hours": 15.0,
        "turning_zone": [
          61600.0,
          61870.0
        ],
        "likely_wick": 61700.0,
        "rejection_confirm": 62200.0,
        "invalid_overshoot": 61500.0,
        "calibration_reasoning": "7일 저점 $61,870 아래 sell-side 유동성을 노리는 스윕으로, chairman 지지 $61,700·$61,600 유동성 풀을 포함해 zone [$61,600, $61,870](~0.33 ATR) 설정. 1차 지지 $61,700에서 스프링 likely_wick. $62,200 회복 시 반등 확정, $61,500 하향 이탈 시 흡수 실패로 WP3 확장."
      },
      {
        "seq": 3,
        "price": 61461.0,
        "type": "extension",
        "source": "derivatives, ict, harmonic, fibonacci",
        "description": "$61,870 doji 흡수가 실패하고 셋업 약세(76%)가 우위를 점하면, derivatives의 $61,700-$61,600 추가 유동성을 거쳐 Harmonic 다음 지지 $61,461로 확장. 단, $61,870에서 흡수성 spring 반등이 나오면 이 구간은 미달될 수 있어 turning zone을 넓게 본다(약세 구조 유지하 lower-high 거절 시나리오로 대체 가능).",
        "est_hours": 21.0,
        "turning_zone": [
          61000.0,
          61461.0
        ],
        "likely_wick": 61100.0,
        "rejection_confirm": 61600.0,
        "invalid_overshoot": 60850.0,
        "calibration_reasoning": "무효 가능성이 큰 확장·종착 구간이라 넓은 zone(~0.57 ATR). 미확정 Harmonic 지지 $61,461보다 $61,000 라운드넘버 마그넷과 chairman 지지 $61,013.8가 실질 바닥이므로 zone을 [$61,000, $61,461]로 넓히고 likely_wick을 마그넷 쪽 $61,100으로 바이어스. $61,600 회복 시 확정, $60,850 이탈 시 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 63220.0,
        "expected_low": 62315.0,
        "high_first": false
      },
      "8h": {
        "expected_high": 63500.0,
        "expected_low": 62200.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 63500.0,
        "expected_low": 61461.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 63702.88,
        "description": "EMA20 $63,702.88를 종가 기준 회복·유지하면 반등 거절 시나리오가 약화된다. 이어 $64,250 bullish BOS 재탈환과 $64,562.70 EQ 회복 시 discount→equilibrium 전환으로 상방 가속, 본 약세 경로 신뢰도 급감."
      },
      "bearish": {
        "price": 61870.0,
        "description": "7일 저점 $61,870을 종가 기준 하향 이탈하면 sell-side 유동성 확보와 doji 흡수 실패가 확정되어 $61,700·$61,600·$61,461·$61,013 방향 하락 가속. Wyckoff 축적 Phase D 판독도 재검증 대상."
      }
    },
    "scenario_invalidation": 64562.7,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.56,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 63500.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"derivatives, harmonic, candlestick, ict\",\n      \"description\": \"7일 저점 $61,870 부근 고거래량 doji 흡수로 즉시 추격매도 모멘텀이 둔화되어, 과밀 숏을 터는 단기 숏스퀴즈성 반등이 먼저 나올 위치다. 깨진 전일 저가 $63,220 저항 → Harmonic Bat PRZ 상단 $63,386 → derivatives 최강 청산 클러스터 $63,500 → EMA20 $63,702.88로 이어지는 저항대에서 거절 예상. 추격 매도보다 이 반등을 숏 진입에 활용하는 구간.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 61870.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ict, derivatives, candlestick, wyckoff\",\n      \"description\": \"EMA20 $63,702.88 거절 후, account_long_crowding 1.000 과밀 롱 청산과 CVD -4505.38(매수 방어 약화)이 하방 유동성으로 작동. ICT가 우선 지목한 7일 저점 $61,870 sell-side 유동성 재공격이자 Wyckoff Phase E성 저점/SOW 레벨. 파생 데이터 4-8h 선행성을 감안한 핵심 약세 타깃.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 61461.0,\n      \"type\": \"extension\",\n      \"source\": \"derivatives, ict, harmonic, fibonacci\",\n      \"description\": \"$61,870 doji 흡수가 실패하고 셋업 약세(76%)가 우위를 점하면, derivatives의 $61,700-$61,600 추가 유동성을 거쳐 Harmonic 다음 지지 $61,461로 확장. 단, $61,870에서 흡수성 spring 반등이 나오면 이 구간은 미달될 수 있어 turning zone을 넓게 본다(약세 구조 유지하 lower-high 거절 시나리오로 대체 가능).\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 63220.0, \"expected_low\": 62315.0, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 63500.0, \"expected_low\": 62200.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 63500.0, \"expected_low\": 61461.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 63702.88,\n      \"description\": \"EMA20 $63,702.88를 종가 기준 회복·유지하면 반등 거절 시나리오가 약화된다. 이어 $64,250 bullish BOS 재탈환과 $64,562.70 EQ 회복 시 discount→equilibrium 전환으로 상방 가속, 본 약세 경로 신뢰도 급감.\"\n    },\n    \"bearish\": {\n      \"price\": 61870.0,\n      \"description\": \"7일 저점 $61,870을 종가 기준 하향 이탈하면 sell-side 유동성 확보와 doji 흡수 실패가 확정되어 $61,700·$61,600·$61,461·$61,013 방향 하락 가속. Wyckoff 축적 Phase D 판독도 재검증 대상.\"\n    }\n  },\n  \"scenario_invalidation\": 64562.7\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 63500.0,
        "turning_zone": [
          63500.0,
          63740.0
        ],
        "likely_wick": 63710.0,
        "rejection_confirm": 63220.0,
        "invalid_overshoot": 63900.0,
        "calibration_reasoning": "하단은 $63,500 청산 클러스터, 상단은 EMA20 $63,702.88·fib 0.5/0.618 저항 $63,728.72로 turning_zone 설정(폭 ~0.30 ATR). 숏스퀴즈가 EMA20를 일시 쓸어올린 뒤 거절될 가능성이 높아 likely_wick $63,710. $63,220(전일 저가) 하향 이탈 시 거절 확정, $63,740~$64,128 저항 공백 탓에 클러스터 상향 돌파($63,900) 시 즉시 무효."
      },
      {
        "seq": 2,
        "base_target": 61870.0,
        "turning_zone": [
          61600.0,
          61870.0
        ],
        "likely_wick": 61700.0,
        "rejection_confirm": 62200.0,
        "invalid_overshoot": 61500.0,
        "calibration_reasoning": "7일 저점 $61,870 아래 sell-side 유동성을 노리는 스윕으로, chairman 지지 $61,700·$61,600 유동성 풀을 포함해 zone [$61,600, $61,870](~0.33 ATR) 설정. 1차 지지 $61,700에서 스프링 likely_wick. $62,200 회복 시 반등 확정, $61,500 하향 이탈 시 흡수 실패로 WP3 확장."
      },
      {
        "seq": 3,
        "base_target": 61461.0,
        "turning_zone": [
          61000.0,
          61461.0
        ],
        "likely_wick": 61100.0,
        "rejection_confirm": 61600.0,
        "invalid_overshoot": 60850.0,
        "calibration_reasoning": "무효 가능성이 큰 확장·종착 구간이라 넓은 zone(~0.57 ATR). 미확정 Harmonic 지지 $61,461보다 $61,000 라운드넘버 마그넷과 chairman 지지 $61,013.8가 실질 바닥이므로 zone을 [$61,000, $61,461]로 넓히고 likely_wick을 마그넷 쪽 $61,100으로 바이어스. $61,600 회복 시 확정, $60,850 이탈 시 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 63500.0,\n      \"turning_zone\": [63500.0, 63740.0],\n      \"likely_wick\": 63710.0,\n      \"rejection_confirm\": 63220.0,\n      \"invalid_overshoot\": 63900.0,\n      \"calibration_reasoning\": \"하단은 $63,500 청산 클러스터, 상단은 EMA20 $63,702.88·fib 0.5/0.618 저항 $63,728.72로 turning_zone 설정(폭 ~0.30 ATR). 숏스퀴즈가 EMA20를 일시 쓸어올린 뒤 거절될 가능성이 높아 likely_wick $63,710. $63,220(전일 저가) 하향 이탈 시 거절 확정, $63,740~$64,128 저항 공백 탓에 클러스터 상향 돌파($63,900) 시 즉시 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 61870.0,\n      \"turning_zone\": [61600.0, 61870.0],\n      \"likely_wick\": 61700.0,\n      \"rejection_confirm\": 62200.0,\n      \"invalid_overshoot\": 61500.0,\n      \"calibration_reasoning\": \"7일 저점 $61,870 아래 sell-side 유동성을 노리는 스윕으로, chairman 지지 $61,700·$61,600 유동성 풀을 포함해 zone [$61,600, $61,870](~0.33 ATR) 설정. 1차 지지 $61,700에서 스프링 likely_wick. $62,200 회복 시 반등 확정, $61,500 하향 이탈 시 흡수 실패로 WP3 확장.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 61461.0,\n      \"turning_zone\": [61000.0, 61461.0],\n      \"likely_wick\": 61100.0,\n      \"rejection_confirm\": 61600.0,\n      \"invalid_overshoot\": 60850.0,\n      \"calibration_reasoning\": \"무효 가능성이 큰 확장·종착 구간이라 넓은 zone(~0.57 ATR). 미확정 Harmonic 지지 $61,461보다 $61,000 라운드넘버 마그넷과 chairman 지지 $61,013.8가 실질 바닥이므로 zone을 [$61,000, $61,461]로 넓히고 likely_wick을 마그넷 쪽 $61,100으로 바이어스. $61,600 회복 시 확정, $60,850 이탈 시 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 52.8,
      "chairman": 78.8,
      "operating_path": 429.8,
      "tp_calibrator": 398.1
    },
    "agents": {},
    "total_s": 959.8
  }
}