{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-29 09:00 KST",
  "last_price": 59550.2,
  "num_candles": 300,
  "stage1_analyses": {
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "롱 계정 비율 0.698로 과밀 상태이며 24시간 동안 +0.029 상승, 숏 계정은 0.302로 하락하여 contrarian bearish 조건 형성",
        "CVD 변화량 -4139.5480으로 가격이 EMA20 $59,506 부근까지 반등했지만 매수 참여가 약한 상태",
        "현재가 $59,550은 7일 레인지 EQ $59,606 부근에서 저항을 받는 중이며 EMA120 $59,903, EMA240 $59,964 아래에 위치",
        "하방 청산 유동성이 $59,000, $58,400, $57,200에 순차적으로 존재하여 단기 하방 자석 역할 가능",
        "aggregate_score 0.320, bull_signals 0개 vs bear_signals 2개로 파생 포지셔닝은 매수보다 매도 우위"
      ],
      "reasoning": "확정 구조 관점에서는 7일 고점 $60,924와 저점 $58,288 사이의 박스권 내부이며, 명확한 BOS나 CHoCH 확인이 없어 structure_bias는 neutral로 본다. 다만 셋업 관점에서는 롱 계정 비율이 0.698까지 상승하고 account_long_crowding이 1.000으로 극단적이어서, 롱 포지션 쏠림에 대한 역방향 하락 압력이 커지고 있다. 가격은 $59,550으로 EMA20 $59,506 위에 간신히 있지만 EMA120 $59,903과 EMA240 $59,964 아래에 있으며, CVD가 -4139.5480 감소해 반등 참여가 약하다. 따라서 단기 4-8시간 기준으로는 $59,000 및 $58,400 하방 유동성 테스트 가능성을 더 높게 본다.",
      "key_levels": {
        "support": [
          59000,
          58400,
          58288,
          57200
        ],
        "resistance": [
          59903.58,
          59963.69,
          60200,
          60800,
          60924.7
        ]
      },
      "time_horizon": "short term, 약 4-8시간",
      "invalidation_level": "$60,200 상방 청산 레벨을 회수한 뒤 15분봉 기준으로 안착할 경우",
      "risk_scenario": "$60,200 위로 숏 청산이 발생하고 가격이 EMA120 $59,903 및 EMA240 $59,964 위에서 유지되면, 롱 과밀에도 불구하고 $60,800-$60,924까지 상방 유동성 스윕이 먼저 나올 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -4139.548,
        "oi_trend": 0.493,
        "oi_change_pct_24h": -0.067,
        "oi_latest": 102883.932,
        "funding_pressure": 0.467,
        "funding_avg": 3.348e-05,
        "funding_change_24h": 1.72e-06,
        "long_account_ratio": 0.676,
        "short_account_ratio": 0.324,
        "long_account_latest": 0.698,
        "short_account_latest": 0.302,
        "long_account_change_24h": 0.0294,
        "short_account_change_24h": -0.0294,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.045,
        "basis_change_lookback": 0.007,
        "aggregate_score": 0.32,
        "bull_signals": 0,
        "bear_signals": 2,
        "liq_below": [
          [
            59000,
            1591.3622841000001
          ],
          [
            58400,
            2172.6566482499998
          ],
          [
            57200,
            2243.730291
          ]
        ],
        "liq_above": [
          [
            60200,
            1888.1504316000003
          ],
          [
            60800,
            1813.4079793499998
          ],
          [
            62000,
            2345.640629
          ]
        ],
        "strongest_liq_level": 53600,
        "fragility_score": 0.549,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"롱 계정 비율 0.698로 과밀 상태이며 24시간 동안 +0.029 상승, 숏 계정은 0.302로 하락하여 contrarian bearish 조건 형성\",\n    \"CVD 변화량 -4139.5480으로 가격이 EMA20 $59,506 부근까지 반등했지만 매수 참여가 약한 상태\",\n    \"현재가 $59,550은 7일 레인지 EQ $59,606 부근에서 저항을 받는 중이며 EMA120 $59,903, EMA240 $59,964 아래에 위치\",\n    \"하방 청산 유동성이 $59,000, $58,400, $57,200에 순차적으로 존재하여 단기 하방 자석 역할 가능\",\n    \"aggregate_score 0.320, bull_signals 0개 vs bear_signals 2개로 파생 포지셔닝은 매수보다 매도 우위\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 7일 고점 $60,924와 저점 $58,288 사이의 박스권 내부이며, 명확한 BOS나 CHoCH 확인이 없어 structure_bias는 neutral로 본다. 다만 셋업 관점에서는 롱 계정 비율이 0.698까지 상승하고 account_long_crowding이 1.000으로 극단적이어서, 롱 포지션 쏠림에 대한 역방향 하락 압력이 커지고 있다. 가격은 $59,550으로 EMA20 $59,506 위에 간신히 있지만 EMA120 $59,903과 EMA240 $59,964 아래에 있으며, CVD가 -4139.5480 감소해 반등 참여가 약하다. 따라서 단기 4-8시간 기준으로는 $59,000 및 $58,400 하방 유동성 테스트 가능성을 더 높게 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      59000,\n      58400,\n      58288,\n      57200\n    ],\n    \"resistance\": [\n      59903.58,\n      59963.69,\n      60200,\n      60800,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term, 약 4-8시간\",\n  \"invalidation_level\": \"$60,200 상방 청산 레벨을 회수한 뒤 15분봉 기준으로 안착할 경우\",\n  \"risk_scenario\": \"$60,200 위로 숏 청산이 발생하고 가격이 EMA120 $59,903 및 EMA240 $59,964 위에서 유지되면, 롱 과밀에도 불구하고 $60,800-$60,924까지 상방 유동성 스윕이 먼저 나올 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.65,
      "setup_signals": [
        "가격이 EQ/0.5 되돌림 $59,553.90 바로 아래인 $59,550.20에 위치해 단기 할인 구간 진입",
        "골든비율 0.618 되돌림 지지 $59,476.19가 현재가에서 약 0.12% 아래에 대기",
        "하단 confluence zone $59,422.71에 ret_0.618, ret_0.786, ret_0.618, ret_0.5가 중첩되어 cluster_score 1.0 형성",
        "fib_reaction_state가 testing이며 reaction_probability 0.65로 단기 반등 시도 가능성 존재",
        "상방 회복 시 $59,631.61 ret_0.382 및 $59,727.77 ret_0.236까지 되돌림 회복 여지"
      ],
      "reasoning": "현재 BTC/USDT는 상승 스윙 $59,225 → $59,883의 0.5 되돌림 $59,553.90을 테스트 중이며, 현재가 $59,550.20은 해당 균형가 바로 아래에 있습니다. 구조적으로는 명확한 BOS/CHoCH 또는 상위 구조 수용 확인이 없고, 가격도 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에 있어 structure_bias는 neutral로 판단합니다. 다만 셋업 관점에서는 0.618 골든비율 $59,476.19와 강한 하단 confluence zone $59,422.71이 가까워, 하락이 깊어지더라도 매수 반응이 나올 확률이 상대적으로 높습니다. $59,553.90을 회복하면 $59,631.61, $59,727.77, 이후 스윙 고점 $59,883.20이 순차 저항이며, $59,476.19를 이탈하면 $59,365.54 ret_0.786까지 눌림이 확장될 수 있습니다.",
      "key_levels": {
        "support": [
          59476.19,
          59422.71,
          59365.54
        ],
        "resistance": [
          59553.9,
          59631.61,
          59727.77,
          59883.2,
          60045.23
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,365.54",
      "risk_scenario": "$59,476.19 골든비율 지지가 깨지고 $59,365.54 ret_0.786 아래로 수용되면 현재의 bullish setup은 실패하며, $59,225 스윙 저점 재방문 및 7일 저점 $58,288.00 방향의 하락 확장 리스크가 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $59,225 → $59,883",
        "direction": "up",
        "nearest_fib": "ret_0.5",
        "nearest_fib_price": 59553.9,
        "nearest_fib_distance": 0.01,
        "golden_ratio_level": 59476.19,
        "fib_ret_382": 59631.61,
        "fib_ret_618": 59476.19,
        "confluence_zones": [
          {
            "price": 59422.71,
            "count": 4,
            "levels": [
              "ret_0.618",
              "ret_0.786",
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59712.23,
            "count": 4,
            "levels": [
              "ret_0.5",
              "ret_0.382",
              "ret_0.236",
              "ext_1.0"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60045.23,
            "count": 3,
            "levels": [
              "ret_0.382",
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 60378.15,
            "count": 3,
            "levels": [
              "ext_1.618",
              "ret_0.236",
              "ext_2.0"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 60936.76,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_2.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59476.1852,
          59365.5404
        ],
        "resistance_levels": [
          59553.899999999994,
          59631.614799999996,
          59727.770399999994
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59727.77,
            "distance_pct": 0.3,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 59631.61,
            "distance_pct": 0.14,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 59553.9,
            "distance_pct": 0.01,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 59476.19,
            "distance_pct": 0.12,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 59365.54,
            "distance_pct": 0.31,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 59883.2,
            "distance_pct": 0.56,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 60062.34,
            "distance_pct": 0.86,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 60155.86,
            "distance_pct": 1.02,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 60290.21,
            "distance_pct": 1.24,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 60541.8,
            "distance_pct": 1.67,
            "is_support": false,
            "cluster_score": 0.85
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"가격이 EQ/0.5 되돌림 $59,553.90 바로 아래인 $59,550.20에 위치해 단기 할인 구간 진입\",\n    \"골든비율 0.618 되돌림 지지 $59,476.19가 현재가에서 약 0.12% 아래에 대기\",\n    \"하단 confluence zone $59,422.71에 ret_0.618, ret_0.786, ret_0.618, ret_0.5가 중첩되어 cluster_score 1.0 형성\",\n    \"fib_reaction_state가 testing이며 reaction_probability 0.65로 단기 반등 시도 가능성 존재\",\n    \"상방 회복 시 $59,631.61 ret_0.382 및 $59,727.77 ret_0.236까지 되돌림 회복 여지\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 상승 스윙 $59,225 → $59,883의 0.5 되돌림 $59,553.90을 테스트 중이며, 현재가 $59,550.20은 해당 균형가 바로 아래에 있습니다. 구조적으로는 명확한 BOS/CHoCH 또는 상위 구조 수용 확인이 없고, 가격도 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에 있어 structure_bias는 neutral로 판단합니다. 다만 셋업 관점에서는 0.618 골든비율 $59,476.19와 강한 하단 confluence zone $59,422.71이 가까워, 하락이 깊어지더라도 매수 반응이 나올 확률이 상대적으로 높습니다. $59,553.90을 회복하면 $59,631.61, $59,727.77, 이후 스윙 고점 $59,883.20이 순차 저항이며, $59,476.19를 이탈하면 $59,365.54 ret_0.786까지 눌림이 확장될 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59476.19,\n      59422.71,\n      59365.54\n    ],\n    \"resistance\": [\n      59553.9,\n      59631.61,\n      59727.77,\n      59883.2,\n      60045.23\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,365.54\",\n  \"risk_scenario\": \"$59,476.19 골든비율 지지가 깨지고 $59,365.54 ret_0.786 아래로 수용되면 현재의 bullish setup은 실패하며, $59,225 스윙 저점 재방문 및 7일 저점 $58,288.00 방향의 하락 확장 리스크가 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.72,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "분배 레짐(DIS)에서 Phase D, 현재 이벤트가 LPSY로 탐지됨: LPSY $59,883.20 이후 현재가 $59,550.20으로 하락",
        "현재가 $59,550.20은 메인 레인지 EQ 약 $59,561.00 부근이지만 소폭 하회하여 중립선 아래로 밀림",
        "UTAD $60,543.30 이후 고점 회복 실패, 이후 LPSY $59,883.20에서 공급 재출현",
        "SOW_IN_PHASE_B $59,819.80 하단을 현재가가 재차 하회하여 Phase B/C 약세 신호가 유지됨",
        "EMA120 $59,903.58 및 EMA240 $59,963.69 아래에서 거래되어 상단 공급 회복이 아직 확인되지 않음"
      ],
      "reasoning": "현재 구조는 DIS 레짐이며 regime_fitness 0.963, 감지된 이벤트 체인은 BC $60,734.00 → AR $58,388.00 → ST $60,167.30 → SOW_IN_PHASE_B $59,819.80 → UT $60,303.20 → UTAD $60,543.30 → LPSY $59,883.20로 분배 Phase D 해석이 우세하다. 현재가 $59,550.20은 메인 레인지 $58,388.00~$60,734.00의 EQ 약 $59,561.00 바로 아래이며, LPSY $59,883.20과 SOW_IN_PHASE_B $59,819.80을 회복하지 못한 점은 공급 우위의 단기 경로를 지지한다. 다만 가격이 아직 AR 저점 $58,388.00을 명확히 이탈한 것은 아니므로, 이는 확정적인 Phase E 진행이라기보다 LPSY 이후 하단 유동성 재시험 가능성이 높은 상태로 봐야 한다. 구조적 편향은 bearish이지만, 즉각적인 하락 확증은 $59,819.80 재거부와 $58,388.00 방향 압력 지속 여부로 확인해야 한다.",
      "key_levels": {
        "support": [
          58388.0,
          58288.0
        ],
        "resistance": [
          59819.8,
          59883.2,
          60303.2,
          60543.3,
          60734.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$60,543.30 회복 및 수용 시 LPSY 이후 약세 시나리오가 크게 훼손되며, $60,734.00 상방 수용 시 현재 분배 구조 해석 자체를 재평가해야 함",
      "risk_scenario": "반대 시나리오는 가격이 $59,819.80~$59,883.20을 빠르게 회복하고, UT $60,303.20 위에서 지지 전환되는 경우다. 이 경우 LPSY가 실패 신호가 아니라 단순 중간 흔들림이었을 가능성이 커지며, $60,543.30 UTAD 고점 재시험 및 $60,734.00 BC 상단 유동성 재공략으로 이어질 수 있다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 42,
            "price": 60734.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 65,
            "price": 58388.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 108,
            "price": 60167.3,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 197,
            "price": 59819.8,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 200,
            "price": 60303.2,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 238,
            "price": 60543.3,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 292,
            "price": 59883.2,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 42,
            "end_idx": 292,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 42,
                "price": 60734.0,
                "color": "#ffd166",
                "dt": "2026-06-26 16:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 65,
                "price": 58388.0,
                "color": "#06d6a0",
                "dt": "2026-06-26 22:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 108,
                "price": 60167.3,
                "color": "#118ab2",
                "dt": "2026-06-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 197,
                "price": 59819.8,
                "color": "#ef476f",
                "dt": "2026-06-28 07:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 200,
                "price": 60303.2,
                "color": "#f9844a",
                "dt": "2026-06-28 08:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 238,
                "price": 60543.3,
                "color": "#f9844a",
                "dt": "2026-06-28 17:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 292,
                "price": 59883.2,
                "color": "#8338ec",
                "dt": "2026-06-29 07:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 58388.0,
        "main_range_high": 60734.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"분배 레짐(DIS)에서 Phase D, 현재 이벤트가 LPSY로 탐지됨: LPSY $59,883.20 이후 현재가 $59,550.20으로 하락\",\n    \"현재가 $59,550.20은 메인 레인지 EQ 약 $59,561.00 부근이지만 소폭 하회하여 중립선 아래로 밀림\",\n    \"UTAD $60,543.30 이후 고점 회복 실패, 이후 LPSY $59,883.20에서 공급 재출현\",\n    \"SOW_IN_PHASE_B $59,819.80 하단을 현재가가 재차 하회하여 Phase B/C 약세 신호가 유지됨\",\n    \"EMA120 $59,903.58 및 EMA240 $59,963.69 아래에서 거래되어 상단 공급 회복이 아직 확인되지 않음\"\n  ],\n  \"reasoning\": \"현재 구조는 DIS 레짐이며 regime_fitness 0.963, 감지된 이벤트 체인은 BC $60,734.00 → AR $58,388.00 → ST $60,167.30 → SOW_IN_PHASE_B $59,819.80 → UT $60,303.20 → UTAD $60,543.30 → LPSY $59,883.20로 분배 Phase D 해석이 우세하다. 현재가 $59,550.20은 메인 레인지 $58,388.00~$60,734.00의 EQ 약 $59,561.00 바로 아래이며, LPSY $59,883.20과 SOW_IN_PHASE_B $59,819.80을 회복하지 못한 점은 공급 우위의 단기 경로를 지지한다. 다만 가격이 아직 AR 저점 $58,388.00을 명확히 이탈한 것은 아니므로, 이는 확정적인 Phase E 진행이라기보다 LPSY 이후 하단 유동성 재시험 가능성이 높은 상태로 봐야 한다. 구조적 편향은 bearish이지만, 즉각적인 하락 확증은 $59,819.80 재거부와 $58,388.00 방향 압력 지속 여부로 확인해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      58388.0,\n      58288.0\n    ],\n    \"resistance\": [\n      59819.8,\n      59883.2,\n      60303.2,\n      60543.3,\n      60734.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$60,543.30 회복 및 수용 시 LPSY 이후 약세 시나리오가 크게 훼손되며, $60,734.00 상방 수용 시 현재 분배 구조 해석 자체를 재평가해야 함\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $59,819.80~$59,883.20을 빠르게 회복하고, UT $60,303.20 위에서 지지 전환되는 경우다. 이 경우 LPSY가 실패 신호가 아니라 단순 중간 흔들림이었을 가능성이 커지며, $60,543.30 UTAD 고점 재시험 및 $60,734.00 BC 상단 유동성 재공략으로 이어질 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $59,550.20은 7일 범위 EQ $59,606.35 아래에 있어 약한 discount 구간이나, EQ 회복 실패 시 매도 압력이 유지될 수 있음",
        "EMA120 $59,903.58 및 EMA240 $59,963.69가 현재가 위에 위치해 단기 반등의 상단 저항대로 작용",
        "최근 감지된 bearish_engulfing 품질 0.74가 high_volume 조건을 동반해 매도 신호의 신뢰도를 높임",
        "bear_score 2.40이 bull_score 1.55보다 우세해 최근 캔들 패턴 흐름은 하방 압력이 더 강함",
        "최근 패턴에 bearish_engulfing@290, bearish_engulfing@293, evening_star@290가 포함되어 $59,900~$60,000 저항 접근 시 되밀림 setup이 우세"
      ],
      "reasoning": "현재 BTC는 $59,550.20에서 거래 중이며 EMA20 $59,506.45는 근소하게 상회하지만, EMA120 $59,903.58과 EMA240 $59,963.69 아래에 있어 상위 단기 구조는 아직 회복되지 않았습니다. 캔들 패턴 측면에서는 high-volume bearish_engulfing이 품질 0.74로 가장 강하며, evening_star도 함께 확인되어 매도 우위가 나타납니다. 다만 bullish_engulfing@296과 morning_star@296도 존재하고 현재가가 7일 EQ $59,606.35 아래의 discount 구간에 있어 즉각적인 추격 매도보다는 $59,900~$60,000 저항 재확인 후 하락 시나리오가 더 합리적입니다. 명확한 BOS 또는 CHoCH 데이터가 없으므로 structure_bias는 중립으로 두되, pre-confirmation setup은 bearish로 평가합니다.",
      "key_levels": {
        "support": [
          59506.45,
          59304.37,
          58288.0
        ],
        "resistance": [
          59606.35,
          59903.58,
          59963.69,
          60924.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,963.69 상향 돌파 및 15분봉 종가 안착",
      "risk_scenario": "반대로 가격이 $59,606.35 EQ를 회복한 뒤 EMA120 $59,903.58과 EMA240 $59,963.69 위에 안착하면 bearish engulfing 기반 매도 setup은 무효화되고, $60,924.70 7일 고점 재테스트를 향한 숏커버링 반등이 나올 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 140,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@290",
          "bearish_engulfing@293",
          "bullish_engulfing@296",
          "evening_star@290",
          "morning_star@296"
        ],
        "atr_value": 245.83,
        "vol_avg_20": 1793.76,
        "high_volume_patterns": [
          "bearish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.74,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.66,
            "tier": "strict",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.635,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.628,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.603,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.74,
        "bull_score": 1.55,
        "bear_score": 2.4
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $59,550.20은 7일 범위 EQ $59,606.35 아래에 있어 약한 discount 구간이나, EQ 회복 실패 시 매도 압력이 유지될 수 있음\",\n    \"EMA120 $59,903.58 및 EMA240 $59,963.69가 현재가 위에 위치해 단기 반등의 상단 저항대로 작용\",\n    \"최근 감지된 bearish_engulfing 품질 0.74가 high_volume 조건을 동반해 매도 신호의 신뢰도를 높임\",\n    \"bear_score 2.40이 bull_score 1.55보다 우세해 최근 캔들 패턴 흐름은 하방 압력이 더 강함\",\n    \"최근 패턴에 bearish_engulfing@290, bearish_engulfing@293, evening_star@290가 포함되어 $59,900~$60,000 저항 접근 시 되밀림 setup이 우세\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,550.20에서 거래 중이며 EMA20 $59,506.45는 근소하게 상회하지만, EMA120 $59,903.58과 EMA240 $59,963.69 아래에 있어 상위 단기 구조는 아직 회복되지 않았습니다. 캔들 패턴 측면에서는 high-volume bearish_engulfing이 품질 0.74로 가장 강하며, evening_star도 함께 확인되어 매도 우위가 나타납니다. 다만 bullish_engulfing@296과 morning_star@296도 존재하고 현재가가 7일 EQ $59,606.35 아래의 discount 구간에 있어 즉각적인 추격 매도보다는 $59,900~$60,000 저항 재확인 후 하락 시나리오가 더 합리적입니다. 명확한 BOS 또는 CHoCH 데이터가 없으므로 structure_bias는 중립으로 두되, pre-confirmation setup은 bearish로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59506.45,\n      59304.37,\n      58288.0\n    ],\n    \"resistance\": [\n      59606.35,\n      59903.58,\n      59963.69,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,963.69 상향 돌파 및 15분봉 종가 안착\",\n  \"risk_scenario\": \"반대로 가격이 $59,606.35 EQ를 회복한 뒤 EMA120 $59,903.58과 EMA240 $59,963.69 위에 안착하면 bearish engulfing 기반 매도 setup은 무효화되고, $60,924.70 7일 고점 재테스트를 향한 숏커버링 반등이 나올 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.72,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.794,
      "setup_signals": [
        "현재가 $59,550.20가 EQ $59,661.90 아래의 discount 영역에 있으나, $59,819.80 및 $60,037.00 bearish BOS 이후 반등이 구조 회복에 실패한 상태",
        "전일 저점 $59,714.80 이탈 후 재상승이 약하며, 해당 레벨이 단기 저항으로 전환될 가능성",
        "상단 $60,174.60~$60,435.80 후보 bearish OB가 미완전 공급 구간으로 남아 있어 반등 시 매도 반응 가능",
        "가격이 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에 있어 중기 평균선 기준 매도 우위",
        "최근 구조 시퀀스가 BOS_bullish → CHoCH_bearish → BOS_bearish → CHoCH_bullish → BOS_bearish로 마감되어 마지막 확인 구조가 bearish"
      ],
      "reasoning": "확인된 구조는 마지막 이벤트가 $60,037.00 하향 bearish BOS이고, 이전에도 $59,819.80 하향 BOS가 발생했기 때문에 structure_bias는 bearish로 판단한다. 현재가 $59,550.20는 EQ $59,661.90 아래의 discount 구간에 있어 추격 숏은 불리하지만, 전일 저점 $59,714.80을 이미 이탈했고 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에서 거래되어 기관 흐름은 여전히 매도 우위다. 상단에는 $60,174.60~$60,435.80 후보 bearish OB가 있으며, 이 구간은 반등 시 공급 재진입 또는 유동성 회수 후 하락 재개 구간으로 볼 수 있다. 다만 미체결 FVG가 0개이고 최근 명확한 liquidity sweep도 없어, 신호 강도는 높지만 완전한 고확률 확정 셋업이라기보다는 bearish continuation 우위로 해석한다.",
      "key_levels": {
        "support": [
          58888.0,
          58288.0
        ],
        "resistance": [
          59661.9,
          59714.8,
          59819.8,
          60037.0,
          60162.0,
          60174.6,
          60435.8
        ]
      },
      "time_horizon": "단기, 15분봉 기준 수 시간 내",
      "invalidation_level": "$60,435.80",
      "risk_scenario": "반대 시나리오는 가격이 $59,714.80 전일 저점과 EQ $59,661.90을 회복한 뒤 $60,037.00 위로 안착하고, 이후 $60,174.60~$60,435.80 bearish OB까지 흡수하는 경우다. 특히 $60,435.80 상단 돌파 및 수용이 나오면 현재 bearish 구조 해석은 무효화되며, $60,557.80 또는 전일 고점 $60,924.70 방향의 buy-side liquidity 사냥으로 전환될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 60174.6,
          "top": 60435.8,
          "quality": "candidate",
          "score": 0.589
        },
        "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": 61,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 60557.8
          },
          {
            "type": "CHoCH_bearish",
            "level": 60162.0
          },
          {
            "type": "BOS_bearish",
            "level": 59819.8
          },
          {
            "type": "CHoCH_bullish",
            "level": 60314.3
          },
          {
            "type": "BOS_bearish",
            "level": 60037.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 59661.9,
        "range_high": 60435.8,
        "range_low": 58888.0,
        "bull_score": 6.2,
        "bear_score": 8.0,
        "setup_bias": "bearish",
        "setup_score": 0.794,
        "setup_signals": [
          "bearish CHoCH below $60,162.00",
          "bearish BOS below $59,819.80",
          "bearish BOS below $60,037.00",
          "broken previous day low $59,714.80"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 235.6,
        "deepest_retracement_pct": 388.1,
        "previous_day_high": 60924.7,
        "previous_day_low": 59714.8,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 59883.2,
            "low": 58888.0
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.794,\n  \"setup_signals\": [\n    \"현재가 $59,550.20가 EQ $59,661.90 아래의 discount 영역에 있으나, $59,819.80 및 $60,037.00 bearish BOS 이후 반등이 구조 회복에 실패한 상태\",\n    \"전일 저점 $59,714.80 이탈 후 재상승이 약하며, 해당 레벨이 단기 저항으로 전환될 가능성\",\n    \"상단 $60,174.60~$60,435.80 후보 bearish OB가 미완전 공급 구간으로 남아 있어 반등 시 매도 반응 가능\",\n    \"가격이 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에 있어 중기 평균선 기준 매도 우위\",\n    \"최근 구조 시퀀스가 BOS_bullish → CHoCH_bearish → BOS_bearish → CHoCH_bullish → BOS_bearish로 마감되어 마지막 확인 구조가 bearish\"\n  ],\n  \"reasoning\": \"확인된 구조는 마지막 이벤트가 $60,037.00 하향 bearish BOS이고, 이전에도 $59,819.80 하향 BOS가 발생했기 때문에 structure_bias는 bearish로 판단한다. 현재가 $59,550.20는 EQ $59,661.90 아래의 discount 구간에 있어 추격 숏은 불리하지만, 전일 저점 $59,714.80을 이미 이탈했고 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에서 거래되어 기관 흐름은 여전히 매도 우위다. 상단에는 $60,174.60~$60,435.80 후보 bearish OB가 있으며, 이 구간은 반등 시 공급 재진입 또는 유동성 회수 후 하락 재개 구간으로 볼 수 있다. 다만 미체결 FVG가 0개이고 최근 명확한 liquidity sweep도 없어, 신호 강도는 높지만 완전한 고확률 확정 셋업이라기보다는 bearish continuation 우위로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      58888.0,\n      58288.0\n    ],\n    \"resistance\": [\n      59661.9,\n      59714.8,\n      59819.8,\n      60037.0,\n      60162.0,\n      60174.6,\n      60435.8\n    ]\n  },\n  \"time_horizon\": \"단기, 15분봉 기준 수 시간 내\",\n  \"invalidation_level\": \"$60,435.80\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $59,714.80 전일 저점과 EQ $59,661.90을 회복한 뒤 $60,037.00 위로 안착하고, 이후 $60,174.60~$60,435.80 bearish OB까지 흡수하는 경우다. 특히 $60,435.80 상단 돌파 및 수용이 나오면 현재 bearish 구조 해석은 무효화되며, $60,557.80 또는 전일 고점 $60,924.70 방향의 buy-side liquidity 사냥으로 전환될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $59,550.20가 고품질 bullish Crab 형성 PRZ $59,302.97-$59,629.69 내부에 위치하며, D 기준가 $59,466.33 부근에서 반등 후보 구간 활성화",
        "고품질 bullish Bat 형성 PRZ $59,456.70-$59,799.33도 현재가와 중첩되어 있으며, 3개 Fib 계열(ABCD, BC_EXT, XAD) confluence 확인",
        "추가 bullish Bat PRZ $59,703.20-$60,039.05 및 bullish Gartley PRZ $59,766.59-$60,009.11이 바로 위 저항 겸 반응 구간으로 대기",
        "완료된 bullish Butterfly PRZ $59,792.38-$60,098.72는 confirmed reaction 상태이며 reaction_score 1.0, AD 0.382 반응 도달 및 PRZ center reclaim/rejection 확인",
        "완료된 bullish Crab PRZ $59,855.91-$60,065.10도 confirmed reaction 상태이며 reaction_score 0.65, AD 0.236 반응 및 PRZ 중심부 방어 확인",
        "검증된 bullish TP ladder가 $60,154.37, $60,283.38, $60,492.20 및 $60,242.08, $60,416.03, $60,697.60으로 상방 waypoint를 제공"
      ],
      "reasoning": "구조 관점에서는 15분봉에서 명시적인 BOS, CHoCH, MSS 또는 구조적 acceptance 데이터가 제공되지 않았고, 가격도 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에 있어 확정 구조는 중립으로 본다. 반면 셋업 관점에서는 현재가 $59,550.20가 high-quality bullish Crab PRZ $59,302.97-$59,629.69와 bullish Bat PRZ $59,456.70-$59,799.33 안에 들어와 있어 단기 반등 후보 구간이 활성화되어 있다. 특히 best pattern은 strict high Crab이며 score 0.967, PRZ confluence count 3, Fib families ABCD/BC_EXT/XAD가 모두 겹쳐 있어 PRZ 품질은 높다. 다만 best Crab과 Bat는 아직 pre-confirmation 상태라 단독으로 메인 경로를 뒤집을 수 없고, $59,629.69 상단 회복 후 $59,790-$60,010 구간을 재탈환해야 bullish setup이 실제 구조 전환 후보로 강화된다. 이미 완료된 Butterfly와 Crab은 각각 confirmed reaction을 받았지만 현재가는 해당 PRZ 아래에 있으므로, 현 구간에서는 매수 우위 신호라기보다 $59,300-$59,800 방어 여부를 확인해야 하는 반등 셋업으로 해석한다.",
      "key_levels": {
        "support": [
          59456.7,
          59302.97,
          59200.78,
          58288.0
        ],
        "resistance": [
          59629.69,
          59799.33,
          60039.05,
          60098.72,
          60314.3,
          60492.2,
          60697.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "59302.97",
      "risk_scenario": "$59,302.97 아래로 15분봉 종가가 확정되면 best bullish Crab PRZ 방어 실패로 간주하며, $59,200.78 하단까지 밀린 뒤 7일 저점 $58,288.00 재테스트 리스크가 커진다. 반대로 $59,799.33과 $60,039.05를 회복하면 Bat/Gartley/Butterfly PRZ가 지지 전환되며 $60,154.37-$60,283.38, 이후 $60,492.20-$60,697.60까지 TP ladder가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 51,
        "completed_patterns_found": 20,
        "forming_d_prz_found": 31,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 20,
          "medium": 18,
          "low": 13
        },
        "prz_status_counts": {
          "active": 15,
          "nearby": 7,
          "watch": 13,
          "far": 16,
          "forming": 11
        },
        "high_confluence_prz_count": 39,
        "strict_patterns_found": 35,
        "candidate_patterns_found": 16,
        "active_patterns_at_prz": 15,
        "nearby_patterns": 7,
        "all_patterns": [
          "crab",
          "bat",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "bat",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "crab",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.967,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 59549.75,
        "price_to_prz": -0.0,
        "prz_range": [
          59200.78,
          59898.73
        ],
        "council_relevant_prz_count": 7,
        "directional_influence_prz_count": 7,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59466.33,
            "prz_range": [
              59302.97,
              59629.69
            ],
            "prz_width_pct": 0.549,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.14,
            "price_to_prz_pct_raw": -0.1408,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59466.33,
              "a_price": 60314.3,
              "tp1_ad_382": 59790.25,
              "tp2_ad_618": 59990.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5608,
              "ABC": 0.5546
            },
            "x_price": 59819.8,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 60314.3,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1307,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5389,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.57,
            "price_to_prz_pct_raw": 0.567,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 238,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 254,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6639,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 154,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 0.998,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60091.22,
            "prz_range": [
              60012.86,
              60169.57
            ],
            "prz_width_pct": 0.261,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.91,
            "price_to_prz_pct_raw": 0.9085,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60091.22,
              "a_price": 60697.6,
              "tp1_ad_382": 60322.86,
              "tp2_ad_618": 60465.96,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4452,
              "ABC": 0.3818
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 164,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 180,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 213,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6639,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276,
              "BCD": 2.5014,
              "XAD": 1.2981
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 154,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": 208
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.913,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.06,
            "price_to_prz_pct_raw": 1.0646,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 139,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 145,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 149,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6639,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276,
              "BCD": 2.5014,
              "XAD": 1.2981
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 154,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": 208
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60017.2,
            "prz_range": [
              59855.91,
              60065.1
            ],
            "prz_width_pct": 0.349,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.69,
            "price_to_prz_pct_raw": 0.689,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.343,
                "adverse_move_ratio_ad": 0.444,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59960.51,
              "a_price": 60697.6,
              "tp1_ad_382": 60242.08,
              "tp2_ad_618": 60416.03,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6354,
              "ABC": 0.4218,
              "BCD": 2.4444,
              "XAD": 1.5584
            },
            "x_price": 60261.0,
            "x_idx": 145,
            "x_order": 5,
            "a_price": 60697.6,
            "a_idx": 164,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 180,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": 213
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59466.33,
            "prz_range": [
              59302.97,
              59629.69
            ],
            "prz_width_pct": 0.549,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.14,
            "price_to_prz_pct_raw": -0.1408,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59466.33,
              "a_price": 60314.3,
              "tp1_ad_382": 59790.25,
              "tp2_ad_618": 59990.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5608,
              "ABC": 0.5546
            },
            "x_price": 59819.8,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 60314.3,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1307,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5389,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.57,
            "price_to_prz_pct_raw": 0.567,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 238,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 254,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6639,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 154,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59466.33,
            "prz_range": [
              59302.97,
              59629.69
            ],
            "prz_width_pct": 0.549,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.14,
            "price_to_prz_pct_raw": -0.1408,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59466.33,
              "a_price": 60314.3,
              "tp1_ad_382": 59790.25,
              "tp2_ad_618": 59990.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5608,
              "ABC": 0.5546
            },
            "x_price": 59819.8,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 60314.3,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1307,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 292,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5389,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.57,
            "price_to_prz_pct_raw": 0.567,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 225,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 238,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 245,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 254,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6639,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 154,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 0.998,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60091.22,
            "prz_range": [
              60012.86,
              60169.57
            ],
            "prz_width_pct": 0.261,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.91,
            "price_to_prz_pct_raw": 0.9085,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60091.22,
              "a_price": 60697.6,
              "tp1_ad_382": 60322.86,
              "tp2_ad_618": 60465.96,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4452,
              "ABC": 0.3818
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 164,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 180,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 213,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.66,
            "price_to_prz_pct_raw": 0.6639,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276,
              "BCD": 2.5014,
              "XAD": 1.2981
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 154,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": 208
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.913,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.06,
            "price_to_prz_pct_raw": 1.0646,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 139,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 145,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 149,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.912,
            "ratio_score": 1.0,
            "prz_score": 0.992,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60182.95,
            "prz_range": [
              59996.13,
              60369.77
            ],
            "prz_width_pct": 0.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.06,
            "price_to_prz_pct_raw": 1.0625,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 60182.95,
              "a_price": 60492.2,
              "tp1_ad_382": 60301.08,
              "tp2_ad_618": 60374.07,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5535,
              "ABC": 1.3663
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 135,
            "a_order": 3,
            "b_price": 60261.0,
            "b_idx": 145,
            "b_order": 5,
            "c_price": 60576.9,
            "c_idx": 184,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60017.2,
            "prz_range": [
              59855.91,
              60065.1
            ],
            "prz_width_pct": 0.349,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.69,
            "price_to_prz_pct_raw": 0.689,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.343,
                "adverse_move_ratio_ad": 0.444,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59960.51,
              "a_price": 60697.6,
              "tp1_ad_382": 60242.08,
              "tp2_ad_618": 60416.03,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6354,
              "ABC": 0.4218,
              "BCD": 2.4444,
              "XAD": 1.5584
            },
            "x_price": 60261.0,
            "x_idx": 145,
            "x_order": 5,
            "a_price": 60697.6,
            "a_idx": 164,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 180,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 200,
            "c_order": 5,
            "d_idx": 213
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.897,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60145.34,
            "prz_range": [
              59967.12,
              60323.56
            ],
            "prz_width_pct": 0.593,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.9994,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 60145.34,
              "a_price": 60697.6,
              "tp1_ad_382": 60356.3,
              "tp2_ad_618": 60486.64,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6354,
              "ABC": 0.5649
            },
            "x_price": 60261.0,
            "x_idx": 145,
            "x_order": 5,
            "a_price": 60697.6,
            "a_idx": 164,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 180,
            "b_order": 3,
            "c_price": 60576.9,
            "c_idx": 184,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.873,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.06,
            "price_to_prz_pct_raw": 1.0646,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 139,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 145,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 149,
            "c_order": 3,
            "d_idx": 154
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "prz_proximity": "active",
            "prz_range": [
              59302.97,
              59629.69
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.14,
            "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": "crab",
              "d_price": 59466.33,
              "a_price": 60314.3,
              "tp1_ad_382": 59790.25,
              "tp2_ad_618": 59990.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $59,302.97-$59,629.69: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "prz_proximity": "active",
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.13,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,456.70-$59,799.33: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "prz_proximity": "active",
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.54,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,703.20-$60,039.05: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "prz_proximity": "nearby",
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.57,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,766.59-$60,009.11: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "prz_proximity": "nearby",
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.66,
            "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": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,792.38-$60,098.72: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "prz_proximity": "nearby",
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.66,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY COMPLETED HIGH PRZ $59,792.38-$60,098.72: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "crab",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.967,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59466.33,
          "prz_range": [
            59302.97,
            59629.69
          ],
          "prz_width_pct": 0.549,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.14,
          "price_to_prz_pct_raw": -0.1408,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59466.33,
            "a_price": 60314.3,
            "tp1_ad_382": 59790.25,
            "tp2_ad_618": 59990.37,
            "tp3_a_or_structure_liquidity": 60314.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5608,
            "ABC": 0.5546
          },
          "x_price": 59819.8,
          "x_idx": 197,
          "x_order": 8,
          "a_price": 60314.3,
          "a_idx": 213,
          "a_order": 8,
          "b_price": 60037.0,
          "b_idx": 245,
          "b_order": 8,
          "c_price": 59883.2,
          "c_idx": 292,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 59466.33,
          "a_price": 60314.3,
          "tp1_ad_382": 59790.25,
          "tp2_ad_618": 59990.37,
          "tp3_a_or_structure_liquidity": 60314.3,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "butterfly",
          "d_price": 59945.55,
          "a_price": 60492.2,
          "tp1_ad_382": 60154.37,
          "tp2_ad_618": 60283.38,
          "tp3_a_or_structure_liquidity": 60492.2,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59466.33,
            "a_price": 60314.3,
            "tp1_ad_382": 59790.25,
            "tp2_ad_618": 59990.37,
            "tp3_a_or_structure_liquidity": 60314.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59628.02,
            "a_price": 60247.1,
            "tp1_ad_382": 59864.51,
            "tp2_ad_618": 60010.61,
            "tp3_a_or_structure_liquidity": 60247.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59887.85,
            "a_price": 60543.3,
            "tp1_ad_382": 60138.23,
            "tp2_ad_618": 60292.92,
            "tp3_a_or_structure_liquidity": 60543.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59960.51,
            "a_price": 60697.6,
            "tp1_ad_382": 60242.08,
            "tp2_ad_618": 60416.03,
            "tp3_a_or_structure_liquidity": 60697.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 1.694,
          "bearish": 0
        },
        "directional_score_total": 1.694,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $59,550.20가 고품질 bullish Crab 형성 PRZ $59,302.97-$59,629.69 내부에 위치하며, D 기준가 $59,466.33 부근에서 반등 후보 구간 활성화\",\n    \"고품질 bullish Bat 형성 PRZ $59,456.70-$59,799.33도 현재가와 중첩되어 있으며, 3개 Fib 계열(ABCD, BC_EXT, XAD) confluence 확인\",\n    \"추가 bullish Bat PRZ $59,703.20-$60,039.05 및 bullish Gartley PRZ $59,766.59-$60,009.11이 바로 위 저항 겸 반응 구간으로 대기\",\n    \"완료된 bullish Butterfly PRZ $59,792.38-$60,098.72는 confirmed reaction 상태이며 reaction_score 1.0, AD 0.382 반응 도달 및 PRZ center reclaim/rejection 확인\",\n    \"완료된 bullish Crab PRZ $59,855.91-$60,065.10도 confirmed reaction 상태이며 reaction_score 0.65, AD 0.236 반응 및 PRZ 중심부 방어 확인\",\n    \"검증된 bullish TP ladder가 $60,154.37, $60,283.38, $60,492.20 및 $60,242.08, $60,416.03, $60,697.60으로 상방 waypoint를 제공\"\n  ],\n  \"reasoning\": \"구조 관점에서는 15분봉에서 명시적인 BOS, CHoCH, MSS 또는 구조적 acceptance 데이터가 제공되지 않았고, 가격도 EMA120 $59,903.58 및 EMA240 $59,963.69 아래에 있어 확정 구조는 중립으로 본다. 반면 셋업 관점에서는 현재가 $59,550.20가 high-quality bullish Crab PRZ $59,302.97-$59,629.69와 bullish Bat PRZ $59,456.70-$59,799.33 안에 들어와 있어 단기 반등 후보 구간이 활성화되어 있다. 특히 best pattern은 strict high Crab이며 score 0.967, PRZ confluence count 3, Fib families ABCD/BC_EXT/XAD가 모두 겹쳐 있어 PRZ 품질은 높다. 다만 best Crab과 Bat는 아직 pre-confirmation 상태라 단독으로 메인 경로를 뒤집을 수 없고, $59,629.69 상단 회복 후 $59,790-$60,010 구간을 재탈환해야 bullish setup이 실제 구조 전환 후보로 강화된다. 이미 완료된 Butterfly와 Crab은 각각 confirmed reaction을 받았지만 현재가는 해당 PRZ 아래에 있으므로, 현 구간에서는 매수 우위 신호라기보다 $59,300-$59,800 방어 여부를 확인해야 하는 반등 셋업으로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      59456.7,\n      59302.97,\n      59200.78,\n      58288.0\n    ],\n    \"resistance\": [\n      59629.69,\n      59799.33,\n      60039.05,\n      60098.72,\n      60314.3,\n      60492.2,\n      60697.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"59302.97\",\n  \"risk_scenario\": \"$59,302.97 아래로 15분봉 종가가 확정되면 best bullish Crab PRZ 방어 실패로 간주하며, $59,200.78 하단까지 밀린 뒤 7일 저점 $58,288.00 재테스트 리스크가 커진다. 반대로 $59,799.33과 $60,039.05를 회복하면 Bat/Gartley/Butterfly PRZ가 지지 전환되며 $60,154.37-$60,283.38, 이후 $60,492.20-$60,697.60까지 TP ladder가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.68,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.71,
      "active_setups": [
        "Wyckoff 분배 Phase D: UTAD $60,543.30 이후 LPSY $59,883.20 형성, 현재가 $59,550.20은 메인 레인지 EQ 약 $59,561.00을 소폭 하회",
        "ICT 구조 하방 우위: $59,819.80 및 $60,037.00 하향 BOS 이후, 전일 저점 $59,714.80 이탈",
        "파생 포지셔닝 과밀: 롱 계정 비율 0.698, 롱 계정 쏠림 극단값, CVD 변화량 -4,139.5480으로 반등 매수 참여 약화",
        "캔들 매도 신호: high-volume bearish engulfing 품질 0.74 및 evening star 확인, EMA120 $59,903.58·EMA240 $59,963.69 아래 체류",
        "단기 반등 충돌 구간: Fibonacci 0.618 $59,476.19, Fib cluster $59,422.71, Harmonic bullish Crab PRZ $59,302.97-$59,629.69가 현재가 인근 방어 후보"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 bearish 판정과 대체로 정렬되어 있다. 다만 현재가는 Fib/Harmonic 반등 PRZ 내부 또는 근접 구간에 있어, 즉각 추격보다는 저항 회복 실패 또는 하단 방어 실패 확인이 중요한 상태다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 4,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        59476.19,
        59456.7,
        59422.71,
        59302.97,
        59000,
        58888,
        58388,
        58288
      ],
      "resistance": [
        59606.35,
        59661.9,
        59714.8,
        59819.8,
        59883.2,
        59903.58,
        59963.69,
        60037,
        60174.6,
        60435.8,
        60543.3,
        60734
      ]
    },
    "confluences": [
      "Wyckoff와 ICT가 모두 $59,819.80을 핵심 구조 레벨로 제시한다. Wyckoff는 SOW_IN_PHASE_B, ICT는 하향 BOS 레벨로 해석한다.",
      "Wyckoff LPSY $59,883.20, Harmonic 스윙/PRZ 기준 $59,883.20, Fibonacci 스윙 고점 $59,883.20이 동일 가격대에 집중되어 단기 상단 구조 저항으로 작용한다.",
      "Candlestick EMA120 $59,903.58, Derivatives EMA120 $59,903.58, Candlestick EMA240 $59,963.69, Derivatives EMA240 $59,963.69가 모두 $59,900-$59,965 저항대를 지목한다.",
      "Fibonacci 0.618 $59,476.19, Harmonic Bat PRZ 하단 $59,456.70, Harmonic Crab D 기준 $59,466.33이 $59,456-$59,476에 밀집해 단기 방어 후보를 형성한다.",
      "Fibonacci confluence zone $59,422.71과 Harmonic Crab PRZ $59,302.97-$59,629.69가 겹치며, 현재가 부근이 반등 후보 구간이라는 점에는 Fib와 Harmonic이 동의한다.",
      "Derivatives $59,000 유동성, ICT $58,888 지지, Wyckoff AR $58,388 및 Derivatives 7일 저점 $58,288이 하단 구조 유동성·레인지 저점 클러스터를 형성한다.",
      "Wyckoff UTAD $60,543.30, ICT bearish OB $60,174.60-$60,435.80, Harmonic 상단 TP/PRZ $60,314.30-$60,492.20이 $60,300-$60,550 부근의 상위 공급 구간을 공유한다."
    ],
    "conflicts": [
      "구조 진단에서는 Wyckoff와 ICT가 bearish인 반면, Fibonacci와 Harmonic은 현재가가 고품질 반등 후보 구간에 있다고 본다. 이는 구조 전환 신호라기보다 bearish 구조 안에서의 방어·반등 리스크로 해석해야 한다.",
      "Fibonacci는 $59,476.19 및 $59,422.71 부근의 매수 반응 가능성을 강조하지만, Derivatives는 롱 계정 과밀 0.698과 CVD 약화를 근거로 같은 반등을 취약한 반등으로 해석한다.",
      "Harmonic의 bullish Crab/Bat는 품질 점수는 높지만 대부분 pre-confirmation 상태이며, 자체 규칙상 단독으로 Wyckoff/ICT의 bearish 구조 판정을 뒤집을 수 없다.",
      "Candlestick에는 bearish engulfing과 evening star가 우세하지만, bullish engulfing 및 morning star 후보도 존재해 현재 가격대에서 단기 캔들 신호는 완전한 일방향이 아니다."
    ],
    "executive_summary": "현재 BTC/USDT 15분 구조는 Wyckoff 기준 분배 후보가 우세하며, Phase D에서 UTAD $60,543.30 이후 LPSY $59,883.20가 확인된 상태로 해석된다. ICT 역시 $59,819.80 및 $60,037.00 하향 BOS와 전일 저점 $59,714.80 이탈을 근거로 구조적 bearish를 지지하며, 현재가 $59,550.20은 Wyckoff 메인 레인지 EQ 약 $59,561.00 및 ICT EQ $59,661.90 아래에 위치한다. 다만 Fibonacci $59,476.19-$59,422.71 및 Harmonic bullish Crab/Bat PRZ $59,302.97-$59,799.33이 현재가 주변에 겹쳐 있어, 구조적 하방 우위 속에서도 반등 방어 조건은 존재한다. 핵심 구조 저항은 $59,819.80, $59,883.20, $59,903.58-$59,963.69이며, 상위 무효화는 $60,734.00 상향 수용이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.68,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.71,\n    \"active_setups\": [\n      \"Wyckoff 분배 Phase D: UTAD $60,543.30 이후 LPSY $59,883.20 형성, 현재가 $59,550.20은 메인 레인지 EQ 약 $59,561.00을 소폭 하회\",\n      \"ICT 구조 하방 우위: $59,819.80 및 $60,037.00 하향 BOS 이후, 전일 저점 $59,714.80 이탈\",\n      \"파생 포지셔닝 과밀: 롱 계정 비율 0.698, 롱 계정 쏠림 극단값, CVD 변화량 -4,139.5480으로 반등 매수 참여 약화\",\n      \"캔들 매도 신호: high-volume bearish engulfing 품질 0.74 및 evening star 확인, EMA120 $59,903.58·EMA240 $59,963.69 아래 체류\",\n      \"단기 반등 충돌 구간: Fibonacci 0.618 $59,476.19, Fib cluster $59,422.71, Harmonic bullish Crab PRZ $59,302.97-$59,629.69가 현재가 인근 방어 후보\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 bearish 판정과 대체로 정렬되어 있다. 다만 현재가는 Fib/Harmonic 반등 PRZ 내부 또는 근접 구간에 있어, 즉각 추격보다는 저항 회복 실패 또는 하단 방어 실패 확인이 중요한 상태다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 4,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      59476.19,\n      59456.7,\n      59422.71,\n      59302.97,\n      59000,\n      58888,\n      58388,\n      58288\n    ],\n    \"resistance\": [\n      59606.35,\n      59661.9,\n      59714.8,\n      59819.8,\n      59883.2,\n      59903.58,\n      59963.69,\n      60037,\n      60174.6,\n      60435.8,\n      60543.3,\n      60734\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff와 ICT가 모두 $59,819.80을 핵심 구조 레벨로 제시한다. Wyckoff는 SOW_IN_PHASE_B, ICT는 하향 BOS 레벨로 해석한다.\",\n    \"Wyckoff LPSY $59,883.20, Harmonic 스윙/PRZ 기준 $59,883.20, Fibonacci 스윙 고점 $59,883.20이 동일 가격대에 집중되어 단기 상단 구조 저항으로 작용한다.\",\n    \"Candlestick EMA120 $59,903.58, Derivatives EMA120 $59,903.58, Candlestick EMA240 $59,963.69, Derivatives EMA240 $59,963.69가 모두 $59,900-$59,965 저항대를 지목한다.\",\n    \"Fibonacci 0.618 $59,476.19, Harmonic Bat PRZ 하단 $59,456.70, Harmonic Crab D 기준 $59,466.33이 $59,456-$59,476에 밀집해 단기 방어 후보를 형성한다.\",\n    \"Fibonacci confluence zone $59,422.71과 Harmonic Crab PRZ $59,302.97-$59,629.69가 겹치며, 현재가 부근이 반등 후보 구간이라는 점에는 Fib와 Harmonic이 동의한다.\",\n    \"Derivatives $59,000 유동성, ICT $58,888 지지, Wyckoff AR $58,388 및 Derivatives 7일 저점 $58,288이 하단 구조 유동성·레인지 저점 클러스터를 형성한다.\",\n    \"Wyckoff UTAD $60,543.30, ICT bearish OB $60,174.60-$60,435.80, Harmonic 상단 TP/PRZ $60,314.30-$60,492.20이 $60,300-$60,550 부근의 상위 공급 구간을 공유한다.\"\n  ],\n  \"conflicts\": [\n    \"구조 진단에서는 Wyckoff와 ICT가 bearish인 반면, Fibonacci와 Harmonic은 현재가가 고품질 반등 후보 구간에 있다고 본다. 이는 구조 전환 신호라기보다 bearish 구조 안에서의 방어·반등 리스크로 해석해야 한다.\",\n    \"Fibonacci는 $59,476.19 및 $59,422.71 부근의 매수 반응 가능성을 강조하지만, Derivatives는 롱 계정 과밀 0.698과 CVD 약화를 근거로 같은 반등을 취약한 반등으로 해석한다.\",\n    \"Harmonic의 bullish Crab/Bat는 품질 점수는 높지만 대부분 pre-confirmation 상태이며, 자체 규칙상 단독으로 Wyckoff/ICT의 bearish 구조 판정을 뒤집을 수 없다.\",\n    \"Candlestick에는 bearish engulfing과 evening star가 우세하지만, bullish engulfing 및 morning star 후보도 존재해 현재 가격대에서 단기 캔들 신호는 완전한 일방향이 아니다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — regime fitness 0.963의 분배 구조를 제시하고, BC $60,734.00 → AR $58,388.00 → ST $60,167.30 → SOW $59,819.80 → UTAD $60,543.30 → LPSY $59,883.20로 이어지는 구체적 이벤트 체인을 통해 구조적 bearish 판정을 가장 명확히 뒷받침한다.\",\n  \"invalidation_level\": \"$60,734.00 상향 수용 시 현재 분배 구조 해석은 훼손된다. 보수적으로는 전일 고점 $60,924.70까지 회복·수용될 경우 bearish 구조 판정은 무효화로 봐야 한다.\",\n  \"executive_summary\": \"현재 BTC/USDT 15분 구조는 Wyckoff 기준 분배 후보가 우세하며, Phase D에서 UTAD $60,543.30 이후 LPSY $59,883.20가 확인된 상태로 해석된다. ICT 역시 $59,819.80 및 $60,037.00 하향 BOS와 전일 저점 $59,714.80 이탈을 근거로 구조적 bearish를 지지하며, 현재가 $59,550.20은 Wyckoff 메인 레인지 EQ 약 $59,561.00 및 ICT EQ $59,661.90 아래에 위치한다. 다만 Fibonacci $59,476.19-$59,422.71 및 Harmonic bullish Crab/Bat PRZ $59,302.97-$59,799.33이 현재가 주변에 겹쳐 있어, 구조적 하방 우위 속에서도 반등 방어 조건은 존재한다. 핵심 구조 저항은 $59,819.80, $59,883.20, $59,903.58-$59,963.69이며, 상위 무효화는 $60,734.00 상향 수용이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 59712.23,
        "type": "resistance_test",
        "source": "Fibonacci (strict confluence 1.0 $59,712.23, $59,727.77 저항), ICT (전일 저점 $59,714.80 저항 전환 / EQ $59,661.90), Wyckoff (SOW·하향 BOS $59,819.80 하단)",
        "description": "현재가 $59,550.20은 Wyckoff EQ $59,561·ICT EQ $59,661.90 아래 discount 구간이라 ICT 기준 즉시 추격 숏은 불리하다. 강한 bearish 셋업이 본격화되기 전, 이탈된 전일 저점 $59,714.80(저항 전환)과 Fib strict confluence $59,712.23·Fib $59,727.77이 겹치는 구간으로 약한 리테스트 반등이 선행될 확률이 높다. 다만 롱 계정 과밀 0.698·CVD -4,139로 매수 참여가 약해 이 저항 회복은 실패하고 숏 재진입(저항 회복 실패 확인) 구간으로 작동할 가능성이 우세하다.",
        "est_hours": 2.5,
        "turning_zone": [
          59712.23,
          59790.0
        ],
        "likely_wick": 59727.77,
        "rejection_confirm": 59631.61,
        "invalid_overshoot": 59819.8,
        "calibration_reasoning": "Fib strict confluence $59,712.23(4중첩)·전일 저점 저항 전환 $59,714.80·Fib 저항 $59,727.77의 밀집 저항대를 zone 하단으로, 다음 chairman 저항 $59,819.80을 상단 이탈 기준으로 설정(폭 0.32 ATR). CVD -4,139·과밀 롱으로 매수가 약해 likely_wick은 전일 저점 위 유동성만 살짝 회수하는 Fib $59,727.77 얕은 리테스트로 한정하고, $59,631.61(Fib 0.382) 하향 회귀를 거절 확인선으로 둠."
      },
      {
        "seq": 2,
        "price": 59422.71,
        "type": "swing_low",
        "source": "Fibonacci (strict confluence 1.0 $59,422.71, 0.618 $59,476.19), Harmonic (Bat PRZ 하단 $59,456.70)",
        "description": "$59,712 저항 회복 실패 확인 후 0.618 $59,476.19를 이탈하며 strict Fib confluence $59,422.71(ret 0.618/0.786 중첩, cluster_score 1.0)까지 하락. 1차 방어 후보지만 분배 Phase D LPSY $59,883.20 이후 공급 우위 구조상, 이 구간에서의 매물 흡수에 실패하면 하방이 연장된다.",
        "est_hours": 7,
        "turning_zone": [
          59365.54,
          59422.71
        ],
        "likely_wick": 59400.0,
        "rejection_confirm": 59476.19,
        "invalid_overshoot": 59340.0,
        "calibration_reasoning": "strict Fib confluence $59,422.71(ret 0.618/0.786 중첩, cluster_score 1.0)을 zone 상단, 바로 아래 Fib 지지 $59,365.54를 하단 anchor로 설정($59,365~$59,476 밀집으로 폭 0.23 ATR 압축). 라운드넘버 $59,400을 likely_wick 자석으로, golden ratio $59,476.19 회복을 반등 확인선, $59,365.54 하향 이탈($59,340)을 WP3行 무효선으로 둠."
      },
      {
        "seq": 3,
        "price": 59302.97,
        "type": "support_test",
        "source": "Harmonic (bullish Crab PRZ 하단 $59,302.97), Candlestick (지지 $59,304.37)",
        "description": "현재가가 속한 Harmonic bullish Crab PRZ($59,302.97-$59,629.69)의 마지막 방어선이자 Candlestick 지지 $59,304.37과 confluence. 여기서 단기 반등 시도(harmonic pre-confirmation 반응)가 나올 수 있으나, 종가 이탈 시 harmonic 무효화와 함께 하방이 가속된다.",
        "est_hours": 13,
        "turning_zone": [
          59225.0,
          59302.97
        ],
        "likely_wick": 59250.0,
        "rejection_confirm": 59365.54,
        "invalid_overshoot": 59200.0,
        "calibration_reasoning": "chairman·candlestick 지지 $59,302.97/$59,304.37를 base로, 이 아래 매물 공백을 감안해 Fib 스윙 저점 $59,225까지 turning_zone을 확장(0.32 ATR)하고 likely_wick은 스윙 저점 직전 유동성 회수 $59,250로 추정. pre-confirmation Crab PRZ는 정책상 conditional이라 base를 이동시키지 않고 반등 시도 컨텍스트로만 반영하며, 스윙 저점 종가 이탈($59,200)을 하방 가속 무효선으로 설정."
      },
      {
        "seq": 4,
        "price": 59000.0,
        "type": "liquidity_sweep",
        "source": "Derivatives ($59,000 유동성), ICT ($58,888 지지)",
        "description": "$59,302 방어 이탈 시 Derivatives가 지목한 $59,000 라운드넘버 유동성 흡수. 이후 ICT $58,888, Wyckoff AR $58,388, 7일 저점 $58,288 클러스터가 다음 자력 구간으로, 과밀 롱의 청산 유동성 회수가 목표다.",
        "est_hours": 19,
        "turning_zone": [
          58820.0,
          59000.0
        ],
        "likely_wick": 58888.0,
        "rejection_confirm": 59100.0,
        "invalid_overshoot": 58750.0,
        "calibration_reasoning": "터미널 구간으로 $59,000 라운드넘버 유동성과 바로 아래 ICT 풀 $58,888을 모두 포함하도록 turning_zone을 0.73 ATR로 확장. 라운드넘버 스윕은 통상 인접 유동성까지 연장되므로 likely_wick을 ICT $58,888로 두고, $59,000 재탈환($59,100)을 거절 확인선, $58,388/$58,288 클러스터로 향하는 종가 이탈($58,750)을 무효선으로 설정(확정 하모닉 TP 사다리는 상방이라 anchor 제외)."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 59712.23,
        "expected_low": 59476.19,
        "high_first": true
      },
      "8h": {
        "expected_high": 59712.23,
        "expected_low": 59422.71,
        "high_first": true
      },
      "24h": {
        "expected_high": 59712.23,
        "expected_low": 59000.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 59819.8,
        "description": "$59,819.80(Wyckoff SOW·ICT 하향 BOS 레벨) 상향 회복·수용 시 LPSY $59,883.20 및 EMA240 $59,963.69 재탈환 시도로 단기 bearish 경로가 약화. 반등이 Crab PRZ 상단을 넘어 구조 전환 후보로 강화되는 신호."
      },
      "bearish": {
        "price": 59422.71,
        "description": "strict Fib confluence $59,422.71 종가 하향 이탈 시 $59,476.19 방어 붕괴 확인. $59,302.97 harmonic PRZ 하단 → $59,000 유동성 → $58,888/$58,388 클러스터로 하방 가속."
      }
    },
    "scenario_invalidation": 59963.69,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59712.23,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (strict confluence 1.0 $59,712.23, $59,727.77 저항), ICT (전일 저점 $59,714.80 저항 전환 / EQ $59,661.90), Wyckoff (SOW·하향 BOS $59,819.80 하단)\",\n      \"description\": \"현재가 $59,550.20은 Wyckoff EQ $59,561·ICT EQ $59,661.90 아래 discount 구간이라 ICT 기준 즉시 추격 숏은 불리하다. 강한 bearish 셋업이 본격화되기 전, 이탈된 전일 저점 $59,714.80(저항 전환)과 Fib strict confluence $59,712.23·Fib $59,727.77이 겹치는 구간으로 약한 리테스트 반등이 선행될 확률이 높다. 다만 롱 계정 과밀 0.698·CVD -4,139로 매수 참여가 약해 이 저항 회복은 실패하고 숏 재진입(저항 회복 실패 확인) 구간으로 작동할 가능성이 우세하다.\",\n      \"est_hours\": 2.5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59422.71,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci (strict confluence 1.0 $59,422.71, 0.618 $59,476.19), Harmonic (Bat PRZ 하단 $59,456.70)\",\n      \"description\": \"$59,712 저항 회복 실패 확인 후 0.618 $59,476.19를 이탈하며 strict Fib confluence $59,422.71(ret 0.618/0.786 중첩, cluster_score 1.0)까지 하락. 1차 방어 후보지만 분배 Phase D LPSY $59,883.20 이후 공급 우위 구조상, 이 구간에서의 매물 흡수에 실패하면 하방이 연장된다.\",\n      \"est_hours\": 7\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59302.97,\n      \"type\": \"support_test\",\n      \"source\": \"Harmonic (bullish Crab PRZ 하단 $59,302.97), Candlestick (지지 $59,304.37)\",\n      \"description\": \"현재가가 속한 Harmonic bullish Crab PRZ($59,302.97-$59,629.69)의 마지막 방어선이자 Candlestick 지지 $59,304.37과 confluence. 여기서 단기 반등 시도(harmonic pre-confirmation 반응)가 나올 수 있으나, 종가 이탈 시 harmonic 무효화와 함께 하방이 가속된다.\",\n      \"est_hours\": 13\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59000.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives ($59,000 유동성), ICT ($58,888 지지)\",\n      \"description\": \"$59,302 방어 이탈 시 Derivatives가 지목한 $59,000 라운드넘버 유동성 흡수. 이후 ICT $58,888, Wyckoff AR $58,388, 7일 저점 $58,288 클러스터가 다음 자력 구간으로, 과밀 롱의 청산 유동성 회수가 목표다.\",\n      \"est_hours\": 19\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 59712.23, \"expected_low\": 59476.19, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 59712.23, \"expected_low\": 59422.71, \"high_first\": true},\n    \"24h\": {\"expected_high\": 59712.23, \"expected_low\": 59000.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 59819.80, \"description\": \"$59,819.80(Wyckoff SOW·ICT 하향 BOS 레벨) 상향 회복·수용 시 LPSY $59,883.20 및 EMA240 $59,963.69 재탈환 시도로 단기 bearish 경로가 약화. 반등이 Crab PRZ 상단을 넘어 구조 전환 후보로 강화되는 신호.\"},\n    \"bearish\": {\"price\": 59422.71, \"description\": \"strict Fib confluence $59,422.71 종가 하향 이탈 시 $59,476.19 방어 붕괴 확인. $59,302.97 harmonic PRZ 하단 → $59,000 유동성 → $58,888/$58,388 클러스터로 하방 가속.\"}\n  },\n  \"scenario_invalidation\": 59963.69\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59712.23,
        "turning_zone": [
          59712.23,
          59790.0
        ],
        "likely_wick": 59727.77,
        "rejection_confirm": 59631.61,
        "invalid_overshoot": 59819.8,
        "calibration_reasoning": "Fib strict confluence $59,712.23(4중첩)·전일 저점 저항 전환 $59,714.80·Fib 저항 $59,727.77의 밀집 저항대를 zone 하단으로, 다음 chairman 저항 $59,819.80을 상단 이탈 기준으로 설정(폭 0.32 ATR). CVD -4,139·과밀 롱으로 매수가 약해 likely_wick은 전일 저점 위 유동성만 살짝 회수하는 Fib $59,727.77 얕은 리테스트로 한정하고, $59,631.61(Fib 0.382) 하향 회귀를 거절 확인선으로 둠."
      },
      {
        "seq": 2,
        "base_target": 59422.71,
        "turning_zone": [
          59365.54,
          59422.71
        ],
        "likely_wick": 59400.0,
        "rejection_confirm": 59476.19,
        "invalid_overshoot": 59340.0,
        "calibration_reasoning": "strict Fib confluence $59,422.71(ret 0.618/0.786 중첩, cluster_score 1.0)을 zone 상단, 바로 아래 Fib 지지 $59,365.54를 하단 anchor로 설정($59,365~$59,476 밀집으로 폭 0.23 ATR 압축). 라운드넘버 $59,400을 likely_wick 자석으로, golden ratio $59,476.19 회복을 반등 확인선, $59,365.54 하향 이탈($59,340)을 WP3行 무효선으로 둠."
      },
      {
        "seq": 3,
        "base_target": 59302.97,
        "turning_zone": [
          59225.0,
          59302.97
        ],
        "likely_wick": 59250.0,
        "rejection_confirm": 59365.54,
        "invalid_overshoot": 59200.0,
        "calibration_reasoning": "chairman·candlestick 지지 $59,302.97/$59,304.37를 base로, 이 아래 매물 공백을 감안해 Fib 스윙 저점 $59,225까지 turning_zone을 확장(0.32 ATR)하고 likely_wick은 스윙 저점 직전 유동성 회수 $59,250로 추정. pre-confirmation Crab PRZ는 정책상 conditional이라 base를 이동시키지 않고 반등 시도 컨텍스트로만 반영하며, 스윙 저점 종가 이탈($59,200)을 하방 가속 무효선으로 설정."
      },
      {
        "seq": 4,
        "base_target": 59000.0,
        "turning_zone": [
          58820.0,
          59000.0
        ],
        "likely_wick": 58888.0,
        "rejection_confirm": 59100.0,
        "invalid_overshoot": 58750.0,
        "calibration_reasoning": "터미널 구간으로 $59,000 라운드넘버 유동성과 바로 아래 ICT 풀 $58,888을 모두 포함하도록 turning_zone을 0.73 ATR로 확장. 라운드넘버 스윕은 통상 인접 유동성까지 연장되므로 likely_wick을 ICT $58,888로 두고, $59,000 재탈환($59,100)을 거절 확인선, $58,388/$58,288 클러스터로 향하는 종가 이탈($58,750)을 무효선으로 설정(확정 하모닉 TP 사다리는 상방이라 anchor 제외)."
      }
    ],
    "executive_summary": "베어리시 complex 경로(신뢰도 62%)의 4개 변곡점을 보정했다. WP1 $59,712은 Fib 4중첩+전일 저점 저항 전환대의 얕은 리테스트로 약한 매수로 거절 우세, WP2 $59,422은 cluster_score 1.0의 강한 Fib confluence 1차 방어, WP3 $59,302은 harmonic·candlestick 지지의 마지막 방어선(아래 매물 공백 존재), WP4 $59,000은 ICT 풀 $58,888까지 연장되는 터미널 유동성 스윕이다. 주 anchor는 Fib confluence와 chairman/candlestick 지지, 라운드넘버·ICT 풀이며, 핵심 리스크는 $59,302 종가 이탈 시 매물 공백을 타고 $59,000까지 가속되는 흐름이다.",
    "key_insight": "확정(CONFIRMED_REACTION) 하모닉 2종(butterfly D=$59,950, crab D=$60,017)의 TP 사다리는 모두 $60,154~$60,697 상방을 가리켜 베어리시 운영 경로와 방향이 반대다. 하모닉 정책에 따라 이들 상방 TP는 하방 waypoint의 turning_zone anchor로 사용하지 않았고, pre-confirmation Crab PRZ($59,302~$59,629)도 conditional 컨텍스트로만 반영했다. 대신 Fib confluence($59,712 4중첩·$59,422 cluster 1.0), chairman/candlestick 지지, 라운드넘버 $59,000·ICT 풀 $58,888을 실제 보정 anchor로 사용했으며, $59,302 아래 $59,225까지의 매물 공백이 WP3 이탈 시 변동성을 키우는 핵심 변수다.",
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59712.23,\n      \"turning_zone\": [59712.23, 59790.00],\n      \"likely_wick\": 59727.77,\n      \"rejection_confirm\": 59631.61,\n      \"invalid_overshoot\": 59819.80,\n      \"calibration_reasoning\": \"Fib strict confluence $59,712.23(4중첩)·전일 저점 저항 전환 $59,714.80·Fib 저항 $59,727.77의 밀집 저항대를 zone 하단으로, 다음 chairman 저항 $59,819.80을 상단 이탈 기준으로 설정(폭 0.32 ATR). CVD -4,139·과밀 롱으로 매수가 약해 likely_wick은 전일 저점 위 유동성만 살짝 회수하는 Fib $59,727.77 얕은 리테스트로 한정하고, $59,631.61(Fib 0.382) 하향 회귀를 거절 확인선으로 둠.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59422.71,\n      \"turning_zone\": [59365.54, 59422.71],\n      \"likely_wick\": 59400.00,\n      \"rejection_confirm\": 59476.19,\n      \"invalid_overshoot\": 59340.00,\n      \"calibration_reasoning\": \"strict Fib confluence $59,422.71(ret 0.618/0.786 중첩, cluster_score 1.0)을 zone 상단, 바로 아래 Fib 지지 $59,365.54를 하단 anchor로 설정($59,365~$59,476 밀집으로 폭 0.23 ATR 압축). 라운드넘버 $59,400을 likely_wick 자석으로, golden ratio $59,476.19 회복을 반등 확인선, $59,365.54 하향 이탈($59,340)을 WP3行 무효선으로 둠.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59302.97,\n      \"turning_zone\": [59225.00, 59302.97],\n      \"likely_wick\": 59250.00,\n      \"rejection_confirm\": 59365.54,\n      \"invalid_overshoot\": 59200.00,\n      \"calibration_reasoning\": \"chairman·candlestick 지지 $59,302.97/$59,304.37를 base로, 이 아래 매물 공백을 감안해 Fib 스윙 저점 $59,225까지 turning_zone을 확장(0.32 ATR)하고 likely_wick은 스윙 저점 직전 유동성 회수 $59,250로 추정. pre-confirmation Crab PRZ는 정책상 conditional이라 base를 이동시키지 않고 반등 시도 컨텍스트로만 반영하며, 스윙 저점 종가 이탈($59,200)을 하방 가속 무효선으로 설정.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59000.00,\n      \"turning_zone\": [58820.00, 59000.00],\n      \"likely_wick\": 58888.00,\n      \"rejection_confirm\": 59100.00,\n      \"invalid_overshoot\": 58750.00,\n      \"calibration_reasoning\": \"터미널 구간으로 $59,000 라운드넘버 유동성과 바로 아래 ICT 풀 $58,888을 모두 포함하도록 turning_zone을 0.73 ATR로 확장. 라운드넘버 스윕은 통상 인접 유동성까지 연장되므로 likely_wick을 ICT $58,888로 두고, $59,000 재탈환($59,100)을 거절 확인선, $58,388/$58,288 클러스터로 향하는 종가 이탈($58,750)을 무효선으로 설정(확정 하모닉 TP 사다리는 상방이라 anchor 제외).\"\n    }\n  ],\n  \"executive_summary\": \"베어리시 complex 경로(신뢰도 62%)의 4개 변곡점을 보정했다. WP1 $59,712은 Fib 4중첩+전일 저점 저항 전환대의 얕은 리테스트로 약한 매수로 거절 우세, WP2 $59,422은 cluster_score 1.0의 강한 Fib confluence 1차 방어, WP3 $59,302은 harmonic·candlestick 지지의 마지막 방어선(아래 매물 공백 존재), WP4 $59,000은 ICT 풀 $58,888까지 연장되는 터미널 유동성 스윕이다. 주 anchor는 Fib confluence와 chairman/candlestick 지지, 라운드넘버·ICT 풀이며, 핵심 리스크는 $59,302 종가 이탈 시 매물 공백을 타고 $59,000까지 가속되는 흐름이다.\",\n  \"key_insight\": \"확정(CONFIRMED_REACTION) 하모닉 2종(butterfly D=$59,950, crab D=$60,017)의 TP 사다리는 모두 $60,154~$60,697 상방을 가리켜 베어리시 운영 경로와 방향이 반대다. 하모닉 정책에 따라 이들 상방 TP는 하방 waypoint의 turning_zone anchor로 사용하지 않았고, pre-confirmation Crab PRZ($59,302~$59,629)도 conditional 컨텍스트로만 반영했다. 대신 Fib confluence($59,712 4중첩·$59,422 cluster 1.0), chairman/candlestick 지지, 라운드넘버 $59,000·ICT 풀 $58,888을 실제 보정 anchor로 사용했으며, $59,302 아래 $59,225까지의 매물 공백이 WP3 이탈 시 변동성을 키우는 핵심 변수다.\"\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 56.3,
      "chairman": 79.7,
      "operating_path": 314.9,
      "tp_calibrator": 409.1
    },
    "agents": {},
    "total_s": 860.2
  }
}