{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-05-24 13:00 KST",
  "last_price": 76767.1,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.54,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $76,767.10이 EMA20 $77,862.57 및 EMA120 $77,701.65 아래에 위치해 단기·중기 평균선 저항을 받고 있음",
        "7일 고점 $78,180.00 부근에서 evening_star@297 및 bearish_engulfing@297 후보가 발생해 단기 공급 반응 가능성",
        "최근 doji@296 이후 약한 반등만 이어졌고, 마지막 5개 캔들 중 -2.7% 하락 캔들이 가장 강한 방향성을 보임",
        "현재가가 EMA240 $84,804.56 대비 -9.5% 아래에 있어 장기 구조상 회복보다 저항 우위",
        "bear_score 1.55, bull_score 0으로 캔들 패턴 점수는 매도 쪽에 편향"
      ],
      "reasoning": "BTC/USDT는 현재 $76,767.10으로 EMA20 $77,862.57과 EMA120 $77,701.65 아래에 머물며 단기 반등이 평균선 저항을 넘지 못하고 있습니다. 최근 패턴은 bearish_engulfing@297, evening_star@297, doji@296으로 모두 7일 고점 $78,180.00 근처의 상단 저항 구간에서 발생했지만, 최고 품질 점수는 0.453으로 강한 확정 신호라기보다는 후보 단계입니다. 구조적으로는 EMA240 $84,804.56보다 9.5% 낮아 중장기 약세 압력이 유지되며, 단기 지지로는 7일 저점 $74,203.60이 핵심입니다. 다만 high_volume_patterns가 없고 거래량 확인이 부족하므로 하락 신호의 신뢰도는 중간 수준으로 제한됩니다.",
      "key_levels": {
        "support": [
          74203.6,
          74784.06,
          76767.1
        ],
        "resistance": [
          77701.65,
          77862.57,
          78180,
          84804.56
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,180.00 상향 돌파 및 일봉 종가 안착",
      "risk_scenario": "만약 가격이 $78,180.00을 돌파하고 EMA20 $77,862.57 및 EMA120 $77,701.65 위에서 안착하면 bearish engulfing과 evening star 후보는 실패 신호가 되며, 숏 커버링으로 EMA240 $84,804.56 방향의 반등 시나리오가 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 135,
        "recent_patterns": 3,
        "pattern_list": [
          "bearish_engulfing@297",
          "evening_star@297",
          "doji@296"
        ],
        "atr_value": 1983.04,
        "vol_avg_20": 119485.6,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.453,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.428,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.453,
        "bull_score": 0,
        "bear_score": 1.55
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $76,767.10이 EMA20 $77,862.57 및 EMA120 $77,701.65 아래에 위치해 단기·중기 평균선 저항을 받고 있음\",\n    \"7일 고점 $78,180.00 부근에서 evening_star@297 및 bearish_engulfing@297 후보가 발생해 단기 공급 반응 가능성\",\n    \"최근 doji@296 이후 약한 반등만 이어졌고, 마지막 5개 캔들 중 -2.7% 하락 캔들이 가장 강한 방향성을 보임\",\n    \"현재가가 EMA240 $84,804.56 대비 -9.5% 아래에 있어 장기 구조상 회복보다 저항 우위\",\n    \"bear_score 1.55, bull_score 0으로 캔들 패턴 점수는 매도 쪽에 편향\"\n  ],\n  \"reasoning\": \"BTC/USDT는 현재 $76,767.10으로 EMA20 $77,862.57과 EMA120 $77,701.65 아래에 머물며 단기 반등이 평균선 저항을 넘지 못하고 있습니다. 최근 패턴은 bearish_engulfing@297, evening_star@297, doji@296으로 모두 7일 고점 $78,180.00 근처의 상단 저항 구간에서 발생했지만, 최고 품질 점수는 0.453으로 강한 확정 신호라기보다는 후보 단계입니다. 구조적으로는 EMA240 $84,804.56보다 9.5% 낮아 중장기 약세 압력이 유지되며, 단기 지지로는 7일 저점 $74,203.60이 핵심입니다. 다만 high_volume_patterns가 없고 거래량 확인이 부족하므로 하락 신호의 신뢰도는 중간 수준으로 제한됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      74203.6,\n      74784.06,\n      76767.1\n    ],\n    \"resistance\": [\n      77701.65,\n      77862.57,\n      78180,\n      84804.56\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,180.00 상향 돌파 및 일봉 종가 안착\",\n  \"risk_scenario\": \"만약 가격이 $78,180.00을 돌파하고 EMA20 $77,862.57 및 EMA120 $77,701.65 위에서 안착하면 bearish engulfing과 evening star 후보는 실패 신호가 되며, 숏 커버링으로 EMA240 $84,804.56 방향의 반등 시나리오가 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $76,767.10은 스윙 EQ ret_0.5 $78,848.35 아래의 할인 구간에 위치",
        "가격이 ret_0.786 지지 $76,571.59를 +0.25% 거리에서 테스트 중",
        "0.786 되돌림에서 fib_reaction_state가 testing이며 reaction_probability가 0.65로 단기 반등 후보",
        "상방 확인 조건은 황금비 ret_0.618 $77,908.99 회복 및 안착",
        "미회복 저항은 ret_0.5 $78,848.35와 ret_0.382 $79,787.71로, 반등 시 매물 확인 구간"
      ],
      "reasoning": "BTC는 $74,868 → $82,829 상승 스윙의 깊은 되돌림 구간에 있으며, 현재가 $76,767.10은 ret_0.786 $76,571.59 바로 위에서 지지를 테스트하고 있습니다. 구조적으로는 스윙 저점 $74,868이 아직 이탈되지 않았지만, 가격이 ret_0.618 황금비 $77,908.99와 EMA20 $77,862.57 아래에 있어 확정적 bullish 구조로 보기는 어렵습니다. 셋업 관점에서는 EQ인 ret_0.5 $78,848.35 아래 할인 구간에서 0.786 지지를 테스트하고 있어 단기 반등 셋업은 존재하지만, $77,908.99 회복 전까지는 확인 전 단계입니다. 상방으로는 $77,908.99, $78,848.35, $79,787.71이 순차 저항이며, 강한 확장 목표는 ext_1.272 $84,994.01 및 confluence zone $85,081.03입니다.",
      "key_levels": {
        "support": [
          76571.59,
          74868.0
        ],
        "resistance": [
          77908.99,
          78848.35,
          79787.71,
          82828.7,
          84994.01,
          85081.03
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$74,868.00",
      "risk_scenario": "반대로 $76,571.59의 0.786 지지가 무너지고 특히 스윙 저점 $74,868.00 아래로 일봉 종가가 확정되면, 현재의 상승 스윙 기반 피보나치 반등 셋업은 실패로 간주됩니다. 이 경우 시장은 단순 깊은 되돌림이 아니라 하락 구조 전환으로 해석될 수 있으며, $77,908.99와 $78,848.35는 반등 시 저항으로 재작동할 가능성이 큽니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $74,868 → $82,829",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 76571.59,
        "nearest_fib_distance": 0.25,
        "golden_ratio_level": 77908.99,
        "fib_ret_382": 79787.71,
        "fib_ret_618": 77908.99,
        "confluence_zones": [
          {
            "price": 85081.03,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          76571.5898
        ],
        "resistance_levels": [
          77908.9874,
          78848.35,
          79787.7126
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 80949.97,
            "distance_pct": 5.45,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 79787.71,
            "distance_pct": 3.93,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 78848.35,
            "distance_pct": 2.71,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77908.99,
            "distance_pct": 1.49,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 76571.59,
            "distance_pct": 0.25,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 82828.7,
            "distance_pct": 7.9,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 84994.01,
            "distance_pct": 10.72,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 86124.43,
            "distance_pct": 12.19,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 87748.41,
            "distance_pct": 14.3,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 90789.4,
            "distance_pct": 18.27,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $76,767.10은 스윙 EQ ret_0.5 $78,848.35 아래의 할인 구간에 위치\",\n    \"가격이 ret_0.786 지지 $76,571.59를 +0.25% 거리에서 테스트 중\",\n    \"0.786 되돌림에서 fib_reaction_state가 testing이며 reaction_probability가 0.65로 단기 반등 후보\",\n    \"상방 확인 조건은 황금비 ret_0.618 $77,908.99 회복 및 안착\",\n    \"미회복 저항은 ret_0.5 $78,848.35와 ret_0.382 $79,787.71로, 반등 시 매물 확인 구간\"\n  ],\n  \"reasoning\": \"BTC는 $74,868 → $82,829 상승 스윙의 깊은 되돌림 구간에 있으며, 현재가 $76,767.10은 ret_0.786 $76,571.59 바로 위에서 지지를 테스트하고 있습니다. 구조적으로는 스윙 저점 $74,868이 아직 이탈되지 않았지만, 가격이 ret_0.618 황금비 $77,908.99와 EMA20 $77,862.57 아래에 있어 확정적 bullish 구조로 보기는 어렵습니다. 셋업 관점에서는 EQ인 ret_0.5 $78,848.35 아래 할인 구간에서 0.786 지지를 테스트하고 있어 단기 반등 셋업은 존재하지만, $77,908.99 회복 전까지는 확인 전 단계입니다. 상방으로는 $77,908.99, $78,848.35, $79,787.71이 순차 저항이며, 강한 확장 목표는 ext_1.272 $84,994.01 및 confluence zone $85,081.03입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76571.59,\n      74868.0\n    ],\n    \"resistance\": [\n      77908.99,\n      78848.35,\n      79787.71,\n      82828.7,\n      84994.01,\n      85081.03\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$74,868.00\",\n  \"risk_scenario\": \"반대로 $76,571.59의 0.786 지지가 무너지고 특히 스윙 저점 $74,868.00 아래로 일봉 종가가 확정되면, 현재의 상승 스윙 기반 피보나치 반등 셋업은 실패로 간주됩니다. 이 경우 시장은 단순 깊은 되돌림이 아니라 하락 구조 전환으로 해석될 수 있으며, $77,908.99와 $78,848.35는 반등 시 저항으로 재작동할 가능성이 큽니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.63,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.753,
      "setup_signals": [
        "현재가 $76,767.10이 최근 확인된 bullish BOS 레벨 $75,998.90 위에서 유지 중",
        "현재가가 EQ $74,702.10 위의 premium 영역에 있으나, 구조 기준선 $75,998.90을 아직 방어 중",
        "이전일 저가 $74,203.60을 이탈하지 않아 sell-side liquidity sweep 또는 약세 전환 확인 없음",
        "활성 bearish OB와 미충족 bearish FVG가 없어 즉각적인 상단 공급 배열이 제한적",
        "bull_score 7.50이 bear_score 6.90보다 우위"
      ],
      "reasoning": "확정 구조는 최근 bullish BOS가 $75,998.90에서 발생했고 현재가 $76,767.10이 그 위에 머물러 있으므로 단기 구조는 bullish로 판단한다. 다만 가격은 EQ $74,702.10 위의 premium 영역에 있으며 EMA20 $77,862.57, 7일 고점 $78,180.00, range high $82,828.70이 상단 저항으로 작동할 수 있어 추격 매수의 질은 높지 않다. OB는 활성 구간이 없고 미충족 FVG도 0개라 기관 주문 블록 기반의 강한 자석 레벨은 부족하지만, 이전일 저가 $74,203.60이 보존되고 최근 bearish sweep 신호도 없어 하방 전환 확인은 아직 없다. 따라서 구조는 bullish, 실행 setup도 bullish로 보되 premium 위치 때문에 신뢰도는 중간 수준으로 제한한다.",
      "key_levels": {
        "support": [
          75998.9,
          74702.1,
          74203.6,
          66575.5
        ],
        "resistance": [
          77427.0,
          77862.57,
          78180.0,
          82828.7,
          84408.6,
          84804.56
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$74,203.60 일봉 종가 이탈",
      "risk_scenario": "반대 시나리오는 가격이 $75,998.90 bullish BOS 레벨을 재이탈한 뒤 이전일 저가 $74,203.60까지 밀리며 sell-side 유동성을 노리는 흐름이다. 특히 $74,203.60 아래에서 일봉 종가가 형성되면 EQ $74,702.10 위 프리미엄 지지 논리가 무효화되고, $66,575.50 range low 방향의 재가격 조정 위험이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 67,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 117875.2
          },
          {
            "type": "CHoCH_bearish",
            "level": 108566.0
          },
          {
            "type": "BOS_bearish",
            "level": 101516.5
          },
          {
            "type": "BOS_bullish",
            "level": 94555.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 84408.6
          },
          {
            "type": "BOS_bullish",
            "level": 75998.9
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 74702.1,
        "range_high": 82828.7,
        "range_low": 66575.5,
        "bull_score": 7.5,
        "bear_score": 6.9,
        "setup_bias": "bullish",
        "setup_score": 0.753,
        "setup_signals": [
          "bullish BOS above $117,875.20",
          "bullish BOS above $94,555.00",
          "bullish BOS above $75,998.90"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 48.2,
        "deepest_retracement_pct": 48.2,
        "previous_day_high": 77427.0,
        "previous_day_low": 74203.6,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.63,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.753,\n  \"setup_signals\": [\n    \"현재가 $76,767.10이 최근 확인된 bullish BOS 레벨 $75,998.90 위에서 유지 중\",\n    \"현재가가 EQ $74,702.10 위의 premium 영역에 있으나, 구조 기준선 $75,998.90을 아직 방어 중\",\n    \"이전일 저가 $74,203.60을 이탈하지 않아 sell-side liquidity sweep 또는 약세 전환 확인 없음\",\n    \"활성 bearish OB와 미충족 bearish FVG가 없어 즉각적인 상단 공급 배열이 제한적\",\n    \"bull_score 7.50이 bear_score 6.90보다 우위\"\n  ],\n  \"reasoning\": \"확정 구조는 최근 bullish BOS가 $75,998.90에서 발생했고 현재가 $76,767.10이 그 위에 머물러 있으므로 단기 구조는 bullish로 판단한다. 다만 가격은 EQ $74,702.10 위의 premium 영역에 있으며 EMA20 $77,862.57, 7일 고점 $78,180.00, range high $82,828.70이 상단 저항으로 작동할 수 있어 추격 매수의 질은 높지 않다. OB는 활성 구간이 없고 미충족 FVG도 0개라 기관 주문 블록 기반의 강한 자석 레벨은 부족하지만, 이전일 저가 $74,203.60이 보존되고 최근 bearish sweep 신호도 없어 하방 전환 확인은 아직 없다. 따라서 구조는 bullish, 실행 setup도 bullish로 보되 premium 위치 때문에 신뢰도는 중간 수준으로 제한한다.\",\n  \"key_levels\": {\n    \"support\": [\n      75998.9,\n      74702.1,\n      74203.6,\n      66575.5\n    ],\n    \"resistance\": [\n      77427.0,\n      77862.57,\n      78180.0,\n      82828.7,\n      84408.6,\n      84804.56\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$74,203.60 일봉 종가 이탈\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $75,998.90 bullish BOS 레벨을 재이탈한 뒤 이전일 저가 $74,203.60까지 밀리며 sell-side 유동성을 노리는 흐름이다. 특히 $74,203.60 아래에서 일봉 종가가 형성되면 EQ $74,702.10 위 프리미엄 지지 논리가 무효화되고, $66,575.50 range low 방향의 재가격 조정 위험이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $76,767.10은 7일 범위 EQ $76,191.80 위의 프리미엄 구간에 위치하지만, EMA20 $77,862.57 및 EMA120 $77,701.65 아래에서 수용 중",
        "CVD 변화 -286.4330 및 cvd_divergence 0.300으로 가격 반등 대비 매수 주도 참여가 약함",
        "OI 24h -1.8470%로 신규 롱 유입보다 포지션 언와인딩 성격이 강함",
        "롱 계정 비율 0.552, account_long_crowding 0.640으로 여전히 롱 쪽이 상대적으로 crowded한 contrarian bearish 조건",
        "상단 $77,800, $78,200, $78,900에 청산 클러스터가 있으며, 특히 strongest_liq_level $77,800은 단기 상방 스윕 후 거절 가능 구간"
      ],
      "reasoning": "확정 구조 관점에서는 7일 고점 $78,180과 저점 $74,203.60 사이 박스권 내부이며 명확한 BOS/CHoCH 확인이 없어 structure_bias는 neutral로 본다. 다만 세팅 관점에서는 현재가 $76,767.10이 7일 EQ $76,191.80 위 프리미엄에 있으면서 EMA20 $77,862.57, EMA120 $77,701.65 아래에 머물러 반등의 질이 약하다. OI가 24시간 -1.8470% 감소하고 CVD도 -286.4330으로 약해, 상승 시 신규 매수보다 숏커버/언와인딩 가능성이 높다. 롱 계정 비율은 0.552로 여전히 롱이 우세하고 account_long_crowding 0.640이므로, $77,800-$78,200 상단 유동성 스윕 이후 하방 재개 리스크가 더 크다.",
      "key_levels": {
        "support": [
          76600,
          75900,
          74203.6,
          69300
        ],
        "resistance": [
          77800,
          78180,
          78200,
          78900
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,200 일봉 종가 상향 수용",
      "risk_scenario": "$77,800의 strongest liquidation level을 스윕한 뒤에도 가격이 $78,200 위에서 수용되면 숏 포지션 청산이 연쇄적으로 발생할 수 있으며, 다음 상단 유동성 $78,900까지 빠른 숏스퀴즈가 전개될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -286.433,
        "oi_trend": 0.315,
        "oi_change_pct_24h": -1.847,
        "oi_latest": 102944.406,
        "funding_pressure": 0.452,
        "funding_avg": 4.823e-05,
        "funding_change_24h": 7.261e-05,
        "long_account_ratio": 0.577,
        "short_account_ratio": 0.423,
        "long_account_latest": 0.552,
        "short_account_latest": 0.448,
        "long_account_change_24h": -0.0491,
        "short_account_change_24h": 0.0491,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.64,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0445,
        "basis_change_lookback": 0.0055,
        "aggregate_score": 0.311,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            76600,
            99989.3331712
          ],
          [
            75900,
            89487.28143135
          ],
          [
            69300,
            74693.16745575001
          ]
        ],
        "liq_above": [
          [
            77800,
            103160.25978524999
          ],
          [
            78200,
            69917.74759635
          ],
          [
            78900,
            90863.7922295
          ]
        ],
        "strongest_liq_level": 77800,
        "fragility_score": 0.528,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $76,767.10은 7일 범위 EQ $76,191.80 위의 프리미엄 구간에 위치하지만, EMA20 $77,862.57 및 EMA120 $77,701.65 아래에서 수용 중\",\n    \"CVD 변화 -286.4330 및 cvd_divergence 0.300으로 가격 반등 대비 매수 주도 참여가 약함\",\n    \"OI 24h -1.8470%로 신규 롱 유입보다 포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율 0.552, account_long_crowding 0.640으로 여전히 롱 쪽이 상대적으로 crowded한 contrarian bearish 조건\",\n    \"상단 $77,800, $78,200, $78,900에 청산 클러스터가 있으며, 특히 strongest_liq_level $77,800은 단기 상방 스윕 후 거절 가능 구간\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 7일 고점 $78,180과 저점 $74,203.60 사이 박스권 내부이며 명확한 BOS/CHoCH 확인이 없어 structure_bias는 neutral로 본다. 다만 세팅 관점에서는 현재가 $76,767.10이 7일 EQ $76,191.80 위 프리미엄에 있으면서 EMA20 $77,862.57, EMA120 $77,701.65 아래에 머물러 반등의 질이 약하다. OI가 24시간 -1.8470% 감소하고 CVD도 -286.4330으로 약해, 상승 시 신규 매수보다 숏커버/언와인딩 가능성이 높다. 롱 계정 비율은 0.552로 여전히 롱이 우세하고 account_long_crowding 0.640이므로, $77,800-$78,200 상단 유동성 스윕 이후 하방 재개 리스크가 더 크다.\",\n  \"key_levels\": {\n    \"support\": [\n      76600,\n      75900,\n      74203.6,\n      69300\n    ],\n    \"resistance\": [\n      77800,\n      78180,\n      78200,\n      78900\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,200 일봉 종가 상향 수용\",\n  \"risk_scenario\": \"$77,800의 strongest liquidation level을 스윕한 뒤에도 가격이 $78,200 위에서 수용되면 숏 포지션 청산이 연쇄적으로 발생할 수 있으며, 다음 상단 유동성 $78,900까지 빠른 숏스퀴즈가 전개될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.38,
      "setup_signals": [
        "할인 구간: 현재가 $76,767.10은 SC $80,600.00 - AR $93,080.00 기준 EQ $86,840.00 아래에 위치",
        "SOS $82,828.70 이후 현재가가 SC/메인 레인지 하단 $80,600.00 아래로 되밀려 Phase D 강세 수용은 아직 미확인",
        "TERMINAL_SPRING $74,868.00 부근이 단기 LPS성 테스트 후보 구간이나, 아직 $80,600.00 재진입 확인 없음",
        "EMA20 $77,862.57 및 EMA120 $77,701.65 아래에 있어 단기 반응은 구조적 강세와 달리 약함"
      ],
      "reasoning": "1일 구조는 regime=ACC, regime_state=confirmed_acc, acc_score=92.5 및 regime_fitness=0.925로 확인된 축적 구조이며, 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 해석된다. 따라서 structure_bias는 bullish이지만, 현재가 $76,767.10은 메인 레인지 하단 $80,600.00과 SOS $82,828.70 아래에 있어 Phase D 이후의 강세 수용이 완전히 확인된 상태는 아니다. 즉각 경로는 $74,868.00 TERMINAL_SPRING/LPS 후보 지지 재시험과 $80,600.00 reclaim 여부가 핵심이며, $80,600.00을 회복하지 못하면 단기적으로는 중립적인 레인지/재테스트 성격이 우세하다. $80,600.00 회복 후 $82,828.70 SOS 고점 재돌파가 나와야 Phase D 강세 해석의 신뢰도가 높아진다.",
      "key_levels": {
        "support": [
          74868.0,
          74203.6,
          65595.7
        ],
        "resistance": [
          80600.0,
          82828.7,
          84408.6,
          93080.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$74,868.00 이탈 시 단기 LPS/Phase D 테스트 해석은 훼손되며, $65,595.70 Spring 저점 이탈 시 현재 축적 구조 자체의 핵심 가정이 무효화된다.",
      "risk_scenario": "$80,600.00을 회복하지 못하고 $74,868.00 아래로 밀리면 SOS 이후의 반응이 실패한 것으로 해석될 수 있으며, 이 경우 가격은 $74,203.60 최근 저점과 $65,595.70 Spring 저점 재검증으로 확장될 수 있다. 반대로 $80,600.00을 회복하고 $82,828.70을 상향 돌파하면 현재 중립적인 setup_bias는 다시 축적 Phase D 강세 쪽으로 개선된다.",
      "data_quality": "high",
      "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": 115,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 122,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 142,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 205,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 274,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 281,
            "price": 82828.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1d_cycle_1",
            "sequence": 1,
            "timeframe": "1d",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 115,
            "end_idx": 281,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 115,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 122,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 142,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 205,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 274,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 281,
                "price": 82828.7,
                "color": "#06d6a0",
                "dt": "2026-05-06 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1d_cycle_1",
        "primary_structure_id": "1d_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80600.0,
        "main_range_high": 93080.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"할인 구간: 현재가 $76,767.10은 SC $80,600.00 - AR $93,080.00 기준 EQ $86,840.00 아래에 위치\",\n    \"SOS $82,828.70 이후 현재가가 SC/메인 레인지 하단 $80,600.00 아래로 되밀려 Phase D 강세 수용은 아직 미확인\",\n    \"TERMINAL_SPRING $74,868.00 부근이 단기 LPS성 테스트 후보 구간이나, 아직 $80,600.00 재진입 확인 없음\",\n    \"EMA20 $77,862.57 및 EMA120 $77,701.65 아래에 있어 단기 반응은 구조적 강세와 달리 약함\"\n  ],\n  \"reasoning\": \"1일 구조는 regime=ACC, regime_state=confirmed_acc, acc_score=92.5 및 regime_fitness=0.925로 확인된 축적 구조이며, 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 해석된다. 따라서 structure_bias는 bullish이지만, 현재가 $76,767.10은 메인 레인지 하단 $80,600.00과 SOS $82,828.70 아래에 있어 Phase D 이후의 강세 수용이 완전히 확인된 상태는 아니다. 즉각 경로는 $74,868.00 TERMINAL_SPRING/LPS 후보 지지 재시험과 $80,600.00 reclaim 여부가 핵심이며, $80,600.00을 회복하지 못하면 단기적으로는 중립적인 레인지/재테스트 성격이 우세하다. $80,600.00 회복 후 $82,828.70 SOS 고점 재돌파가 나와야 Phase D 강세 해석의 신뢰도가 높아진다.\",\n  \"key_levels\": {\n    \"support\": [\n      74868.0,\n      74203.6,\n      65595.7\n    ],\n    \"resistance\": [\n      80600.0,\n      82828.7,\n      84408.6,\n      93080.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$74,868.00 이탈 시 단기 LPS/Phase D 테스트 해석은 훼손되며, $65,595.70 Spring 저점 이탈 시 현재 축적 구조 자체의 핵심 가정이 무효화된다.\",\n  \"risk_scenario\": \"$80,600.00을 회복하지 못하고 $74,868.00 아래로 밀리면 SOS 이후의 반응이 실패한 것으로 해석될 수 있으며, 이 경우 가격은 $74,203.60 최근 저점과 $65,595.70 Spring 저점 재검증으로 확장될 수 있다. 반대로 $80,600.00을 회복하고 $82,828.70을 상향 돌파하면 현재 중립적인 setup_bias는 다시 축적 Phase D 강세 쪽으로 개선된다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.44,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.46,
      "setup_signals": [
        "엄격 등급 고품질 형성 중 bullish Gartley PRZ $74,594.52-$75,813.87, 중심 D $75,204.19가 현재가 $76,767.10보다 약 2.04% 아래에 위치",
        "PRZ confluence 3개: ABCD, BC_EXT, XAD가 동일 구간 $74,594.52-$75,813.87에 수렴",
        "Gartley TP ladder: 반응 확인 시 TP1 $76,828.00, TP2 $77,831.19, TP3/A 구조 유동성 $79,455.00",
        "현재 확인된 Gartley 반응 없음: confirmed_reaction=false, reaction_score=0.0, execution_readiness=watch",
        "상단에는 후보/보고용 bearish PRZ 밀집: $78,130.97-$79,029.67 Bat, $78,094.82-$79,653.08 Butterfly, $79,480.99-$81,461.73 Crab"
      ],
      "reasoning": "현재 1D 하모닉 관점에서 구조를 뒤집을 만한 확인된 BOS/CHoCH 또는 PRZ 반응은 없으므로 structure_bias는 중립이다. 다만 가장 높은 품질의 실행 후보는 strict/high bullish Gartley이며, PRZ는 $74,594.52-$75,813.87, 예상 D는 $75,204.19로 현재가 $76,767.10보다 약 2.04% 아래에 있어 하락 시 매수 반응 후보 구간이다. 이 PRZ는 ABCD, BC extension, XAD 3개 Fib family가 겹친 high-confluence zone이고 pattern_score 0.884, PRZ score 1.0으로 품질은 높지만 아직 confirmed_reaction=false라 단독 방향 전환 근거는 아니다. 따라서 본 하모닉 판정은 즉시 강세 신호가 아니라, $75.8k-$74.6k 진입 후 rejection, sweep→reclaim, 15m/1h MSS 또는 CVD/OI 확인이 나오면 bullish setup이 vote-eligible로 승격되는 대기 시나리오다.",
      "key_levels": {
        "support": [
          75813.87,
          75204.19,
          74594.52,
          73669.0
        ],
        "resistance": [
          76828.0,
          77831.19,
          78180.0,
          79455.0,
          80471.36
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$74,594.52 일봉 종가 하회 및 PRZ 방어 실패; 더 강한 무효화는 Gartley X 가격 $73,669.00 이탈",
      "risk_scenario": "가격이 $74,594.52-$75,813.87 bullish Gartley PRZ에서 반등하지 못하고 하단을 수용하면, 하모닉 매수 후보는 실패하며 $73,669.00 X 저점 재시험 또는 그 아래 유동성 탐색으로 전환될 수 있다. 반대로 가격이 PRZ까지 내려오지 않고 $78,130-$79,653 상단 후보 bearish PRZ로 직행하면, Bat/Butterfly/Crab 계열의 상방 반전 리스크 구간에서 매도 반응이 먼저 발생할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 256,
        "completed_patterns_found": 93,
        "forming_d_prz_found": 163,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "1d",
        "prz_active_threshold_pct": 1.0,
        "prz_nearby_threshold_pct": 2.0,
        "prz_watch_threshold_pct": 4.0,
        "prz_max_width_pct": 1.8,
        "quality_counts": {
          "high": 3,
          "medium": 70,
          "low": 183
        },
        "prz_status_counts": {
          "active": 42,
          "nearby": 22,
          "watch": 30,
          "far": 162,
          "forming": 116
        },
        "high_confluence_prz_count": 18,
        "strict_patterns_found": 66,
        "candidate_patterns_found": 190,
        "active_patterns_at_prz": 42,
        "nearby_patterns": 22,
        "all_patterns": [
          "gartley",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "bat",
          "shark",
          "crab",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "bat",
          "bat",
          "crab",
          "gartley",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "gartley",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "shark",
          "gartley",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.884,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 76797.67,
        "price_to_prz": 0.04,
        "prz_range": [
          75915.96,
          77679.37
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75204.19,
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_width_pct": 1.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.04,
            "price_to_prz_pct_raw": -2.0359,
            "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": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294
            },
            "x_price": 73669.0,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.858,
            "ratio_score": 1.0,
            "prz_score": 0.914,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 80471.36,
            "prz_range": [
              79480.99,
              81461.73
            ],
            "prz_width_pct": 2.461,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.83,
            "price_to_prz_pct_raw": 4.8253,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 80471.36,
              "a_price": 67300.0,
              "tp1_ad_382": 75439.9,
              "tp2_ad_618": 72331.46,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5403,
              "ABC": 0.6102
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.776,
            "ratio_score": 0.583,
            "prz_score": 0.983,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78891.87,
            "prz_range": [
              78130.63,
              79653.1
            ],
            "prz_width_pct": 1.93,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.77,
            "price_to_prz_pct_raw": 2.7678,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78891.87,
              "a_price": 67300.0,
              "tp1_ad_382": 74463.77,
              "tp2_ad_618": 71728.09,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.742,
            "ratio_score": 0.57,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              77355.12,
              78703.8
            ],
            "prz_width_pct": 1.728,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.64,
            "price_to_prz_pct_raw": 1.6444,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.3,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 78029.46,
              "a_price": 64918.2,
              "tp1_ad_382": 73020.96,
              "tp2_ad_618": 69926.7,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 1.0026,
              "BCD": 1.0297,
              "XAD": 1.1968
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.695,
            "ratio_score": 0.528,
            "prz_score": 0.977,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              78094.82,
              79653.08
            ],
            "prz_width_pct": 1.976,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.74,
            "price_to_prz_pct_raw": 2.7445,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.365,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78873.95,
              "a_price": 67300.0,
              "tp1_ad_382": 74452.7,
              "tp2_ad_618": 71721.25,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102,
              "BCD": 1.1548,
              "XAD": 1.6127
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 296
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.857,
            "ratio_score": 0.94,
            "prz_score": 0.798,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 76349.56,
            "prz_range": [
              75066.09,
              77633.02
            ],
            "prz_width_pct": 3.362,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.54,
            "price_to_prz_pct_raw": -0.5439,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 76349.56,
              "a_price": 65569.2,
              "tp1_ad_382": 72231.46,
              "tp2_ad_618": 69687.3,
              "tp3_a_or_structure_liquidity": 65569.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4387,
              "ABC": 1.1781
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 222,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.838,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 74874.67,
            "prz_range": [
              74356.58,
              75392.76
            ],
            "prz_width_pct": 1.384,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -2.47,
            "price_to_prz_pct_raw": -2.4652,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 74874.67,
              "a_price": 71999.9,
              "tp1_ad_382": 73776.51,
              "tp2_ad_618": 73098.06,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.446,
              "ABC": 1.1548
            },
            "x_price": 65569.2,
            "x_idx": 222,
            "x_order": 5,
            "a_price": 71999.9,
            "a_idx": 239,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 274,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.829,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78580.32,
            "prz_range": [
              78130.97,
              79029.67
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 2.36,
            "price_to_prz_pct_raw": 2.362,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 78580.32,
              "a_price": 62401.7,
              "tp1_ad_382": 72400.09,
              "tp2_ad_618": 68581.93,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4131,
              "ABC": 0.5794
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62401.7,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75204.19,
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_width_pct": 1.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.04,
            "price_to_prz_pct_raw": -2.0359,
            "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": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294
            },
            "x_price": 73669.0,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75204.19,
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_width_pct": 1.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.04,
            "price_to_prz_pct_raw": -2.0359,
            "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": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294
            },
            "x_price": 73669.0,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.858,
            "ratio_score": 1.0,
            "prz_score": 0.914,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 80471.36,
            "prz_range": [
              79480.99,
              81461.73
            ],
            "prz_width_pct": 2.461,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.83,
            "price_to_prz_pct_raw": 4.8253,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 80471.36,
              "a_price": 67300.0,
              "tp1_ad_382": 75439.9,
              "tp2_ad_618": 72331.46,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5403,
              "ABC": 0.6102
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.776,
            "ratio_score": 0.583,
            "prz_score": 0.983,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78891.87,
            "prz_range": [
              78130.63,
              79653.1
            ],
            "prz_width_pct": 1.93,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.77,
            "price_to_prz_pct_raw": 2.7678,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78891.87,
              "a_price": 67300.0,
              "tp1_ad_382": 74463.77,
              "tp2_ad_618": 71728.09,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.742,
            "ratio_score": 0.57,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              77355.12,
              78703.8
            ],
            "prz_width_pct": 1.728,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.64,
            "price_to_prz_pct_raw": 1.6444,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.3,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 78029.46,
              "a_price": 64918.2,
              "tp1_ad_382": 73020.96,
              "tp2_ad_618": 69926.7,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 1.0026,
              "BCD": 1.0297,
              "XAD": 1.1968
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.695,
            "ratio_score": 0.528,
            "prz_score": 0.977,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              78094.82,
              79653.08
            ],
            "prz_width_pct": 1.976,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.74,
            "price_to_prz_pct_raw": 2.7445,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.365,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78873.95,
              "a_price": 67300.0,
              "tp1_ad_382": 74452.7,
              "tp2_ad_618": 71721.25,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102,
              "BCD": 1.1548,
              "XAD": 1.6127
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 296
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.857,
            "ratio_score": 0.94,
            "prz_score": 0.798,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 76349.56,
            "prz_range": [
              75066.09,
              77633.02
            ],
            "prz_width_pct": 3.362,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.54,
            "price_to_prz_pct_raw": -0.5439,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 76349.56,
              "a_price": 65569.2,
              "tp1_ad_382": 72231.46,
              "tp2_ad_618": 69687.3,
              "tp3_a_or_structure_liquidity": 65569.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4387,
              "ABC": 1.1781
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 222,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.838,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 74874.67,
            "prz_range": [
              74356.58,
              75392.76
            ],
            "prz_width_pct": 1.384,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -2.47,
            "price_to_prz_pct_raw": -2.4652,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 74874.67,
              "a_price": 71999.9,
              "tp1_ad_382": 73776.51,
              "tp2_ad_618": 73098.06,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.446,
              "ABC": 1.1548
            },
            "x_price": 65569.2,
            "x_idx": 222,
            "x_order": 5,
            "a_price": 71999.9,
            "a_idx": 239,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 274,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.829,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78580.32,
            "prz_range": [
              78130.97,
              79029.67
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 2.36,
            "price_to_prz_pct_raw": 2.362,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 78580.32,
              "a_price": 62401.7,
              "tp1_ad_382": 72400.09,
              "tp2_ad_618": 68581.93,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4131,
              "ABC": 0.5794
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62401.7,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.828,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78291.42,
            "prz_range": [
              78131.28,
              78451.55
            ],
            "prz_width_pct": 0.409,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.99,
            "price_to_prz_pct_raw": 1.9856,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 78291.42,
              "a_price": 62979.5,
              "tp1_ad_382": 72442.27,
              "tp2_ad_618": 68828.65,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4008,
              "ABC": 0.6096
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62979.5,
            "a_idx": 214,
            "a_order": 3,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.825,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 74933.88,
            "prz_range": [
              74654.77,
              75212.98
            ],
            "prz_width_pct": 0.745,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.39,
            "price_to_prz_pct_raw": -2.388,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 74933.88,
              "a_price": 64918.2,
              "tp1_ad_382": 71107.89,
              "tp2_ad_618": 68744.19,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 0.8266
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 247,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.821,
            "ratio_score": 0.952,
            "prz_score": 0.703,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 77272.36,
            "prz_range": [
              75692.07,
              78852.65
            ],
            "prz_width_pct": 4.09,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6582,
            "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": 77272.36,
              "a_price": 82828.7,
              "tp1_ad_382": 79394.88,
              "tp2_ad_618": 80706.18,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4637,
              "ABC": 0.9003
            },
            "x_price": 74868.0,
            "x_idx": 274,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 281,
            "a_order": 8,
            "b_price": 79137.4,
            "b_idx": 283,
            "b_order": 3,
            "c_price": 82460.5,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.816,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 79215.87,
            "prz_range": [
              78658.4,
              79773.34
            ],
            "prz_width_pct": 1.407,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.19,
            "price_to_prz_pct_raw": 3.1899,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 79215.87,
              "a_price": 64918.2,
              "tp1_ad_382": 73754.16,
              "tp2_ad_618": 70379.91,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4787,
              "ABC": 0.8266
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 247,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "prz_proximity": "nearby",
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -2.04,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $74,594.52-$75,813.87: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.884,
          "ratio_score": 0.862,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 75204.19,
          "prz_range": [
            74594.52,
            75813.87
          ],
          "prz_width_pct": 1.621,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -2.04,
          "price_to_prz_pct_raw": -2.0359,
          "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": 75204.19,
            "a_price": 79455.0,
            "tp1_ad_382": 76828.0,
            "tp2_ad_618": 77831.19,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5947,
            "ABC": 0.6294
          },
          "x_price": 73669.0,
          "x_idx": 265,
          "x_order": 3,
          "a_price": 79455.0,
          "a_idx": 272,
          "a_order": 5,
          "b_price": 76014.2,
          "b_idx": 293,
          "b_order": 3,
          "c_price": 78180.0,
          "c_idx": 296,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 75204.19,
          "a_price": 79455.0,
          "tp1_ad_382": 76828.0,
          "tp2_ad_618": 77831.19,
          "tp3_a_or_structure_liquidity": 79455.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 75204.19,
            "a_price": 79455.0,
            "tp1_ad_382": 76828.0,
            "tp2_ad_618": 77831.19,
            "tp3_a_or_structure_liquidity": 79455.0,
            "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": "watch",
        "directional_scores": {
          "bullish": 0.131,
          "bearish": 0
        },
        "directional_score_total": 0.131,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.44,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"엄격 등급 고품질 형성 중 bullish Gartley PRZ $74,594.52-$75,813.87, 중심 D $75,204.19가 현재가 $76,767.10보다 약 2.04% 아래에 위치\",\n    \"PRZ confluence 3개: ABCD, BC_EXT, XAD가 동일 구간 $74,594.52-$75,813.87에 수렴\",\n    \"Gartley TP ladder: 반응 확인 시 TP1 $76,828.00, TP2 $77,831.19, TP3/A 구조 유동성 $79,455.00\",\n    \"현재 확인된 Gartley 반응 없음: confirmed_reaction=false, reaction_score=0.0, execution_readiness=watch\",\n    \"상단에는 후보/보고용 bearish PRZ 밀집: $78,130.97-$79,029.67 Bat, $78,094.82-$79,653.08 Butterfly, $79,480.99-$81,461.73 Crab\"\n  ],\n  \"reasoning\": \"현재 1D 하모닉 관점에서 구조를 뒤집을 만한 확인된 BOS/CHoCH 또는 PRZ 반응은 없으므로 structure_bias는 중립이다. 다만 가장 높은 품질의 실행 후보는 strict/high bullish Gartley이며, PRZ는 $74,594.52-$75,813.87, 예상 D는 $75,204.19로 현재가 $76,767.10보다 약 2.04% 아래에 있어 하락 시 매수 반응 후보 구간이다. 이 PRZ는 ABCD, BC extension, XAD 3개 Fib family가 겹친 high-confluence zone이고 pattern_score 0.884, PRZ score 1.0으로 품질은 높지만 아직 confirmed_reaction=false라 단독 방향 전환 근거는 아니다. 따라서 본 하모닉 판정은 즉시 강세 신호가 아니라, $75.8k-$74.6k 진입 후 rejection, sweep→reclaim, 15m/1h MSS 또는 CVD/OI 확인이 나오면 bullish setup이 vote-eligible로 승격되는 대기 시나리오다.\",\n  \"key_levels\": {\n    \"support\": [\n      75813.87,\n      75204.19,\n      74594.52,\n      73669.0\n    ],\n    \"resistance\": [\n      76828.0,\n      77831.19,\n      78180.0,\n      79455.0,\n      80471.36\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$74,594.52 일봉 종가 하회 및 PRZ 방어 실패; 더 강한 무효화는 Gartley X 가격 $73,669.00 이탈\",\n  \"risk_scenario\": \"가격이 $74,594.52-$75,813.87 bullish Gartley PRZ에서 반등하지 못하고 하단을 수용하면, 하모닉 매수 후보는 실패하며 $73,669.00 X 저점 재시험 또는 그 아래 유동성 탐색으로 전환될 수 있다. 반대로 가격이 PRZ까지 내려오지 않고 $78,130-$79,653 상단 후보 bearish PRZ로 직행하면, Bat/Butterfly/Crab 계열의 상방 반전 리스크 구간에서 매도 반응이 먼저 발생할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.58,
    "execution_setup": {
      "setup_bias": "neutral",
      "setup_strength": 0.54,
      "active_setups": [
        "ICT: 가격이 최근 bullish BOS 기준선 $75,998.90 위에서 유지되어 단기 구조 방어 조건은 아직 살아 있음",
        "Fibonacci: $74,868 → $82,828.70 상승 스윙의 ret_0.786 지지 $76,571.59를 현재가가 +0.25% 거리에서 테스트 중",
        "Harmonic: strict/high bullish Gartley PRZ $74,594.52-$75,813.87가 하단 반응 후보이나 아직 confirmed reaction은 없음",
        "Candlestick/Derivatives: 현재가가 EMA120 $77,701.65, EMA20 $77,862.57 아래에 있어 $77,700-$78,200 구간은 단기 공급·저항 조건",
        "Derivatives: CVD 변화 -286.4330, OI 24h -1.8470%로 반등의 신규 매수 주도성이 약하고 포지션 언와인딩 성격이 강함",
        "Wyckoff: confirmed accumulation 구조이나 현재가가 메인 레인지 하단 $80,600.00 및 SOS $82,828.70 아래에 있어 Phase D 강세 수용은 미확인"
      ],
      "setup_vs_structure": "상위 구조는 Wyckoff 축적 및 ICT bullish BOS 방어로 완만한 bullish 쪽이지만, 실행 셋업은 EMA 하방 수용·약한 CVD/OI·상단 PRZ 반응 때문에 중립에 가깝다. 즉 구조와 실행이 완전히 정렬되지 않았으며, 현재 구간은 추세 확장보다 지지 재검증과 저항 회복 여부를 판별해야 하는 위치다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 1,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        76571.59,
        75998.9,
        75813.87,
        74868.0,
        74594.52,
        74203.6,
        73669.0,
        65595.7
      ],
      "resistance": [
        77701.65,
        77862.57,
        77908.99,
        78180.0,
        78848.35,
        79787.71,
        80600.0,
        82828.7,
        84408.6,
        84804.56
      ]
    },
    "confluences": [
      "ICT의 bullish BOS 기준선 $75,998.90, Fibonacci ret_0.786 $76,571.59, Harmonic 하단 PRZ $74,594.52-$75,813.87가 모두 $74,600-$76,600 지지 클러스터를 형성한다.",
      "Wyckoff TERMINAL_SPRING $74,868.00, Harmonic bullish Gartley 중심 D $75,204.19, 이전일 저가 $74,203.60이 $74,200-$75,200 하단 구조 방어 구간으로 겹친다.",
      "Candlestick, ICT, Derivatives, Fibonacci가 모두 $77,700-$78,200 부근을 즉각 저항으로 제시한다: EMA120 $77,701.65, EMA20 $77,862.57, Fib ret_0.618 $77,908.99, 7일 고점 $78,180.00, 파생 유동성 $77,800-$78,200.",
      "Wyckoff SOS $82,828.70와 Fibonacci swing high/ext_1.0 $82,828.70이 동일 레벨로 일치해, $82,828.70은 단순 저항이 아니라 구조적 SOS 재확인 기준이다.",
      "Wyckoff ST/ICT CHoCH 레벨 $84,408.60과 Candlestick EMA240 $84,804.56, Fibonacci confluence zone $85,081.03이 $84,400-$85,100 중장기 구조 저항 클러스터를 만든다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed accumulation, acc_score 92.5 및 Phase D 맥락으로 상위 구조를 bullish로 보지만, 가격은 메인 레인지 하단 $80,600.00 아래에 있어 강세 수용이 아직 확인되지 않았다.",
      "ICT는 $75,998.90 위 bullish BOS 유지로 구조를 bullish로 판단하지만, Derivatives는 7일 박스 내부에서 명확한 구조 돌파가 없고 CVD/OI가 약해 setup을 bearish로 본다.",
      "Fibonacci와 Harmonic은 $76,571.59 및 $74,594.52-$75,813.87에서 반등 후보를 제시하지만, Candlestick은 $78,180.00 부근 bearish engulfing/evening star 후보와 EMA 하방 수용을 근거로 약세 압력을 강조한다.",
      "Harmonic 내부에서도 하단에는 bullish Gartley PRZ $74,594.52-$75,813.87가 있으나, 상단에는 이미 반응 확인된 bearish shark/butterfly PRZ $77,355-$79,653 구간이 존재해 양방향 반전 후보가 공존한다."
    ],
    "executive_summary": "BTC/USDT 1D의 상위 구조는 Wyckoff 기준 confirmed accumulation이며, 현재 위치는 SOS $82,828.70 이후 메인 레인지 하단 $80,600.00 아래로 되밀린 Phase D 재검증 구간으로 진단된다. ICT 역시 최근 bullish BOS $75,998.90 위에서 가격이 유지되고 있어 구조적 약세 전환은 아직 확정되지 않았지만, EMA120 $77,701.65와 EMA20 $77,862.57 아래 수용은 강세 수용 실패 리스크를 만든다. 핵심 구조 방어 클러스터는 $76,571.59, $75,998.90, $74,868.00, $74,203.60이며, 이 구간은 Fibonacci 0.786·ICT BOS·Wyckoff TERMINAL_SPRING·Harmonic bullish Gartley PRZ가 중첩된다. 반대로 $77,700-$78,200 및 $80,600.00은 각각 단기 공급 저항과 Wyckoff 레인지 재진입 확인선이며, $82,828.70은 SOS 재확인 기준이다. 전체 structural bias는 bullish이지만, 실행 조건은 CVD 약화, OI 감소, 상단 bearish candlestick/harmonic 반응 때문에 중립적이며, $74,203.60 하향 이탈 시 단기 구조 손상, $65,595.70 하향 이탈 시 축적 regime 자체의 무효화로 본다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.58,\n  \"execution_setup\": {\n    \"setup_bias\": \"neutral\",\n    \"setup_strength\": 0.54,\n    \"active_setups\": [\n      \"ICT: 가격이 최근 bullish BOS 기준선 $75,998.90 위에서 유지되어 단기 구조 방어 조건은 아직 살아 있음\",\n      \"Fibonacci: $74,868 → $82,828.70 상승 스윙의 ret_0.786 지지 $76,571.59를 현재가가 +0.25% 거리에서 테스트 중\",\n      \"Harmonic: strict/high bullish Gartley PRZ $74,594.52-$75,813.87가 하단 반응 후보이나 아직 confirmed reaction은 없음\",\n      \"Candlestick/Derivatives: 현재가가 EMA120 $77,701.65, EMA20 $77,862.57 아래에 있어 $77,700-$78,200 구간은 단기 공급·저항 조건\",\n      \"Derivatives: CVD 변화 -286.4330, OI 24h -1.8470%로 반등의 신규 매수 주도성이 약하고 포지션 언와인딩 성격이 강함\",\n      \"Wyckoff: confirmed accumulation 구조이나 현재가가 메인 레인지 하단 $80,600.00 및 SOS $82,828.70 아래에 있어 Phase D 강세 수용은 미확인\"\n    ],\n    \"setup_vs_structure\": \"상위 구조는 Wyckoff 축적 및 ICT bullish BOS 방어로 완만한 bullish 쪽이지만, 실행 셋업은 EMA 하방 수용·약한 CVD/OI·상단 PRZ 반응 때문에 중립에 가깝다. 즉 구조와 실행이 완전히 정렬되지 않았으며, 현재 구간은 추세 확장보다 지지 재검증과 저항 회복 여부를 판별해야 하는 위치다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 1,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      76571.59,\n      75998.9,\n      75813.87,\n      74868.0,\n      74594.52,\n      74203.6,\n      73669.0,\n      65595.7\n    ],\n    \"resistance\": [\n      77701.65,\n      77862.57,\n      77908.99,\n      78180.0,\n      78848.35,\n      79787.71,\n      80600.0,\n      82828.7,\n      84408.6,\n      84804.56\n    ]\n  },\n  \"confluences\": [\n    \"ICT의 bullish BOS 기준선 $75,998.90, Fibonacci ret_0.786 $76,571.59, Harmonic 하단 PRZ $74,594.52-$75,813.87가 모두 $74,600-$76,600 지지 클러스터를 형성한다.\",\n    \"Wyckoff TERMINAL_SPRING $74,868.00, Harmonic bullish Gartley 중심 D $75,204.19, 이전일 저가 $74,203.60이 $74,200-$75,200 하단 구조 방어 구간으로 겹친다.\",\n    \"Candlestick, ICT, Derivatives, Fibonacci가 모두 $77,700-$78,200 부근을 즉각 저항으로 제시한다: EMA120 $77,701.65, EMA20 $77,862.57, Fib ret_0.618 $77,908.99, 7일 고점 $78,180.00, 파생 유동성 $77,800-$78,200.\",\n    \"Wyckoff SOS $82,828.70와 Fibonacci swing high/ext_1.0 $82,828.70이 동일 레벨로 일치해, $82,828.70은 단순 저항이 아니라 구조적 SOS 재확인 기준이다.\",\n    \"Wyckoff ST/ICT CHoCH 레벨 $84,408.60과 Candlestick EMA240 $84,804.56, Fibonacci confluence zone $85,081.03이 $84,400-$85,100 중장기 구조 저항 클러스터를 만든다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed accumulation, acc_score 92.5 및 Phase D 맥락으로 상위 구조를 bullish로 보지만, 가격은 메인 레인지 하단 $80,600.00 아래에 있어 강세 수용이 아직 확인되지 않았다.\",\n    \"ICT는 $75,998.90 위 bullish BOS 유지로 구조를 bullish로 판단하지만, Derivatives는 7일 박스 내부에서 명확한 구조 돌파가 없고 CVD/OI가 약해 setup을 bearish로 본다.\",\n    \"Fibonacci와 Harmonic은 $76,571.59 및 $74,594.52-$75,813.87에서 반등 후보를 제시하지만, Candlestick은 $78,180.00 부근 bearish engulfing/evening star 후보와 EMA 하방 수용을 근거로 약세 압력을 강조한다.\",\n    \"Harmonic 내부에서도 하단에는 bullish Gartley PRZ $74,594.52-$75,813.87가 있으나, 상단에는 이미 반응 확인된 bearish shark/butterfly PRZ $77,355-$79,653 구간이 존재해 양방향 반전 후보가 공존한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — acc_score 92.5, regime_fitness 0.925로 확인된 축적 구조를 제시하고, SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70의 구체적 이벤트 체인을 제공한다. 다만 현재가가 $80,600.00 아래에 있어 구조적 bullish 판정과 즉시 실행 강도는 분리해야 한다.\",\n  \"invalidation_level\": \"$65,595.70 하향 이탈 시 Wyckoff 축적 구조의 Spring 기반 bullish regime 해석이 훼손된다. 단기 구조 방어선은 $75,998.90 및 $74,203.60-$74,868.00 구간이다.\",\n  \"executive_summary\": \"BTC/USDT 1D의 상위 구조는 Wyckoff 기준 confirmed accumulation이며, 현재 위치는 SOS $82,828.70 이후 메인 레인지 하단 $80,600.00 아래로 되밀린 Phase D 재검증 구간으로 진단된다. ICT 역시 최근 bullish BOS $75,998.90 위에서 가격이 유지되고 있어 구조적 약세 전환은 아직 확정되지 않았지만, EMA120 $77,701.65와 EMA20 $77,862.57 아래 수용은 강세 수용 실패 리스크를 만든다. 핵심 구조 방어 클러스터는 $76,571.59, $75,998.90, $74,868.00, $74,203.60이며, 이 구간은 Fibonacci 0.786·ICT BOS·Wyckoff TERMINAL_SPRING·Harmonic bullish Gartley PRZ가 중첩된다. 반대로 $77,700-$78,200 및 $80,600.00은 각각 단기 공급 저항과 Wyckoff 레인지 재진입 확인선이며, $82,828.70은 SOS 재확인 기준이다. 전체 structural bias는 bullish이지만, 실행 조건은 CVD 약화, OI 감소, 상단 bearish candlestick/harmonic 반응 때문에 중립적이며, $74,203.60 하향 이탈 시 단기 구조 손상, $65,595.70 하향 이탈 시 축적 regime 자체의 무효화로 본다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.58,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.55,
    "waypoints": [
      {
        "seq": 1,
        "price": 75813.87,
        "type": "support_test",
        "source": "Harmonic Specialist (PRZ 상단), Fibonacci Analyst (ret_0.786 $76,571.59 하향 이탈 시 다음 지지)",
        "description": "Fib ret_0.786 $76,571.59가 +0.25% 거리에 있고 EMA20/120 하방 수용·CVD -286·OI -1.85% 등 약한 setup이 우세하므로, 단기 first move는 Fib 0.786 깨고 Harmonic Gartley PRZ 상단 $75,813.87까지 되밀리는 지지 테스트가 우선. 이 지점은 ABCD/BC_EXT/XAD 3개 Fib family가 수렴하는 high-confluence 진입 후보.",
        "est_hours": 6,
        "turning_zone": [
          75400.0,
          75830.0
        ],
        "likely_wick": 75500.0,
        "rejection_confirm": 76200.0,
        "invalid_overshoot": 75200.0,
        "calibration_reasoning": "Chairman support 클러스터 $75,813.87/$75,998.9 사이를 상단으로 두고, 다음 waypoint($75,204 PRZ)와 충돌하지 않도록 zone width를 ~0.22 ATR로 타이트하게 설정. likely_wick $75,500은 두 Chairman 지지 사이 빈 공간이라 wick magnet 가능성이 높고, $75,200 하향 돌파 시 자동으로 waypoint 2 시나리오로 전이되므로 invalid_overshoot 경계가 명확."
      },
      {
        "seq": 2,
        "price": 75204.19,
        "type": "swing_low",
        "source": "Harmonic Specialist (Gartley D 중심), Wyckoff Expert (TERMINAL_SPRING $74,868 근방 LPS 후보), ICT (bullish BOS $75,998.90 일시 하향 sweep)",
        "description": "PRZ 중심 D $75,204.19와 Wyckoff TERMINAL_SPRING $74,868.00 사이 구간이 핵심 구조 방어 클러스터. ICT BOS $75,998.90 일시 하향 sweep 후 reclaim 가능성이 있는 지점으로, 이 영역에서 confirmed reaction(sweep→reclaim, 하위 TF MSS, CVD 회복)이 나와야 strategic long setup이 vote-eligible로 승격.",
        "est_hours": 12,
        "turning_zone": [
          74500.0,
          75250.0
        ],
        "likely_wick": 74868.0,
        "rejection_confirm": 75998.9,
        "invalid_overshoot": 74400.0,
        "calibration_reasoning": "Gartley PRZ D($75,204)에서 Wyckoff TERMINAL_SPRING $74,868 + Chairman support $74,594까지 포함하도록 zone width ~$750(≈0.38 ATR) 설정. likely_wick $74,868은 round number $75K 하방 sweep 후 정확히 spring 레벨에서 reaction 패턴이 자주 나오는 자리. rejection_confirm은 path 본문에 명시된 ICT BOS $75,998.9 reclaim 레벨을 그대로 채택, $74,400 하방 돌파는 $74,203 Chairman support 붕괴로 이어져 구조 무효화."
      },
      {
        "seq": 3,
        "price": 77701.65,
        "type": "resistance_test",
        "source": "Candlestick Reader (EMA120 $77,701.65, EMA20 $77,862.57), Fibonacci Analyst (ret_0.618 $77,908.99), Derivatives Trader (유동성 $77,800-$78,200)",
        "description": "PRZ 하단 방어 성공 시 구조적 bullish bias가 작동하면서 단기 공급 클러스터 $77,701-$77,909 EMA cluster + Fib 0.618 황금비 회복 시도. 이 구간 reclaim 실패 시 다시 $76,500 부근으로 거부 가능. derivative 측 long crowding 0.640 때문에 $77,800-$78,200 유동성 sweep 후 거부 리스크도 병존.",
        "est_hours": 22,
        "turning_zone": [
          77701.65,
          78700.0
        ],
        "likely_wick": 78000.0,
        "rejection_confirm": 77200.0,
        "invalid_overshoot": 78848.35,
        "calibration_reasoning": "Terminal waypoint이므로 zone width ~$998(≈0.50 ATR)로 확장: 하단은 EMA/Chairman 공급 클러스터 시작점 $77,701, 상단은 path가 언급한 유동성 sweep target $77,800-$78,200을 모두 포섭하면서 다음 Chairman resistance $78,848 직전까지. likely_wick $78,000은 round number 자석 + Fib 0.618 황금비 $77,909와 sweep zone $78,180 사이 중심점이라 wick 정점이 가장 자주 형성되는 자리. $78,848 돌파 시 $79,787 Fib 0.382로 진행되어 단순 거부 시나리오가 무효화됨."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77100.0,
        "expected_low": 76200.0,
        "high_first": false
      },
      "8h": {
        "expected_high": 77100.0,
        "expected_low": 75500.0,
        "high_first": false
      },
      "24h": {
        "expected_high": 77862.57,
        "expected_low": 75204.19,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 77862.57,
        "description": "EMA20 $77,862.57 위 일봉 종가 수용 + Fib ret_0.618 $77,908.99 반환 시 단기 공급 클러스터 돌파 확인, $78,180-$78,848 다음 저항으로 확장 가능. CVD 양전환·OI 증가가 동반되어야 신뢰도 상승."
      },
      "bearish": {
        "price": 74868.0,
        "description": "Wyckoff TERMINAL_SPRING $74,868.00 하향 이탈은 LPS 후보 무력화이며, $74,594.52 PRZ 하단·이전일 저가 $74,203.60까지 빠르게 확장. 이 경우 ICT bullish BOS $75,998.90도 함께 무너진 상태이므로 단기 구조가 bearish로 전환."
      }
    },
    "scenario_invalidation": 74203.6,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.55,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 75813.87,\n      \"type\": \"support_test\",\n      \"source\": \"Harmonic Specialist (PRZ 상단), Fibonacci Analyst (ret_0.786 $76,571.59 하향 이탈 시 다음 지지)\",\n      \"description\": \"Fib ret_0.786 $76,571.59가 +0.25% 거리에 있고 EMA20/120 하방 수용·CVD -286·OI -1.85% 등 약한 setup이 우세하므로, 단기 first move는 Fib 0.786 깨고 Harmonic Gartley PRZ 상단 $75,813.87까지 되밀리는 지지 테스트가 우선. 이 지점은 ABCD/BC_EXT/XAD 3개 Fib family가 수렴하는 high-confluence 진입 후보.\",\n      \"est_hours\": 6\n    },\n    {\n      \"seq\": 2,\n      \"price\": 75204.19,\n      \"type\": \"swing_low\",\n      \"source\": \"Harmonic Specialist (Gartley D 중심), Wyckoff Expert (TERMINAL_SPRING $74,868 근방 LPS 후보), ICT (bullish BOS $75,998.90 일시 하향 sweep)\",\n      \"description\": \"PRZ 중심 D $75,204.19와 Wyckoff TERMINAL_SPRING $74,868.00 사이 구간이 핵심 구조 방어 클러스터. ICT BOS $75,998.90 일시 하향 sweep 후 reclaim 가능성이 있는 지점으로, 이 영역에서 confirmed reaction(sweep→reclaim, 하위 TF MSS, CVD 회복)이 나와야 strategic long setup이 vote-eligible로 승격.\",\n      \"est_hours\": 12\n    },\n    {\n      \"seq\": 3,\n      \"price\": 77701.65,\n      \"type\": \"resistance_test\",\n      \"source\": \"Candlestick Reader (EMA120 $77,701.65, EMA20 $77,862.57), Fibonacci Analyst (ret_0.618 $77,908.99), Derivatives Trader (유동성 $77,800-$78,200)\",\n      \"description\": \"PRZ 하단 방어 성공 시 구조적 bullish bias가 작동하면서 단기 공급 클러스터 $77,701-$77,909 EMA cluster + Fib 0.618 황금비 회복 시도. 이 구간 reclaim 실패 시 다시 $76,500 부근으로 거부 가능. derivative 측 long crowding 0.640 때문에 $77,800-$78,200 유동성 sweep 후 거부 리스크도 병존.\",\n      \"est_hours\": 22\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 77100.0, \"expected_low\": 76200.0, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 77100.0, \"expected_low\": 75500.0, \"high_first\": false},\n    \"24h\": {\"expected_high\": 77862.57, \"expected_low\": 75204.19, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 77862.57, \"description\": \"EMA20 $77,862.57 위 일봉 종가 수용 + Fib ret_0.618 $77,908.99 반환 시 단기 공급 클러스터 돌파 확인, $78,180-$78,848 다음 저항으로 확장 가능. CVD 양전환·OI 증가가 동반되어야 신뢰도 상승.\"},\n    \"bearish\": {\"price\": 74868.0, \"description\": \"Wyckoff TERMINAL_SPRING $74,868.00 하향 이탈은 LPS 후보 무력화이며, $74,594.52 PRZ 하단·이전일 저가 $74,203.60까지 빠르게 확장. 이 경우 ICT bullish BOS $75,998.90도 함께 무너진 상태이므로 단기 구조가 bearish로 전환.\"}\n  },\n  \"scenario_invalidation\": 74203.6\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 75813.87,
        "turning_zone": [
          75400.0,
          75830.0
        ],
        "likely_wick": 75500.0,
        "rejection_confirm": 76200.0,
        "invalid_overshoot": 75200.0,
        "calibration_reasoning": "Chairman support 클러스터 $75,813.87/$75,998.9 사이를 상단으로 두고, 다음 waypoint($75,204 PRZ)와 충돌하지 않도록 zone width를 ~0.22 ATR로 타이트하게 설정. likely_wick $75,500은 두 Chairman 지지 사이 빈 공간이라 wick magnet 가능성이 높고, $75,200 하향 돌파 시 자동으로 waypoint 2 시나리오로 전이되므로 invalid_overshoot 경계가 명확."
      },
      {
        "seq": 2,
        "base_target": 75204.19,
        "turning_zone": [
          74500.0,
          75250.0
        ],
        "likely_wick": 74868.0,
        "rejection_confirm": 75998.9,
        "invalid_overshoot": 74400.0,
        "calibration_reasoning": "Gartley PRZ D($75,204)에서 Wyckoff TERMINAL_SPRING $74,868 + Chairman support $74,594까지 포함하도록 zone width ~$750(≈0.38 ATR) 설정. likely_wick $74,868은 round number $75K 하방 sweep 후 정확히 spring 레벨에서 reaction 패턴이 자주 나오는 자리. rejection_confirm은 path 본문에 명시된 ICT BOS $75,998.9 reclaim 레벨을 그대로 채택, $74,400 하방 돌파는 $74,203 Chairman support 붕괴로 이어져 구조 무효화."
      },
      {
        "seq": 3,
        "base_target": 77701.65,
        "turning_zone": [
          77701.65,
          78700.0
        ],
        "likely_wick": 78000.0,
        "rejection_confirm": 77200.0,
        "invalid_overshoot": 78848.35,
        "calibration_reasoning": "Terminal waypoint이므로 zone width ~$998(≈0.50 ATR)로 확장: 하단은 EMA/Chairman 공급 클러스터 시작점 $77,701, 상단은 path가 언급한 유동성 sweep target $77,800-$78,200을 모두 포섭하면서 다음 Chairman resistance $78,848 직전까지. likely_wick $78,000은 round number 자석 + Fib 0.618 황금비 $77,909와 sweep zone $78,180 사이 중심점이라 wick 정점이 가장 자주 형성되는 자리. $78,848 돌파 시 $79,787 Fib 0.382로 진행되어 단순 거부 시나리오가 무효화됨."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 75813.87,\n      \"turning_zone\": [75400.0, 75830.0],\n      \"likely_wick\": 75500.0,\n      \"rejection_confirm\": 76200.0,\n      \"invalid_overshoot\": 75200.0,\n      \"calibration_reasoning\": \"Chairman support 클러스터 $75,813.87/$75,998.9 사이를 상단으로 두고, 다음 waypoint($75,204 PRZ)와 충돌하지 않도록 zone width를 ~0.22 ATR로 타이트하게 설정. likely_wick $75,500은 두 Chairman 지지 사이 빈 공간이라 wick magnet 가능성이 높고, $75,200 하향 돌파 시 자동으로 waypoint 2 시나리오로 전이되므로 invalid_overshoot 경계가 명확.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 75204.19,\n      \"turning_zone\": [74500.0, 75250.0],\n      \"likely_wick\": 74868.0,\n      \"rejection_confirm\": 75998.9,\n      \"invalid_overshoot\": 74400.0,\n      \"calibration_reasoning\": \"Gartley PRZ D($75,204)에서 Wyckoff TERMINAL_SPRING $74,868 + Chairman support $74,594까지 포함하도록 zone width ~$750(≈0.38 ATR) 설정. likely_wick $74,868은 round number $75K 하방 sweep 후 정확히 spring 레벨에서 reaction 패턴이 자주 나오는 자리. rejection_confirm은 path 본문에 명시된 ICT BOS $75,998.9 reclaim 레벨을 그대로 채택, $74,400 하방 돌파는 $74,203 Chairman support 붕괴로 이어져 구조 무효화.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 77701.65,\n      \"turning_zone\": [77701.65, 78700.0],\n      \"likely_wick\": 78000.0,\n      \"rejection_confirm\": 77200.0,\n      \"invalid_overshoot\": 78848.35,\n      \"calibration_reasoning\": \"Terminal waypoint이므로 zone width ~$998(≈0.50 ATR)로 확장: 하단은 EMA/Chairman 공급 클러스터 시작점 $77,701, 상단은 path가 언급한 유동성 sweep target $77,800-$78,200을 모두 포섭하면서 다음 Chairman resistance $78,848 직전까지. likely_wick $78,000은 round number 자석 + Fib 0.618 황금비 $77,909와 sweep zone $78,180 사이 중심점이라 wick 정점이 가장 자주 형성되는 자리. $78,848 돌파 시 $79,787 Fib 0.382로 진행되어 단순 거부 시나리오가 무효화됨.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.8,
      "chairman": 43.0,
      "operating_path": 83.6,
      "tp_calibrator": 74.4
    },
    "agents": {},
    "total_s": 227.9
  }
}