{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-05-27 12:03 KST",
  "last_price": 75893.4,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $75,893.40가 EMA20 $77,479.66 및 EMA120 $77,608.90 아래에 위치하며 단기 평균선 회복 실패",
        "7일 고점 $78,180.00 부근에서 bearish_engulfing 후보가 반복 출현하며 상단 공급 반응 확인",
        "최근 패턴 4개 중 bearish_engulfing 2개와 evening_star 1개가 포함되어 단기 매도 압력 우위",
        "7일 range EQ $76,191.80 아래로 재진입하여 단기 균형선 회복 실패",
        "고거래량 패턴이 없어 확정 붕괴보다는 선행 약세 셋업 단계"
      ],
      "reasoning": "현재 BTC는 $75,893.40로 EMA20 $77,479.66보다 약 2.0%, EMA120 $77,608.90보다 약 2.2% 낮아 단기·중기 평균선 아래에서 압박을 받고 있습니다. 최근 캔들에서는 bearish_engulfing@294, bearish_engulfing@298, evening_star@294, doji@293이 감지되었고 bear_score 2.30 대 bull_score 0으로 매도 신호가 우세합니다. 다만 best_pattern_quality가 0.456에 그치고 high_volume_patterns가 없어, 확정적인 구조 전환이라기보다는 $78,180.00 저항과 EMA 클러스터에서의 선행 약세 셋업으로 보는 것이 타당합니다. 구조적으로는 명확한 BOS/CHoCH 데이터가 제공되지 않았기 때문에 structure_bias는 neutral로 두되, 실행 관점의 setup_bias는 bearish입니다.",
      "key_levels": {
        "support": [
          74203.6,
          73984.63
        ],
        "resistance": [
          76191.8,
          77479.66,
          77608.9,
          78180,
          84217.82
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,180.00 일봉 종가 상향 돌파",
      "risk_scenario": "$78,180.00을 일봉 종가로 회복하면 최근 bearish engulfing과 evening star는 실패 신호가 되며, EMA20 $77,479.66 및 EMA120 $77,608.90 회복 이후 EMA240 $84,217.82 방향의 숏커버링 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 134,
        "recent_patterns": 4,
        "pattern_list": [
          "bearish_engulfing@294",
          "bearish_engulfing@298",
          "evening_star@294",
          "doji@293"
        ],
        "atr_value": 1908.77,
        "vol_avg_20": 112827.06,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.456,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.447,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.431,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.456,
        "bull_score": 0,
        "bear_score": 2.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $75,893.40가 EMA20 $77,479.66 및 EMA120 $77,608.90 아래에 위치하며 단기 평균선 회복 실패\",\n    \"7일 고점 $78,180.00 부근에서 bearish_engulfing 후보가 반복 출현하며 상단 공급 반응 확인\",\n    \"최근 패턴 4개 중 bearish_engulfing 2개와 evening_star 1개가 포함되어 단기 매도 압력 우위\",\n    \"7일 range EQ $76,191.80 아래로 재진입하여 단기 균형선 회복 실패\",\n    \"고거래량 패턴이 없어 확정 붕괴보다는 선행 약세 셋업 단계\"\n  ],\n  \"reasoning\": \"현재 BTC는 $75,893.40로 EMA20 $77,479.66보다 약 2.0%, EMA120 $77,608.90보다 약 2.2% 낮아 단기·중기 평균선 아래에서 압박을 받고 있습니다. 최근 캔들에서는 bearish_engulfing@294, bearish_engulfing@298, evening_star@294, doji@293이 감지되었고 bear_score 2.30 대 bull_score 0으로 매도 신호가 우세합니다. 다만 best_pattern_quality가 0.456에 그치고 high_volume_patterns가 없어, 확정적인 구조 전환이라기보다는 $78,180.00 저항과 EMA 클러스터에서의 선행 약세 셋업으로 보는 것이 타당합니다. 구조적으로는 명확한 BOS/CHoCH 데이터가 제공되지 않았기 때문에 structure_bias는 neutral로 두되, 실행 관점의 setup_bias는 bearish입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      74203.6,\n      73984.63\n    ],\n    \"resistance\": [\n      76191.8,\n      77479.66,\n      77608.9,\n      78180,\n      84217.82\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,180.00 일봉 종가 상향 돌파\",\n  \"risk_scenario\": \"$78,180.00을 일봉 종가로 회복하면 최근 bearish engulfing과 evening star는 실패 신호가 되며, EMA20 $77,479.66 및 EMA120 $77,608.90 회복 이후 EMA240 $84,217.82 방향의 숏커버링 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.753,
      "setup_signals": [
        "현재가 $75,893.40가 EQ $76,628.35 아래에 있어 할인(discount) 구간에 위치",
        "최근 확정 구조 이벤트가 $75,998.90 상방 BOS_bullish로 표시되어 단기 구조는 상승 전환 시도 중",
        "현재가는 7일 저점 $74,203.60 대비 위에 있으며, 이전일 저점 $75,641.20도 아직 명확히 이탈하지 않음",
        "현재 되돌림 40.1%, 최대 되돌림 48.2%로 상승 추세 내 중간 할인 되돌림 구간",
        "EMA20 $77,479.66 및 EMA120 $77,608.90 아래에 있어 상방 확인 전까지는 프리컨펌 매수 셋업 성격"
      ],
      "reasoning": "확정 구조 기준으로는 마지막 구조 이벤트가 $75,998.90 상방 BOS_bullish이므로 structure_bias는 bullish로 판단한다. 다만 현재가 $75,893.40는 해당 BOS 레벨을 소폭 하회하고 있으며 EMA20 $77,479.66, EMA120 $77,608.90 아래에 있어 강한 추세 수용보다는 재확인 구간이다. 셋업 관점에서는 가격이 EQ $76,628.35 아래의 discount 구간에 있고, 이전일 저점 $75,641.20을 아직 명확히 깨지 않아 기관 매수 방어가 나올 수 있는 위치다. 단, 활성 OB와 미충족 FVG가 모두 0개이고 최근 liquidity sweep도 없어 ICT 관점의 강한 유동성 기반 트리거는 부족하므로 신뢰도는 중간 수준으로 제한한다.",
      "key_levels": {
        "support": [
          75641.2,
          74203.6,
          70428.0
        ],
        "resistance": [
          76628.35,
          77479.66,
          77608.9,
          78077.1,
          78180.0,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$75,641.20",
      "risk_scenario": "반대 시나리오는 이전일 저점 $75,641.20 이탈 후 $75,998.90 BOS 레벨 회복 실패가 나오는 경우다. 이 경우 bullish BOS는 실패 돌파로 해석될 수 있고, 가격은 7일 저점 $74,203.60 및 range low $70,428.00까지 sell-side liquidity를 탐색할 가능성이 커진다.",
      "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": "discount",
        "eq_level": 76628.35,
        "range_high": 82828.7,
        "range_low": 70428.0,
        "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": 40.1,
        "deepest_retracement_pct": 48.2,
        "previous_day_high": 78077.1,
        "previous_day_low": 75641.2,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.753,\n  \"setup_signals\": [\n    \"현재가 $75,893.40가 EQ $76,628.35 아래에 있어 할인(discount) 구간에 위치\",\n    \"최근 확정 구조 이벤트가 $75,998.90 상방 BOS_bullish로 표시되어 단기 구조는 상승 전환 시도 중\",\n    \"현재가는 7일 저점 $74,203.60 대비 위에 있으며, 이전일 저점 $75,641.20도 아직 명확히 이탈하지 않음\",\n    \"현재 되돌림 40.1%, 최대 되돌림 48.2%로 상승 추세 내 중간 할인 되돌림 구간\",\n    \"EMA20 $77,479.66 및 EMA120 $77,608.90 아래에 있어 상방 확인 전까지는 프리컨펌 매수 셋업 성격\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 마지막 구조 이벤트가 $75,998.90 상방 BOS_bullish이므로 structure_bias는 bullish로 판단한다. 다만 현재가 $75,893.40는 해당 BOS 레벨을 소폭 하회하고 있으며 EMA20 $77,479.66, EMA120 $77,608.90 아래에 있어 강한 추세 수용보다는 재확인 구간이다. 셋업 관점에서는 가격이 EQ $76,628.35 아래의 discount 구간에 있고, 이전일 저점 $75,641.20을 아직 명확히 깨지 않아 기관 매수 방어가 나올 수 있는 위치다. 단, 활성 OB와 미충족 FVG가 모두 0개이고 최근 liquidity sweep도 없어 ICT 관점의 강한 유동성 기반 트리거는 부족하므로 신뢰도는 중간 수준으로 제한한다.\",\n  \"key_levels\": {\n    \"support\": [\n      75641.2,\n      74203.6,\n      70428.0\n    ],\n    \"resistance\": [\n      76628.35,\n      77479.66,\n      77608.9,\n      78077.1,\n      78180.0,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$75,641.20\",\n  \"risk_scenario\": \"반대 시나리오는 이전일 저점 $75,641.20 이탈 후 $75,998.90 BOS 레벨 회복 실패가 나오는 경우다. 이 경우 bullish BOS는 실패 돌파로 해석될 수 있고, 가격은 7일 저점 $74,203.60 및 range low $70,428.00까지 sell-side liquidity를 탐색할 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.48,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $75,893.40은 EQ/0.5 되돌림 $78,848.35 아래의 할인 구간에 위치",
        "0.786 깊은 되돌림 $76,571.59 부근에 접근 중이며 현재 이 레벨과의 거리는 0.89%",
        "상승 스윙 저점 $74,868이 아직 이탈되지 않아 완전한 하락 구조 전환은 미확인",
        "골든_ratio 0.618 레벨 $77,908.99가 회복되지 못한 상태로 단기 반등은 아직 확인 전 단계",
        "EMA20 $77,479.66 및 EMA120 $77,608.90이 현재가 위에 있어 반등 시 즉시 저항으로 작용 가능"
      ],
      "reasoning": "현재 BTC는 Low→High $74,868→$82,829 상승 스윙의 깊은 되돌림 구간에 있으며, 0.786 되돌림 $76,571.59 바로 아래에서 거래되고 있습니다. 구조적으로는 스윙 저점 $74,868이 아직 이탈되지 않았기 때문에 확정 bearish BOS로 보기는 어렵지만, 0.618 골든 레벨 $77,908.99와 0.5 레벨 $78,848.35를 회복하지 못해 상승 구조의 힘은 약화된 상태입니다. 셋업 관점에서는 현재가가 EQ $78,848.35 아래의 할인 구간에 있고 스윙 저점 위에 남아 있어 단기 반등 후보는 존재하지만, reaction_probability가 0.45로 높지 않아 강한 매수 확정 신호는 아닙니다. 상방에서는 $76,571.59, $77,908.99, $78,848.35가 순차 저항이며, 더 큰 목표는 confluence zone인 $85,081.03 부근입니다.",
      "key_levels": {
        "support": [
          74868.0
        ],
        "resistance": [
          76571.59,
          77908.99,
          78848.35,
          79787.71,
          80949.97,
          85081.03
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$74,868 하향 이탈",
      "risk_scenario": "$74,868 스윙 저점이 종가 기준으로 이탈되면 현재의 할인 구간 반등 셋업은 실패로 간주되며, 상승 스윙 전체가 무효화되면서 하락 확장 국면으로 전환될 수 있습니다. 반대로 $77,908.99의 0.618 골든 레벨을 회복하면 단기 중립 구간을 벗어나 $78,848.35와 $79,787.71 재테스트 가능성이 커집니다.",
      "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.89,
        "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": [],
        "resistance_levels": [
          76571.5898,
          77908.9874,
          78848.35
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 80949.97,
            "distance_pct": 6.66,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 79787.71,
            "distance_pct": 5.13,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 78848.35,
            "distance_pct": 3.89,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77908.99,
            "distance_pct": 2.66,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 76571.59,
            "distance_pct": 0.89,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 82828.7,
            "distance_pct": 9.14,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 84994.01,
            "distance_pct": 11.99,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 86124.43,
            "distance_pct": 13.48,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 87748.41,
            "distance_pct": 15.62,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 90789.4,
            "distance_pct": 19.63,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "approaching",
        "reaction_probability": 0.45
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.48,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $75,893.40은 EQ/0.5 되돌림 $78,848.35 아래의 할인 구간에 위치\",\n    \"0.786 깊은 되돌림 $76,571.59 부근에 접근 중이며 현재 이 레벨과의 거리는 0.89%\",\n    \"상승 스윙 저점 $74,868이 아직 이탈되지 않아 완전한 하락 구조 전환은 미확인\",\n    \"골든_ratio 0.618 레벨 $77,908.99가 회복되지 못한 상태로 단기 반등은 아직 확인 전 단계\",\n    \"EMA20 $77,479.66 및 EMA120 $77,608.90이 현재가 위에 있어 반등 시 즉시 저항으로 작용 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 Low→High $74,868→$82,829 상승 스윙의 깊은 되돌림 구간에 있으며, 0.786 되돌림 $76,571.59 바로 아래에서 거래되고 있습니다. 구조적으로는 스윙 저점 $74,868이 아직 이탈되지 않았기 때문에 확정 bearish BOS로 보기는 어렵지만, 0.618 골든 레벨 $77,908.99와 0.5 레벨 $78,848.35를 회복하지 못해 상승 구조의 힘은 약화된 상태입니다. 셋업 관점에서는 현재가가 EQ $78,848.35 아래의 할인 구간에 있고 스윙 저점 위에 남아 있어 단기 반등 후보는 존재하지만, reaction_probability가 0.45로 높지 않아 강한 매수 확정 신호는 아닙니다. 상방에서는 $76,571.59, $77,908.99, $78,848.35가 순차 저항이며, 더 큰 목표는 confluence zone인 $85,081.03 부근입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      74868.0\n    ],\n    \"resistance\": [\n      76571.59,\n      77908.99,\n      78848.35,\n      79787.71,\n      80949.97,\n      85081.03\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$74,868 하향 이탈\",\n  \"risk_scenario\": \"$74,868 스윙 저점이 종가 기준으로 이탈되면 현재의 할인 구간 반등 셋업은 실패로 간주되며, 상승 스윙 전체가 무효화되면서 하락 확장 국면으로 전환될 수 있습니다. 반대로 $77,908.99의 0.618 골든 레벨을 회복하면 단기 중립 구간을 벗어나 $78,848.35와 $79,787.71 재테스트 가능성이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.42,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "활성 고품질 strict bullish Gartley PRZ $74,594.52-$75,813.87, 현재가 $75,893.40로 PRZ 상단 바로 위 약 $79.53",
        "PRZ confluence 3개: ABCD, BC_EXT, XAD가 동일 구간에 집결",
        "Gartley 후보 점수 0.907, ratio_score 0.862, prz_score 1.000으로 스캔 내 최상위 패턴",
        "D 예상가 $75,204.19 부근에서 bullish 반전 후보 형성 중이나 confirmed_reaction=false",
        "상방 TP ladder: TP1 $76,828.00, TP2 $77,831.19, TP3/A 구조 유동성 $79,455.00"
      ],
      "reasoning": "현재 핵심 harmonic setup은 $74,594.52-$75,813.87의 활성 bullish Gartley PRZ이며, 현재가 $75,893.40는 PRZ 상단을 아주 근소하게 상회하고 있어 반응 확인 대기 구간입니다. 이 패턴은 strict/high quality, score 0.907, 3중 Fib confluence(ABCD·BC_EXT·XAD)를 갖지만 아직 PRZ 진입 후 명확한 rejection, sweep→reclaim, 15m/1h MSS/CHoCH, CVD/OI 확인이 없어 구조 전환 근거로는 부족합니다. 따라서 structure_bias는 확정 BOS/CHoCH 부재로 neutral이며, setup_bias만 bullish로 평가합니다. 상방 반응이 확인되면 $76,828.00과 $77,831.19가 1차·2차 harmonic TP이며, $79,455.00은 A포인트/구조 유동성 목표입니다.",
      "key_levels": {
        "support": [
          75813.87,
          75204.19,
          74594.52,
          74203.6,
          73669.0
        ],
        "resistance": [
          76828.0,
          77479.66,
          77608.9,
          77831.19,
          78180.0,
          79455.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$74,594.52 일봉 종가 이탈 시 활성 bullish Gartley PRZ 실패로 간주",
      "risk_scenario": "가격이 $75,813.87 위에서 지지 재확인 없이 재차 밀리고 $74,594.52를 종가로 이탈하면 bullish Gartley setup은 실패하며, 하방으로 $74,203.60 및 X포인트 $73,669.00 재테스트 위험이 커집니다. 반대로 $76,828.00을 회복하고 유지하면 harmonic 반등 확인 강도가 올라가며 $77,831.19-$78,180.00 저항 테스트가 우선 시나리오가 됩니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 260,
        "completed_patterns_found": 97,
        "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": 72,
          "low": 185
        },
        "prz_status_counts": {
          "active": 46,
          "nearby": 14,
          "watch": 41,
          "far": 159,
          "forming": 108
        },
        "high_confluence_prz_count": 19,
        "strict_patterns_found": 65,
        "candidate_patterns_found": 195,
        "active_patterns_at_prz": 46,
        "nearby_patterns": 14,
        "all_patterns": [
          "gartley",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "butterfly",
          "gartley",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "shark",
          "bat",
          "crab",
          "gartley",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "gartley",
          "crab",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "bat",
          "gartley",
          "shark",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "shark",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "shark",
          "shark",
          "bat",
          "bat",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "gartley",
          "crab",
          "bat",
          "shark",
          "crab",
          "crab",
          "shark",
          "gartley",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "crab",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.907,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 75985.2,
        "price_to_prz": 0.12,
        "prz_range": [
          75903.14,
          76067.26
        ],
        "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.907,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -0.91,
            "price_to_prz_pct_raw": -0.9081,
            "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": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 290,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.867,
            "ratio_score": 0.968,
            "prz_score": 0.941,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 72849.89,
            "prz_range": [
              72028.1,
              73671.68
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.01,
            "price_to_prz_pct_raw": -4.0102,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 72849.89,
              "a_price": 79455.0,
              "tp1_ad_382": 75373.04,
              "tp2_ad_618": 76931.85,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7928,
              "ABC": 0.722
            },
            "x_price": 73669.0,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 271,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.842,
            "ratio_score": 0.969,
            "prz_score": 0.924,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 72303.79,
            "prz_range": [
              71442.07,
              73165.52
            ],
            "prz_width_pct": 2.384,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.73,
            "price_to_prz_pct_raw": -4.7298,
            "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": "butterfly",
              "d_price": 72303.79,
              "a_price": 62979.5,
              "tp1_ad_382": 68741.91,
              "tp2_ad_618": 66541.38,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7926,
              "ABC": 0.5725
            },
            "x_price": 70938.5,
            "x_idx": 198,
            "x_order": 5,
            "a_price": 62979.5,
            "a_idx": 211,
            "a_order": 3,
            "b_price": 69288.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.753,
            "ratio_score": 0.583,
            "prz_score": 0.983,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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": 3.95,
            "price_to_prz_pct_raw": 3.9509,
            "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": "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": 215,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 271,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.719,
            "ratio_score": 0.57,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 2.81,
            "price_to_prz_pct_raw": 2.8146,
            "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.3,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "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": 228,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 262,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.672,
            "ratio_score": 0.528,
            "prz_score": 0.977,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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": 3.93,
            "price_to_prz_pct_raw": 3.9273,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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": 6,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "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": 215,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 271,
            "c_order": 5,
            "d_idx": 293
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.643,
            "ratio_score": 0.383,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 74203.6,
            "prz_range": [
              74122.63,
              75813.61
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.22,
            "price_to_prz_pct_raw": -1.2192,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 4,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 74968.12,
              "a_price": 79455.0,
              "tp1_ad_382": 76682.11,
              "tp2_ad_618": 77741.01,
              "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,
              "BCD": 1.836,
              "XAD": 0.9076
            },
            "x_price": 73669.0,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 290,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": 295
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.592,
            "ratio_score": 0.366,
            "prz_score": 0.983,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 71999.9,
            "prz_range": [
              71921.47,
              73321.87
            ],
            "prz_width_pct": 1.928,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.31,
            "price_to_prz_pct_raw": -4.311,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72621.67,
              "a_price": 62401.7,
              "tp1_ad_382": 68717.64,
              "tp2_ad_618": 66305.73,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.5831,
              "BCD": 1.4517,
              "XAD": 1.1243
            },
            "x_price": 70938.5,
            "x_idx": 198,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 207,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 208,
            "b_order": 3,
            "c_price": 65569.2,
            "c_idx": 219,
            "c_order": 5,
            "d_idx": 236
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -0.91,
            "price_to_prz_pct_raw": -0.9081,
            "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": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 290,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -0.91,
            "price_to_prz_pct_raw": -0.9081,
            "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": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 290,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.867,
            "ratio_score": 0.968,
            "prz_score": 0.941,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 72849.89,
            "prz_range": [
              72028.1,
              73671.68
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.01,
            "price_to_prz_pct_raw": -4.0102,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 72849.89,
              "a_price": 79455.0,
              "tp1_ad_382": 75373.04,
              "tp2_ad_618": 76931.85,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7928,
              "ABC": 0.722
            },
            "x_price": 73669.0,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 271,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.842,
            "ratio_score": 0.969,
            "prz_score": 0.924,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 72303.79,
            "prz_range": [
              71442.07,
              73165.52
            ],
            "prz_width_pct": 2.384,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.73,
            "price_to_prz_pct_raw": -4.7298,
            "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": "butterfly",
              "d_price": 72303.79,
              "a_price": 62979.5,
              "tp1_ad_382": 68741.91,
              "tp2_ad_618": 66541.38,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7926,
              "ABC": 0.5725
            },
            "x_price": 70938.5,
            "x_idx": 198,
            "x_order": 5,
            "a_price": 62979.5,
            "a_idx": 211,
            "a_order": 3,
            "b_price": 69288.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.753,
            "ratio_score": 0.583,
            "prz_score": 0.983,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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": 3.95,
            "price_to_prz_pct_raw": 3.9509,
            "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": "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": 215,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 271,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.719,
            "ratio_score": 0.57,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 2.81,
            "price_to_prz_pct_raw": 2.8146,
            "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.3,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "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": 228,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 262,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.672,
            "ratio_score": 0.528,
            "prz_score": 0.977,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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": 3.93,
            "price_to_prz_pct_raw": 3.9273,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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": 6,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "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": 215,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 271,
            "c_order": 5,
            "d_idx": 293
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.643,
            "ratio_score": 0.383,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 74203.6,
            "prz_range": [
              74122.63,
              75813.61
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.22,
            "price_to_prz_pct_raw": -1.2192,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 4,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 74968.12,
              "a_price": 79455.0,
              "tp1_ad_382": 76682.11,
              "tp2_ad_618": 77741.01,
              "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,
              "BCD": 1.836,
              "XAD": 0.9076
            },
            "x_price": 73669.0,
            "x_idx": 262,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 269,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 290,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": 295
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.592,
            "ratio_score": 0.366,
            "prz_score": 0.983,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 71999.9,
            "prz_range": [
              71921.47,
              73321.87
            ],
            "prz_width_pct": 1.928,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.31,
            "price_to_prz_pct_raw": -4.311,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72621.67,
              "a_price": 62401.7,
              "tp1_ad_382": 68717.64,
              "tp2_ad_618": 66305.73,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.5831,
              "BCD": 1.4517,
              "XAD": 1.1243
            },
            "x_price": 70938.5,
            "x_idx": 198,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 207,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 208,
            "b_order": 3,
            "c_price": 65569.2,
            "c_idx": 219,
            "c_order": 5,
            "d_idx": 236
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.861,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -1.34,
            "price_to_prz_pct_raw": -1.3423,
            "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": 219,
            "x_order": 5,
            "a_price": 71999.9,
            "a_idx": 236,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 271,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "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.6,
            "price_to_prz_pct_raw": 0.6011,
            "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": 215,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 262,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.847,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -1.26,
            "price_to_prz_pct_raw": -1.2643,
            "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": 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": 228,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 244,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.842,
            "ratio_score": 1.0,
            "prz_score": 0.827,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 78663.74,
            "prz_range": [
              77430.64,
              79896.84
            ],
            "prz_width_pct": 3.135,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.65,
            "price_to_prz_pct_raw": 3.6503,
            "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": "shark",
              "d_price": 78663.74,
              "a_price": 74868.0,
              "tp1_ad_382": 77213.77,
              "tp2_ad_618": 76317.97,
              "tp3_a_or_structure_liquidity": 74868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 1.2006
            },
            "x_price": 69288.0,
            "x_idx": 243,
            "x_order": 3,
            "a_price": 74868.0,
            "a_idx": 271,
            "a_order": 5,
            "b_price": 78180.0,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 74203.6,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "prz_proximity": "active",
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.91,
            "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.907,
          "ratio_score": 0.862,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "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": -0.91,
          "price_to_prz_pct_raw": -0.9081,
          "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": 262,
          "x_order": 3,
          "a_price": 79455.0,
          "a_idx": 269,
          "a_order": 5,
          "b_price": 76014.2,
          "b_idx": 290,
          "b_order": 3,
          "c_price": 78180.0,
          "c_idx": 293,
          "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": "ready",
        "directional_scores": {
          "bullish": 0.192,
          "bearish": 0
        },
        "directional_score_total": 0.192,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"활성 고품질 strict bullish Gartley PRZ $74,594.52-$75,813.87, 현재가 $75,893.40로 PRZ 상단 바로 위 약 $79.53\",\n    \"PRZ confluence 3개: ABCD, BC_EXT, XAD가 동일 구간에 집결\",\n    \"Gartley 후보 점수 0.907, ratio_score 0.862, prz_score 1.000으로 스캔 내 최상위 패턴\",\n    \"D 예상가 $75,204.19 부근에서 bullish 반전 후보 형성 중이나 confirmed_reaction=false\",\n    \"상방 TP ladder: TP1 $76,828.00, TP2 $77,831.19, TP3/A 구조 유동성 $79,455.00\"\n  ],\n  \"reasoning\": \"현재 핵심 harmonic setup은 $74,594.52-$75,813.87의 활성 bullish Gartley PRZ이며, 현재가 $75,893.40는 PRZ 상단을 아주 근소하게 상회하고 있어 반응 확인 대기 구간입니다. 이 패턴은 strict/high quality, score 0.907, 3중 Fib confluence(ABCD·BC_EXT·XAD)를 갖지만 아직 PRZ 진입 후 명확한 rejection, sweep→reclaim, 15m/1h MSS/CHoCH, CVD/OI 확인이 없어 구조 전환 근거로는 부족합니다. 따라서 structure_bias는 확정 BOS/CHoCH 부재로 neutral이며, setup_bias만 bullish로 평가합니다. 상방 반응이 확인되면 $76,828.00과 $77,831.19가 1차·2차 harmonic TP이며, $79,455.00은 A포인트/구조 유동성 목표입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      75813.87,\n      75204.19,\n      74594.52,\n      74203.6,\n      73669.0\n    ],\n    \"resistance\": [\n      76828.0,\n      77479.66,\n      77608.9,\n      77831.19,\n      78180.0,\n      79455.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$74,594.52 일봉 종가 이탈 시 활성 bullish Gartley PRZ 실패로 간주\",\n  \"risk_scenario\": \"가격이 $75,813.87 위에서 지지 재확인 없이 재차 밀리고 $74,594.52를 종가로 이탈하면 bullish Gartley setup은 실패하며, 하방으로 $74,203.60 및 X포인트 $73,669.00 재테스트 위험이 커집니다. 반대로 $76,828.00을 회복하고 유지하면 harmonic 반등 확인 강도가 올라가며 $77,831.19-$78,180.00 저항 테스트가 우선 시나리오가 됩니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "가격 $75,893.40이 7일 레인지 EQ 약 $76,191.80 아래에 위치해 단기 할인 구간 진입",
        "CVD divergence 0.850 및 cvd_change +294.2060: 가격은 24h -0.02%로 정체/약세이나 매수 체결 누적은 개선되는 흡수형 다이버전스",
        "OI 24h -0.7030% 하락: 신규 숏 확장보다는 포지션 언와인딩 성격이 강해 하방 추세 추격 신뢰도 제한",
        "선물 베이시스 -0.0299%: 선물이 현물 대비 소폭 디스카운트로 과열 롱보다는 저평가/방어적 포지셔닝 신호",
        "상단 청산 밀집 $76,600, $77,400, $77,800 및 강한 유동성 목표 $78,900이 단기 반등 시 자석 역할 가능"
      ],
      "reasoning": "확정 구조는 약세로 본다. 현재가 $75,893.40은 EMA20 $77,479.66, EMA120 $77,608.90, EMA240 $84,217.82 모두 아래에 있어 구조적 수용은 아직 하방이며, 최근 7일 고점 $78,180 부근 돌파도 실패했다. 다만 셋업 관점에서는 가격이 7일 레인지 EQ 약 $76,191.80 아래 할인 구간에 있고, CVD divergence 0.850과 CVD 변화 +294.2060이 가격 약세와 반대로 움직여 단기 반등 셋업이 존재한다. 반대로 long_account_latest 0.573, 24h 롱 계정 +0.070은 롱 쏠림이 증가하는 신호라 $76,600-$77,800 청산 구간을 회수한 뒤 재차 눌릴 위험이 크다.",
      "key_levels": {
        "support": [
          74203.6,
          73900,
          72900,
          69300
        ],
        "resistance": [
          76600,
          77400,
          77800,
          78180,
          78900
        ]
      },
      "time_horizon": "short term, derivatives lead 기준 4-8시간 내 반응 우선",
      "invalidation_level": "$73,900 하향 이탈 및 수용",
      "risk_scenario": "$73,900을 하향 이탈하면 CVD 흡수형 반등 셋업은 실패로 보고, $72,900 및 $69,300 하단 청산 유동성까지 연쇄적으로 열릴 수 있다. 반대로 $77,800을 강하게 돌파하고 $78,180 위에서 수용되면 약세 구조가 중립으로 전환되며 $78,900 강한 유동성 레벨까지 숏 스퀴즈가 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 294.206,
        "oi_trend": 0.43,
        "oi_change_pct_24h": -0.703,
        "oi_latest": 99129.766,
        "funding_pressure": 0.431,
        "funding_avg": 6.921e-05,
        "funding_change_24h": 1.942e-05,
        "long_account_ratio": 0.538,
        "short_account_ratio": 0.462,
        "long_account_latest": 0.573,
        "short_account_latest": 0.427,
        "long_account_change_24h": 0.0697,
        "short_account_change_24h": -0.0697,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.314,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.493,
        "spot_futures_basis_pct": -0.0299,
        "basis_change_lookback": 0.0138,
        "aggregate_score": 0.441,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            73900,
            77134.26551
          ],
          [
            72900,
            80526.41035425
          ],
          [
            69300,
            90841.62750625
          ]
        ],
        "liq_above": [
          [
            76600,
            92466.14983075
          ],
          [
            77400,
            80588.3312483
          ],
          [
            77800,
            105113.9052642
          ]
        ],
        "strongest_liq_level": 78900,
        "fragility_score": 0.852,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"가격 $75,893.40이 7일 레인지 EQ 약 $76,191.80 아래에 위치해 단기 할인 구간 진입\",\n    \"CVD divergence 0.850 및 cvd_change +294.2060: 가격은 24h -0.02%로 정체/약세이나 매수 체결 누적은 개선되는 흡수형 다이버전스\",\n    \"OI 24h -0.7030% 하락: 신규 숏 확장보다는 포지션 언와인딩 성격이 강해 하방 추세 추격 신뢰도 제한\",\n    \"선물 베이시스 -0.0299%: 선물이 현물 대비 소폭 디스카운트로 과열 롱보다는 저평가/방어적 포지셔닝 신호\",\n    \"상단 청산 밀집 $76,600, $77,400, $77,800 및 강한 유동성 목표 $78,900이 단기 반등 시 자석 역할 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 약세로 본다. 현재가 $75,893.40은 EMA20 $77,479.66, EMA120 $77,608.90, EMA240 $84,217.82 모두 아래에 있어 구조적 수용은 아직 하방이며, 최근 7일 고점 $78,180 부근 돌파도 실패했다. 다만 셋업 관점에서는 가격이 7일 레인지 EQ 약 $76,191.80 아래 할인 구간에 있고, CVD divergence 0.850과 CVD 변화 +294.2060이 가격 약세와 반대로 움직여 단기 반등 셋업이 존재한다. 반대로 long_account_latest 0.573, 24h 롱 계정 +0.070은 롱 쏠림이 증가하는 신호라 $76,600-$77,800 청산 구간을 회수한 뒤 재차 눌릴 위험이 크다.\",\n  \"key_levels\": {\n    \"support\": [\n      74203.6,\n      73900,\n      72900,\n      69300\n    ],\n    \"resistance\": [\n      76600,\n      77400,\n      77800,\n      78180,\n      78900\n    ]\n  },\n  \"time_horizon\": \"short term, derivatives lead 기준 4-8시간 내 반응 우선\",\n  \"invalidation_level\": \"$73,900 하향 이탈 및 수용\",\n  \"risk_scenario\": \"$73,900을 하향 이탈하면 CVD 흡수형 반등 셋업은 실패로 보고, $72,900 및 $69,300 하단 청산 유동성까지 연쇄적으로 열릴 수 있다. 반대로 $77,800을 강하게 돌파하고 $78,180 위에서 수용되면 약세 구조가 중립으로 전환되며 $78,900 강한 유동성 레벨까지 숏 스퀴즈가 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.68,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $75,893.40가 주요 축 저점 SC $80,600.00 아래에 있어 Phase D SOS 이후 재수용이 아직 확인되지 않음",
        "SOS 고점 $82,828.70 돌파 후 가격이 되밀려 현재는 SOS 하단 재테스트/LPS 후보 구간으로 후퇴",
        "TERMINAL_SPRING $74,868.00 근처에서 지지 여부를 시험 중이며, 이탈 시 7일 저점 $74,203.60 및 Spring $65,595.70 재검증 위험",
        "가격이 EMA20 $77,479.66 및 EMA120 $77,608.90 아래에 있어 단기 반등 수용력이 약함",
        "현재 가격은 메인 레인지 EQ 약 $86,840.00 아래의 할인 구간에 있으나, $80,600.00 재클레임 전까지는 즉시 강세 셋업으로 보기 어려움"
      ],
      "reasoning": "메트릭상 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로 Phase D까지 진행된 것으로 읽힌다. 다만 현재가 $75,893.40는 SOS $82,828.70 및 SC/주요 범위 하단 $80,600.00 아래에 있어, Phase D가 확인된 구조라 하더라도 즉시 상방 지속이 아니라 TERMINAL_SPRING $74,868.00 부근의 LPS성 테스트가 우선이다. 따라서 구조 편향은 bullish이지만, 실행 셋업은 $80,600.00 재클레임 전까지 bearish-to-neutral이며, $74,868.00 방어 실패 시 $65,595.70 Spring 재검증 리스크가 커진다.",
      "key_levels": {
        "support": [
          74868.0,
          74203.6,
          65595.7
        ],
        "resistance": [
          80600.0,
          82828.7,
          84408.6,
          93080.0
        ]
      },
      "time_horizon": "중기",
      "invalidation_level": "$65,595.70",
      "risk_scenario": "$74,868.00 TERMINAL_SPRING 지지가 무너지면 Phase D의 LPS 테스트가 실패성 재하락으로 바뀌며, $74,203.60 7일 저점 이탈 후 $65,595.70 Spring 저점 재검증 가능성이 높아진다. 반대로 $80,600.00을 회복하고 $82,828.70 SOS 고점 위에서 수용되면 현재 약세 셋업은 무효화되고 축적 구조 내 상단 $84,408.60~$93,080.00 재테스트가 우선 시나리오가 된다.",
      "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": 112,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 119,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 139,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 202,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 271,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 278,
            "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": 112,
            "end_idx": 278,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 112,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 119,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 139,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 202,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 271,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 278,
                "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.68,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $75,893.40가 주요 축 저점 SC $80,600.00 아래에 있어 Phase D SOS 이후 재수용이 아직 확인되지 않음\",\n    \"SOS 고점 $82,828.70 돌파 후 가격이 되밀려 현재는 SOS 하단 재테스트/LPS 후보 구간으로 후퇴\",\n    \"TERMINAL_SPRING $74,868.00 근처에서 지지 여부를 시험 중이며, 이탈 시 7일 저점 $74,203.60 및 Spring $65,595.70 재검증 위험\",\n    \"가격이 EMA20 $77,479.66 및 EMA120 $77,608.90 아래에 있어 단기 반등 수용력이 약함\",\n    \"현재 가격은 메인 레인지 EQ 약 $86,840.00 아래의 할인 구간에 있으나, $80,600.00 재클레임 전까지는 즉시 강세 셋업으로 보기 어려움\"\n  ],\n  \"reasoning\": \"메트릭상 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로 Phase D까지 진행된 것으로 읽힌다. 다만 현재가 $75,893.40는 SOS $82,828.70 및 SC/주요 범위 하단 $80,600.00 아래에 있어, Phase D가 확인된 구조라 하더라도 즉시 상방 지속이 아니라 TERMINAL_SPRING $74,868.00 부근의 LPS성 테스트가 우선이다. 따라서 구조 편향은 bullish이지만, 실행 셋업은 $80,600.00 재클레임 전까지 bearish-to-neutral이며, $74,868.00 방어 실패 시 $65,595.70 Spring 재검증 리스크가 커진다.\",\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\": \"중기\",\n  \"invalidation_level\": \"$65,595.70\",\n  \"risk_scenario\": \"$74,868.00 TERMINAL_SPRING 지지가 무너지면 Phase D의 LPS 테스트가 실패성 재하락으로 바뀌며, $74,203.60 7일 저점 이탈 후 $65,595.70 Spring 저점 재검증 가능성이 높아진다. 반대로 $80,600.00을 회복하고 $82,828.70 SOS 고점 위에서 수용되면 현재 약세 셋업은 무효화되고 축적 구조 내 상단 $84,408.60~$93,080.00 재테스트가 우선 시나리오가 된다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.6,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.64,
      "active_setups": [
        "ICT: 현재가 $75,893.40가 균형가 $76,628.35 아래 할인 구간에 있으며, 최근 구조 이벤트가 $75,998.90 상방 BOS로 남아 있음",
        "Fibonacci: $74,868 → $82,828.70 상승 스윙의 깊은 되돌림 구간이며, 0.786 레벨 $76,571.59 부근에서 반응 후보 형성",
        "Harmonic: strict high-quality bullish Gartley PRZ $74,594.52-$75,813.87 상단 바로 위에 위치하나, 아직 확정 반응은 없음",
        "Derivatives: 가격은 7일 EQ $76,191.80 아래 할인 구간이고 CVD 개선이 가격 약세와 다이버전스를 형성",
        "Bearish risk: EMA20 $77,479.66, EMA120 $77,608.90 아래에 있으며 $78,180.00 부근에서 반복적인 상단 공급과 bearish engulfing 후보가 확인됨",
        "Wyckoff execution risk: SOS $82,828.70 이후 되밀려 TERMINAL_SPRING $74,868.00 부근의 LPS성 테스트가 진행 중"
      ],
      "setup_vs_structure": "구조적으로는 Wyckoff 축적 Phase D 해석과 ICT의 최근 상방 BOS가 있어 bullish가 우세하지만, 실행 셋업은 할인 구간 반등 후보와 EMA 하방 압박이 공존한다. 즉, 구조와 다수의 단기 셋업은 대체로 bullish로 정렬되지만, $77,480-$78,180 회복 전까지는 반등 셋업이 ‘확정 추세’가 아니라 방어 확인 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 1,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        75813.87,
        75641.2,
        74868.0,
        74203.6,
        73900.0,
        73669.0,
        70428.0,
        65595.7
      ],
      "resistance": [
        76191.8,
        76571.59,
        76628.35,
        76828.0,
        77479.66,
        77608.9,
        77908.99,
        78180.0,
        80600.0,
        82828.7,
        84408.6
      ]
    },
    "confluences": [
      "Wyckoff의 TERMINAL_SPRING $74,868.00와 Fibonacci 상승 스윙 저점 $74,868.00가 동일 가격으로 겹치며, 현재 구조의 핵심 방어 기준으로 작동한다.",
      "Candlestick, ICT, Derivatives, Wyckoff가 모두 $74,203.60 부근을 단기 하단 유동성 또는 주요 지지로 제시한다.",
      "Harmonic의 bullish Gartley PRZ $74,594.52-$75,813.87와 ICT의 전일 저점 $75,641.20, 현재가 $75,893.40가 매우 근접해 있어 하단 반응 구간이 $74,600-$75,900에 밀집해 있다.",
      "EMA20 $77,479.66와 EMA120 $77,608.90는 Candlestick, ICT, Harmonic, Derivatives 모두에서 반복적으로 언급되는 핵심 저항 클러스터다.",
      "$78,180.00는 Candlestick의 7일 고점 공급, ICT의 상단 저항, Derivatives의 청산/저항 구간, Harmonic의 상방 목표·저항 맥락이 겹치는 강한 구조적 분기점이다.",
      "Fibonacci 0.786 $76,571.59, ICT EQ $76,628.35, Derivatives 상방 청산 $76,600, Harmonic TP1 $76,828.00가 $76,570-$76,830 구간에 밀집해 단기 균형 회복 여부를 판단할 첫 저항대가 된다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed accumulation Phase D 구조를 근거로 상위 구조를 bullish로 보지만, 현재가는 SC/범위 하단 $80,600.00과 SOS $82,828.70 아래에 있어 실행 관점에서는 아직 LPS 확인 전이다.",
      "ICT는 최근 $75,998.90 상방 BOS를 구조적 bullish 근거로 보지만, 현재가 $75,893.40는 해당 BOS 레벨을 소폭 하회해 재수용 확인이 필요하다.",
      "Derivatives와 Candlestick은 가격이 EMA20 $77,479.66, EMA120 $77,608.90, EMA240 $84,217.82 아래에 있다는 점을 들어 구조적 수용을 bearish로 평가한다.",
      "Harmonic은 $74,594.52-$75,813.87 bullish Gartley PRZ를 제시하지만 이는 아직 반응이 확인되지 않은 forming 패턴이며, 반대로 $77,355.12-$78,703.80 부근에는 과거 bearish Shark 반응 이력도 존재한다.",
      "Fibonacci는 $74,868.00 스윙 저점이 유지되어 완전한 bearish 전환은 아니라고 보지만, $77,908.99와 $78,848.35 회복 실패로 상승 구조의 힘은 약화되었다고 평가한다."
    ],
    "executive_summary": "BTC 1일 구조는 Wyckoff 기준 confirmed accumulation Phase D로 해석되며, 현재 위치는 SOS $82,828.70 이후 되밀린 TERMINAL_SPRING $74,868.00 인근의 LPS성 테스트 구간이다. 구조적 핵심 지지는 $74,868.00-$74,203.60이며, 이 구간은 Wyckoff, Fibonacci, ICT, Harmonic, Derivatives가 동시에 주목하는 하단 클러스터다. 반면 가격은 EMA20 $77,479.66, EMA120 $77,608.90, 7일 공급 $78,180.00 아래에 있어 상방 구조의 재수용은 아직 확인되지 않았다. 따라서 전체 구조 신호는 bullish로 유지하되, 현재 국면은 확정 상승 지속이 아니라 축적 Phase D 내부의 방어·재수용 확인 구간이며, $74,868.00 이탈 시 $74,203.60 및 더 깊게는 $65,595.70 Spring 재검증 리스크가 구조 조건으로 부각된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.6,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.64,\n    \"active_setups\": [\n      \"ICT: 현재가 $75,893.40가 균형가 $76,628.35 아래 할인 구간에 있으며, 최근 구조 이벤트가 $75,998.90 상방 BOS로 남아 있음\",\n      \"Fibonacci: $74,868 → $82,828.70 상승 스윙의 깊은 되돌림 구간이며, 0.786 레벨 $76,571.59 부근에서 반응 후보 형성\",\n      \"Harmonic: strict high-quality bullish Gartley PRZ $74,594.52-$75,813.87 상단 바로 위에 위치하나, 아직 확정 반응은 없음\",\n      \"Derivatives: 가격은 7일 EQ $76,191.80 아래 할인 구간이고 CVD 개선이 가격 약세와 다이버전스를 형성\",\n      \"Bearish risk: EMA20 $77,479.66, EMA120 $77,608.90 아래에 있으며 $78,180.00 부근에서 반복적인 상단 공급과 bearish engulfing 후보가 확인됨\",\n      \"Wyckoff execution risk: SOS $82,828.70 이후 되밀려 TERMINAL_SPRING $74,868.00 부근의 LPS성 테스트가 진행 중\"\n    ],\n    \"setup_vs_structure\": \"구조적으로는 Wyckoff 축적 Phase D 해석과 ICT의 최근 상방 BOS가 있어 bullish가 우세하지만, 실행 셋업은 할인 구간 반등 후보와 EMA 하방 압박이 공존한다. 즉, 구조와 다수의 단기 셋업은 대체로 bullish로 정렬되지만, $77,480-$78,180 회복 전까지는 반등 셋업이 ‘확정 추세’가 아니라 방어 확인 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 1,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      75813.87,\n      75641.2,\n      74868.0,\n      74203.6,\n      73900.0,\n      73669.0,\n      70428.0,\n      65595.7\n    ],\n    \"resistance\": [\n      76191.8,\n      76571.59,\n      76628.35,\n      76828.0,\n      77479.66,\n      77608.9,\n      77908.99,\n      78180.0,\n      80600.0,\n      82828.7,\n      84408.6\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff의 TERMINAL_SPRING $74,868.00와 Fibonacci 상승 스윙 저점 $74,868.00가 동일 가격으로 겹치며, 현재 구조의 핵심 방어 기준으로 작동한다.\",\n    \"Candlestick, ICT, Derivatives, Wyckoff가 모두 $74,203.60 부근을 단기 하단 유동성 또는 주요 지지로 제시한다.\",\n    \"Harmonic의 bullish Gartley PRZ $74,594.52-$75,813.87와 ICT의 전일 저점 $75,641.20, 현재가 $75,893.40가 매우 근접해 있어 하단 반응 구간이 $74,600-$75,900에 밀집해 있다.\",\n    \"EMA20 $77,479.66와 EMA120 $77,608.90는 Candlestick, ICT, Harmonic, Derivatives 모두에서 반복적으로 언급되는 핵심 저항 클러스터다.\",\n    \"$78,180.00는 Candlestick의 7일 고점 공급, ICT의 상단 저항, Derivatives의 청산/저항 구간, Harmonic의 상방 목표·저항 맥락이 겹치는 강한 구조적 분기점이다.\",\n    \"Fibonacci 0.786 $76,571.59, ICT EQ $76,628.35, Derivatives 상방 청산 $76,600, Harmonic TP1 $76,828.00가 $76,570-$76,830 구간에 밀집해 단기 균형 회복 여부를 판단할 첫 저항대가 된다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed accumulation Phase D 구조를 근거로 상위 구조를 bullish로 보지만, 현재가는 SC/범위 하단 $80,600.00과 SOS $82,828.70 아래에 있어 실행 관점에서는 아직 LPS 확인 전이다.\",\n    \"ICT는 최근 $75,998.90 상방 BOS를 구조적 bullish 근거로 보지만, 현재가 $75,893.40는 해당 BOS 레벨을 소폭 하회해 재수용 확인이 필요하다.\",\n    \"Derivatives와 Candlestick은 가격이 EMA20 $77,479.66, EMA120 $77,608.90, EMA240 $84,217.82 아래에 있다는 점을 들어 구조적 수용을 bearish로 평가한다.\",\n    \"Harmonic은 $74,594.52-$75,813.87 bullish Gartley PRZ를 제시하지만 이는 아직 반응이 확인되지 않은 forming 패턴이며, 반대로 $77,355.12-$78,703.80 부근에는 과거 bearish Shark 반응 이력도 존재한다.\",\n    \"Fibonacci는 $74,868.00 스윙 저점이 유지되어 완전한 bearish 전환은 아니라고 보지만, $77,908.99와 $78,848.35 회복 실패로 상승 구조의 힘은 약화되었다고 평가한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 축적 구조 점수와 구조 적합도가 가장 높고, 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로 이어지는 구체적 Phase D 구조를 제시했기 때문이다. 다만 현재가는 SOS와 범위 하단 아래에 있어, 구조적 bullish와 즉시 실행 셋업을 명확히 분리해야 한다.\",\n  \"invalidation_level\": \"Phase D/LPS 구조의 1차 훼손은 $74,868.00 및 $74,203.60 이탈이며, 축적 레짐 자체의 핵심 무효화 기준은 Spring 저점 $65,595.70 하회로 본다.\",\n  \"executive_summary\": \"BTC 1일 구조는 Wyckoff 기준 confirmed accumulation Phase D로 해석되며, 현재 위치는 SOS $82,828.70 이후 되밀린 TERMINAL_SPRING $74,868.00 인근의 LPS성 테스트 구간이다. 구조적 핵심 지지는 $74,868.00-$74,203.60이며, 이 구간은 Wyckoff, Fibonacci, ICT, Harmonic, Derivatives가 동시에 주목하는 하단 클러스터다. 반면 가격은 EMA20 $77,479.66, EMA120 $77,608.90, 7일 공급 $78,180.00 아래에 있어 상방 구조의 재수용은 아직 확인되지 않았다. 따라서 전체 구조 신호는 bullish로 유지하되, 현재 국면은 확정 상승 지속이 아니라 축적 Phase D 내부의 방어·재수용 확인 구간이며, $74,868.00 이탈 시 $74,203.60 및 더 깊게는 $65,595.70 Spring 재검증 리스크가 구조 조건으로 부각된다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.6,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.57,
    "waypoints": [
      {
        "seq": 1,
        "price": 74868.0,
        "type": "liquidity_sweep",
        "source": "Wyckoff TERMINAL_SPRING, Fibonacci 상승 스윙 저점, Harmonic Gartley PRZ 하단, ICT 전일 저점 $75,641.20 하단 유동성",
        "description": "구조·셋업 모두 bullish이나 현재는 '방어 확인 구간'이며 다수 핵심 셋업(Harmonic PRZ 미반응 대기, ICT 할인, Derivatives CVD 다이버전스)이 할인 구간 반등을 노린다. 따라서 첫 움직임은 전일 저점 $75,641.20 아래 매도 유동성을 쓸어내며 Wyckoff TERMINAL_SPRING·Fibonacci 스윙 저점 $74,868.00와 Harmonic Gartley PRZ($74,594.52-$75,813.87) 핵심 지지를 시험하는 하방 스윕. 이 구간 방어가 LPS 확인 트리거가 된다.",
        "est_hours": 4.0,
        "turning_zone": [
          74203.6,
          74868.0
        ],
        "likely_wick": 74594.52,
        "rejection_confirm": 75641.2,
        "invalid_overshoot": 73900.0,
        "calibration_reasoning": "스윙저점 $74,868(상단)과 Chairman 지지 $74,203.60(하단)이 스윕 종료 밴드를 형성, 폭 약 0.35×ATR. likely_wick은 매도 유동성을 쓸어내는 Gartley PRZ 하단 $74,594.52(PRE_CONFIRMATION 조건부 반응대로만 참조). 전일 저점 $75,641.20 재탈환 시 스윕 반전 확인, $73,900 Chairman 지지 이탈 시 LPS 방어 실패로 무효."
      },
      {
        "seq": 2,
        "price": 76628.35,
        "type": "resistance_test",
        "source": "ICT EQ $76,628.35, Fibonacci 0.786 $76,571.59, Harmonic TP1 $76,828.00, Derivatives 상방 청산 $76,600",
        "description": "$74,868 방어 확인 후 첫 반등 목표. ICT 균형가 $76,628.35, Fibonacci 0.786 $76,571.59, Harmonic TP1 $76,828.00, 파생 청산 $76,600이 $76,570-$76,830에 밀집한 1차 저항 클러스터로, 단기 균형(EQ) 회복 여부를 판단하는 첫 분기점이다.",
        "est_hours": 11.0,
        "turning_zone": [
          76628.35,
          77201.0
        ],
        "likely_wick": 76828.0,
        "rejection_confirm": 76191.8,
        "invalid_overshoot": 77479.66,
        "calibration_reasoning": "ICT 균형가 $76,628.35·Fib0.786 $76,571.59·파생청산 $76,600·조건부 Harmonic TP1 $76,828이 밀집한 $76,570-$76,830 저항 클러스터가 핵심으로, 폭 0.3×ATR로 잡아 EMA20과 분리. likely_wick은 클러스터 상단 Chairman 저항 $76,828(라운드 $77,000은 오버슈트 리스크). $76,191.80 하향 이탈 시 거부 확인, EMA20 $77,479.66 돌파 시 통과로 무효."
      },
      {
        "seq": 3,
        "price": 77608.9,
        "type": "resistance_test",
        "source": "Candlestick·ICT·Harmonic·Derivatives 공통 EMA20 $77,479.66 / EMA120 $77,608.90 클러스터",
        "description": "재수용 핵심 분기점인 EMA20 $77,479.66-EMA120 $77,608.90 클러스터 도달. 구조적 bullish 재확인을 위해 반드시 회복해야 하는 구간이나, 반복적 상단 공급과 bearish_engulfing 이력($78,180 부근)이 있어 24시간 내에는 이 저항대에서 1차 저항에 부딪힐 가능성이 크다.",
        "est_hours": 20.0,
        "turning_zone": [
          77608.9,
          78754.16
        ],
        "likely_wick": 77908.99,
        "rejection_confirm": 77479.66,
        "invalid_overshoot": 78848.35,
        "calibration_reasoning": "터미널 구간이라 폭 0.6×ATR 적용. EMA120 $77,608.90 위로 Golden ratio(0.618) $77,908.99(Chairman 동시)과 bearish_engulfing 공급 $78,180이 거부 후보이며, likely_wick은 최강 컨플루언스인 골든비율 $77,908.99(첫 저항), $78,180 공급대는 상단 오버슈트로 흡수. EMA20 $77,479.66 상실 시 거부 확인, 다음 Fib 저항 $78,848.35 돌파 시 무효(Harmonic TP2는 미확정이라 앵커 제외)."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 76000.0,
        "expected_low": 74868.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 76250.0,
        "expected_low": 74868.0,
        "high_first": false
      },
      "24h": {
        "expected_high": 77608.9,
        "expected_low": 74868.0,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 78180.0,
        "description": "7일 공급·청산 밀집 구간 $78,180.00을 상향 돌파·수용하면 EMA 클러스터를 완전히 회복한 것으로, $80,600.00(범위 하단)·$82,828.70(SOS) 재도전으로 상방 가속을 확정한다."
      },
      "bearish": {
        "price": 74868.0,
        "description": "$74,868.00을 단순 스윕이 아닌 종가 기준으로 이탈·수용하면 LPS 방어 실패로, $74,203.60(7일 저점)·$65,595.70(Spring) 재검증으로 하방 가속이 시작된다."
      }
    },
    "scenario_invalidation": 74203.6,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.57,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 74868.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff TERMINAL_SPRING, Fibonacci 상승 스윙 저점, Harmonic Gartley PRZ 하단, ICT 전일 저점 $75,641.20 하단 유동성\",\n      \"description\": \"구조·셋업 모두 bullish이나 현재는 '방어 확인 구간'이며 다수 핵심 셋업(Harmonic PRZ 미반응 대기, ICT 할인, Derivatives CVD 다이버전스)이 할인 구간 반등을 노린다. 따라서 첫 움직임은 전일 저점 $75,641.20 아래 매도 유동성을 쓸어내며 Wyckoff TERMINAL_SPRING·Fibonacci 스윙 저점 $74,868.00와 Harmonic Gartley PRZ($74,594.52-$75,813.87) 핵심 지지를 시험하는 하방 스윕. 이 구간 방어가 LPS 확인 트리거가 된다.\",\n      \"est_hours\": 4.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 76628.35,\n      \"type\": \"resistance_test\",\n      \"source\": \"ICT EQ $76,628.35, Fibonacci 0.786 $76,571.59, Harmonic TP1 $76,828.00, Derivatives 상방 청산 $76,600\",\n      \"description\": \"$74,868 방어 확인 후 첫 반등 목표. ICT 균형가 $76,628.35, Fibonacci 0.786 $76,571.59, Harmonic TP1 $76,828.00, 파생 청산 $76,600이 $76,570-$76,830에 밀집한 1차 저항 클러스터로, 단기 균형(EQ) 회복 여부를 판단하는 첫 분기점이다.\",\n      \"est_hours\": 11.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 77608.9,\n      \"type\": \"resistance_test\",\n      \"source\": \"Candlestick·ICT·Harmonic·Derivatives 공통 EMA20 $77,479.66 / EMA120 $77,608.90 클러스터\",\n      \"description\": \"재수용 핵심 분기점인 EMA20 $77,479.66-EMA120 $77,608.90 클러스터 도달. 구조적 bullish 재확인을 위해 반드시 회복해야 하는 구간이나, 반복적 상단 공급과 bearish_engulfing 이력($78,180 부근)이 있어 24시간 내에는 이 저항대에서 1차 저항에 부딪힐 가능성이 크다.\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 76000.0, \"expected_low\": 74868.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 76250.0, \"expected_low\": 74868.0, \"high_first\": false},\n    \"24h\": {\"expected_high\": 77608.9, \"expected_low\": 74868.0, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 78180.0, \"description\": \"7일 공급·청산 밀집 구간 $78,180.00을 상향 돌파·수용하면 EMA 클러스터를 완전히 회복한 것으로, $80,600.00(범위 하단)·$82,828.70(SOS) 재도전으로 상방 가속을 확정한다.\"},\n    \"bearish\": {\"price\": 74868.0, \"description\": \"$74,868.00을 단순 스윕이 아닌 종가 기준으로 이탈·수용하면 LPS 방어 실패로, $74,203.60(7일 저점)·$65,595.70(Spring) 재검증으로 하방 가속이 시작된다.\"}\n  },\n  \"scenario_invalidation\": 74203.6\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 74868.0,
        "turning_zone": [
          74203.6,
          74868.0
        ],
        "likely_wick": 74594.52,
        "rejection_confirm": 75641.2,
        "invalid_overshoot": 73900.0,
        "calibration_reasoning": "스윙저점 $74,868(상단)과 Chairman 지지 $74,203.60(하단)이 스윕 종료 밴드를 형성, 폭 약 0.35×ATR. likely_wick은 매도 유동성을 쓸어내는 Gartley PRZ 하단 $74,594.52(PRE_CONFIRMATION 조건부 반응대로만 참조). 전일 저점 $75,641.20 재탈환 시 스윕 반전 확인, $73,900 Chairman 지지 이탈 시 LPS 방어 실패로 무효."
      },
      {
        "seq": 2,
        "base_target": 76628.35,
        "turning_zone": [
          76628.35,
          77201.0
        ],
        "likely_wick": 76828.0,
        "rejection_confirm": 76191.8,
        "invalid_overshoot": 77479.66,
        "calibration_reasoning": "ICT 균형가 $76,628.35·Fib0.786 $76,571.59·파생청산 $76,600·조건부 Harmonic TP1 $76,828이 밀집한 $76,570-$76,830 저항 클러스터가 핵심으로, 폭 0.3×ATR로 잡아 EMA20과 분리. likely_wick은 클러스터 상단 Chairman 저항 $76,828(라운드 $77,000은 오버슈트 리스크). $76,191.80 하향 이탈 시 거부 확인, EMA20 $77,479.66 돌파 시 통과로 무효."
      },
      {
        "seq": 3,
        "base_target": 77608.9,
        "turning_zone": [
          77608.9,
          78754.16
        ],
        "likely_wick": 77908.99,
        "rejection_confirm": 77479.66,
        "invalid_overshoot": 78848.35,
        "calibration_reasoning": "터미널 구간이라 폭 0.6×ATR 적용. EMA120 $77,608.90 위로 Golden ratio(0.618) $77,908.99(Chairman 동시)과 bearish_engulfing 공급 $78,180이 거부 후보이며, likely_wick은 최강 컨플루언스인 골든비율 $77,908.99(첫 저항), $78,180 공급대는 상단 오버슈트로 흡수. EMA20 $77,479.66 상실 시 거부 확인, 다음 Fib 저항 $78,848.35 돌파 시 무효(Harmonic TP2는 미확정이라 앵커 제외)."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 74868.00,\n      \"turning_zone\": [74203.60, 74868.00],\n      \"likely_wick\": 74594.52,\n      \"rejection_confirm\": 75641.20,\n      \"invalid_overshoot\": 73900.00,\n      \"calibration_reasoning\": \"스윙저점 $74,868(상단)과 Chairman 지지 $74,203.60(하단)이 스윕 종료 밴드를 형성, 폭 약 0.35×ATR. likely_wick은 매도 유동성을 쓸어내는 Gartley PRZ 하단 $74,594.52(PRE_CONFIRMATION 조건부 반응대로만 참조). 전일 저점 $75,641.20 재탈환 시 스윕 반전 확인, $73,900 Chairman 지지 이탈 시 LPS 방어 실패로 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 76628.35,\n      \"turning_zone\": [76628.35, 77201.00],\n      \"likely_wick\": 76828.00,\n      \"rejection_confirm\": 76191.80,\n      \"invalid_overshoot\": 77479.66,\n      \"calibration_reasoning\": \"ICT 균형가 $76,628.35·Fib0.786 $76,571.59·파생청산 $76,600·조건부 Harmonic TP1 $76,828이 밀집한 $76,570-$76,830 저항 클러스터가 핵심으로, 폭 0.3×ATR로 잡아 EMA20과 분리. likely_wick은 클러스터 상단 Chairman 저항 $76,828(라운드 $77,000은 오버슈트 리스크). $76,191.80 하향 이탈 시 거부 확인, EMA20 $77,479.66 돌파 시 통과로 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 77608.90,\n      \"turning_zone\": [77608.90, 78754.16],\n      \"likely_wick\": 77908.99,\n      \"rejection_confirm\": 77479.66,\n      \"invalid_overshoot\": 78848.35,\n      \"calibration_reasoning\": \"터미널 구간이라 폭 0.6×ATR 적용. EMA120 $77,608.90 위로 Golden ratio(0.618) $77,908.99(Chairman 동시)과 bearish_engulfing 공급 $78,180이 거부 후보이며, likely_wick은 최강 컨플루언스인 골든비율 $77,908.99(첫 저항), $78,180 공급대는 상단 오버슈트로 흡수. EMA20 $77,479.66 상실 시 거부 확인, 다음 Fib 저항 $78,848.35 돌파 시 무효(Harmonic TP2는 미확정이라 앵커 제외).\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 150.2,
      "chairman": 48.7,
      "operating_path": 274.0,
      "tp_calibrator": 163.8
    },
    "agents": {},
    "total_s": 636.8
  }
}