{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-10 17:00 KST",
  "last_price": 61655.6,
  "num_candles": 300,
  "stage1_analyses": {
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $61,655.60이 EMA20 $61,787.34 아래에 있으며 EMA120 $62,860.42 및 EMA240 $64,836.34 아래에서 약세 구조 유지",
        "24시간 가격 -2.40% 하락 중 OI가 +2.2120% 증가하여 하락 방향 신규 포지션 유입 또는 물린 롱 증가 가능성",
        "롱 계정 비율 0.675, 24시간 +0.024 상승으로 롱 계정 쏠림이 극단값 1.000에 도달",
        "CVD 변화량 -7020.1560으로 현물/시장가 매도 우위가 지속되며 반등 참여가 약함",
        "선물 베이시스 -0.0518%로 현물이 선물보다 강한 상태가 아니며 파생시장에서 약한 할인 압력 존재",
        "하방 청산 밀집 구간 $60,900 및 $60,300이 현재가와 가까워 단기 하방 유동성 타깃으로 작동 가능"
      ],
      "reasoning": "구조적으로 BTC는 현재 $61,655.60에서 EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34 모두 아래에 있어 확인된 흐름은 약세로 판단된다. 파생 포지셔닝은 가격이 24시간 -2.40% 하락하는 동안 OI가 +2.2120% 증가했고, 롱 계정 비율이 0.675까지 상승해 하락 중 롱이 계속 붙는 형태다. CVD 변화량도 -7020.1560으로 매도 체결 우위가 유지되고 있어 반등의 질은 약하며, 이는 $60,900 및 $60,300 하방 유동성 테스트 가능성을 높인다. 다만 상방에는 $62,100, $62,700, $63,800~$64,000 청산 클러스터가 있어 숏 스퀴즈 리스크도 존재하므로, $64,000 회복 시 약세 관점은 훼손된다.",
      "key_levels": {
        "support": [
          60900,
          60300,
          59080,
          55500
        ],
        "resistance": [
          62100,
          62700,
          63800,
          64000,
          64836.34
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,000",
      "risk_scenario": "$62,700을 회복한 뒤 $63,800~$64,000 상방 청산 클러스터를 강하게 흡수하면, 과밀 롱보다 근접 숏 청산이 먼저 트리거되며 단기 숏 스퀴즈가 발생할 수 있다. 이 경우 EMA240 $64,836.34까지 되돌림이 열리고 약세 셋업은 중립으로 전환된다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -7020.156,
        "oi_trend": 0.721,
        "oi_change_pct_24h": 2.212,
        "oi_latest": 100788.661,
        "funding_pressure": 0.487,
        "funding_avg": 1.337e-05,
        "funding_change_24h": -2.676e-05,
        "long_account_ratio": 0.671,
        "short_account_ratio": 0.329,
        "long_account_latest": 0.675,
        "short_account_latest": 0.325,
        "long_account_change_24h": 0.0237,
        "short_account_change_24h": -0.0237,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.487,
        "spot_futures_basis_pct": -0.0518,
        "basis_change_lookback": 0.0005,
        "aggregate_score": 0.399,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            60900,
            6705.128911100001
          ],
          [
            60300,
            6506.28653925
          ],
          [
            55500,
            6522.6975125
          ]
        ],
        "liq_above": [
          [
            62100,
            7077.332307299999
          ],
          [
            62700,
            6988.3095576000005
          ],
          [
            63800,
            7640.022708900001
          ]
        ],
        "strongest_liq_level": 64000,
        "fragility_score": 0.747,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $61,655.60이 EMA20 $61,787.34 아래에 있으며 EMA120 $62,860.42 및 EMA240 $64,836.34 아래에서 약세 구조 유지\",\n    \"24시간 가격 -2.40% 하락 중 OI가 +2.2120% 증가하여 하락 방향 신규 포지션 유입 또는 물린 롱 증가 가능성\",\n    \"롱 계정 비율 0.675, 24시간 +0.024 상승으로 롱 계정 쏠림이 극단값 1.000에 도달\",\n    \"CVD 변화량 -7020.1560으로 현물/시장가 매도 우위가 지속되며 반등 참여가 약함\",\n    \"선물 베이시스 -0.0518%로 현물이 선물보다 강한 상태가 아니며 파생시장에서 약한 할인 압력 존재\",\n    \"하방 청산 밀집 구간 $60,900 및 $60,300이 현재가와 가까워 단기 하방 유동성 타깃으로 작동 가능\"\n  ],\n  \"reasoning\": \"구조적으로 BTC는 현재 $61,655.60에서 EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34 모두 아래에 있어 확인된 흐름은 약세로 판단된다. 파생 포지셔닝은 가격이 24시간 -2.40% 하락하는 동안 OI가 +2.2120% 증가했고, 롱 계정 비율이 0.675까지 상승해 하락 중 롱이 계속 붙는 형태다. CVD 변화량도 -7020.1560으로 매도 체결 우위가 유지되고 있어 반등의 질은 약하며, 이는 $60,900 및 $60,300 하방 유동성 테스트 가능성을 높인다. 다만 상방에는 $62,100, $62,700, $63,800~$64,000 청산 클러스터가 있어 숏 스퀴즈 리스크도 존재하므로, $64,000 회복 시 약세 관점은 훼손된다.\",\n  \"key_levels\": {\n    \"support\": [\n      60900,\n      60300,\n      59080,\n      55500\n    ],\n    \"resistance\": [\n      62100,\n      62700,\n      63800,\n      64000,\n      64836.34\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,000\",\n  \"risk_scenario\": \"$62,700을 회복한 뒤 $63,800~$64,000 상방 청산 클러스터를 강하게 흡수하면, 과밀 롱보다 근접 숏 청산이 먼저 트리거되며 단기 숏 스퀴즈가 발생할 수 있다. 이 경우 EMA240 $64,836.34까지 되돌림이 열리고 약세 셋업은 중립으로 전환된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $61,655.60은 스윙 EQ인 ret_0.5 $61,504.10 위에 있어 단기 프리미엄 구간에 위치",
        "가격이 ret_0.382 $61,680.89 바로 아래에서 테스트 중이며 거리 0.040으로 즉각 저항 반응 가능성 존재",
        "EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34 아래에 위치해 상방 추세 수용은 아직 미확인",
        "0.618 골든 비율 $61,327.31과 ret_0.786 $61,075.61이 하방 미테스트 지지로 남아 있어 되돌림 자석 가능성 존재",
        "상단 $62,660.71~$62,873.45 부근은 ext_1.272, ext_1.414 및 ret_0.236이 겹친 고품질 저항 클러스터로 확인됨"
      ],
      "reasoning": "현재 BTC/USDT는 Low $60,755 → High $62,253 상승 스윙의 되돌림 구간에 있으며, 현재가 $61,655.60은 ret_0.382 $61,680.89 바로 아래에서 테스트 중입니다. 구조적으로는 $62,253.20 상단 돌파나 $61,075.61 하단 이탈 같은 명확한 BOS/CHoCH가 확인되지 않아 structure_bias는 중립으로 봅니다. 다만 셋업 관점에서는 가격이 EQ $61,504.10 위 프리미엄 구간에 있고, EMA20 $61,787.34 아래에서 ret_0.382 저항을 넘지 못하고 있어 단기적으로는 하방 되돌림 셋업이 우세합니다. $61,504.10이 깨지면 0.618 골든 비율 $61,327.31, 이후 ret_0.786 $61,075.61까지 열릴 수 있으며, 반대로 $61,680.89를 회복하면 $61,899.62와 $62,253.20 재시험 가능성이 커집니다.",
      "key_levels": {
        "support": [
          61504.1,
          61327.31,
          61075.61
        ],
        "resistance": [
          61680.89,
          61899.62,
          62253.2,
          62660.71,
          62873.45
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,253.20",
      "risk_scenario": "$61,680.89 ret_0.382를 회복하고 $61,899.62 ret_0.236까지 안착하면 현재의 단기 bearish setup은 약화됩니다. 이후 $62,253.20 스윙 고점을 돌파하면 구조가 다시 상방으로 전환될 수 있으며, 다음 목표는 ext_1.272 $62,660.71, ext_1.414 $62,873.45, ext_1.618 $63,179.09입니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $60,755 → $62,253",
        "direction": "up",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 61680.89,
        "nearest_fib_distance": 0.04,
        "golden_ratio_level": 61327.31,
        "fib_ret_382": 61680.89,
        "fib_ret_618": 61327.31,
        "confluence_zones": [
          {
            "price": 62734.82,
            "count": 3,
            "levels": [
              "ext_1.272",
              "ret_0.236",
              "ext_1.414"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 61201.46,
            "count": 2,
            "levels": [
              "ret_0.786",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61592.49,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 64784.35,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          61504.1,
          61327.312399999995,
          61075.614799999996
        ],
        "resistance_levels": [
          61680.8876,
          61899.6248,
          62253.2
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 61899.62,
            "distance_pct": 0.4,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 61680.89,
            "distance_pct": 0.04,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 61504.1,
            "distance_pct": 0.25,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 61327.31,
            "distance_pct": 0.53,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 61075.61,
            "distance_pct": 0.94,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 62253.2,
            "distance_pct": 0.97,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 62660.71,
            "distance_pct": 1.63,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 62873.45,
            "distance_pct": 1.98,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 63179.09,
            "distance_pct": 2.47,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 63751.4,
            "distance_pct": 3.4,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $61,655.60은 스윙 EQ인 ret_0.5 $61,504.10 위에 있어 단기 프리미엄 구간에 위치\",\n    \"가격이 ret_0.382 $61,680.89 바로 아래에서 테스트 중이며 거리 0.040으로 즉각 저항 반응 가능성 존재\",\n    \"EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34 아래에 위치해 상방 추세 수용은 아직 미확인\",\n    \"0.618 골든 비율 $61,327.31과 ret_0.786 $61,075.61이 하방 미테스트 지지로 남아 있어 되돌림 자석 가능성 존재\",\n    \"상단 $62,660.71~$62,873.45 부근은 ext_1.272, ext_1.414 및 ret_0.236이 겹친 고품질 저항 클러스터로 확인됨\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 Low $60,755 → High $62,253 상승 스윙의 되돌림 구간에 있으며, 현재가 $61,655.60은 ret_0.382 $61,680.89 바로 아래에서 테스트 중입니다. 구조적으로는 $62,253.20 상단 돌파나 $61,075.61 하단 이탈 같은 명확한 BOS/CHoCH가 확인되지 않아 structure_bias는 중립으로 봅니다. 다만 셋업 관점에서는 가격이 EQ $61,504.10 위 프리미엄 구간에 있고, EMA20 $61,787.34 아래에서 ret_0.382 저항을 넘지 못하고 있어 단기적으로는 하방 되돌림 셋업이 우세합니다. $61,504.10이 깨지면 0.618 골든 비율 $61,327.31, 이후 ret_0.786 $61,075.61까지 열릴 수 있으며, 반대로 $61,680.89를 회복하면 $61,899.62와 $62,253.20 재시험 가능성이 커집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61504.1,\n      61327.31,\n      61075.61\n    ],\n    \"resistance\": [\n      61680.89,\n      61899.62,\n      62253.2,\n      62660.71,\n      62873.45\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,253.20\",\n  \"risk_scenario\": \"$61,680.89 ret_0.382를 회복하고 $61,899.62 ret_0.236까지 안착하면 현재의 단기 bearish setup은 약화됩니다. 이후 $62,253.20 스윙 고점을 돌파하면 구조가 다시 상방으로 전환될 수 있으며, 다음 목표는 ext_1.272 $62,660.71, ext_1.414 $62,873.45, ext_1.618 $63,179.09입니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $61,655.60은 7일 고점 $67,448.00과 저점 $59,080.00의 EQ $63,264.00 아래에 위치한 discount zone",
        "7일 저점 $59,080.00 부근에서 morning_star@298 후보가 발생했으나 패턴 품질은 0.637로 중간 수준",
        "최근 bullish_harami@297 및 마지막 5개 캔들 중 4개 양봉으로 단기 반등 시도",
        "현재가가 EMA20 $61,787.34 바로 아래(-0.2%)에 있어 단기 구조 전환 전 저항 테스트 구간",
        "고거래량 패턴이 없어 반등 신호의 참여 강도는 아직 미확인"
      ],
      "reasoning": "확정 구조는 아직 bearish로 판단한다. 현재 BTC는 $61,655.60으로 EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34를 모두 하회하고 있으며, 24시간 변동률도 -2.40%로 하락 압력이 유지되고 있다. 다만 7일 범위 EQ $63,264.00 아래의 discount zone에서 morning_star 후보와 bullish_harami가 출현해 단기 반등 setup은 bullish 쪽으로 기울어 있다. 그러나 bull_score 1.4000 대비 bear_score 1.5000으로 우위가 약하고, best_pattern_quality도 0.637이며 high_volume_patterns가 없어 구조 전환 확인 전까지는 중립 신호가 더 적절하다.",
      "key_levels": {
        "support": [
          61655.6,
          59080.0
        ],
        "resistance": [
          61787.34,
          62860.42,
          63264.0,
          64836.34,
          67448.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,080.00 하향 이탈 시 현재의 bullish reversal setup은 무효화된다",
      "risk_scenario": "반대로 매수세가 EMA20 $61,787.34를 회복하고 EMA120 $62,860.42 및 EQ $63,264.00 위에서 1시간 종가를 형성하면, bearish structure 압력은 약화되고 $64,836.34 EMA240 방향으로 숏 커버링 반등이 확대될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 134,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@293",
          "bearish_engulfing@296",
          "morning_star@298",
          "doji@291",
          "bullish_harami@297"
        ],
        "atr_value": 449.94,
        "vol_avg_20": 8954.93,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.637,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.556,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.528,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.46,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.637,
        "bull_score": 1.4,
        "bear_score": 1.5
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $61,655.60은 7일 고점 $67,448.00과 저점 $59,080.00의 EQ $63,264.00 아래에 위치한 discount zone\",\n    \"7일 저점 $59,080.00 부근에서 morning_star@298 후보가 발생했으나 패턴 품질은 0.637로 중간 수준\",\n    \"최근 bullish_harami@297 및 마지막 5개 캔들 중 4개 양봉으로 단기 반등 시도\",\n    \"현재가가 EMA20 $61,787.34 바로 아래(-0.2%)에 있어 단기 구조 전환 전 저항 테스트 구간\",\n    \"고거래량 패턴이 없어 반등 신호의 참여 강도는 아직 미확인\"\n  ],\n  \"reasoning\": \"확정 구조는 아직 bearish로 판단한다. 현재 BTC는 $61,655.60으로 EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34를 모두 하회하고 있으며, 24시간 변동률도 -2.40%로 하락 압력이 유지되고 있다. 다만 7일 범위 EQ $63,264.00 아래의 discount zone에서 morning_star 후보와 bullish_harami가 출현해 단기 반등 setup은 bullish 쪽으로 기울어 있다. 그러나 bull_score 1.4000 대비 bear_score 1.5000으로 우위가 약하고, best_pattern_quality도 0.637이며 high_volume_patterns가 없어 구조 전환 확인 전까지는 중립 신호가 더 적절하다.\",\n  \"key_levels\": {\n    \"support\": [\n      61655.6,\n      59080.0\n    ],\n    \"resistance\": [\n      61787.34,\n      62860.42,\n      63264.0,\n      64836.34,\n      67448.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,080.00 하향 이탈 시 현재의 bullish reversal setup은 무효화된다\",\n  \"risk_scenario\": \"반대로 매수세가 EMA20 $61,787.34를 회복하고 EMA120 $62,860.42 및 EQ $63,264.00 위에서 1시간 종가를 형성하면, bearish structure 압력은 약화되고 $64,836.34 EMA240 방향으로 숏 커버링 반등이 확대될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.42,
      "setup_signals": [
        "현재가 $61,655.60은 활성 재분배 구간의 EQ 부근이며, $64,250.00 고점과 $59,080.00 저점 기준 중간값 약 $61,665에 거의 일치",
        "UT/UTAD 실패 구간 $64,250.00 / $64,179.50 이후 LPSY $63,499.90 및 $62,868.20 형성",
        "SOW $61,001.00 및 Phase E 저점 $60,755.00 이후 약한 되돌림 상태이나, 아직 $62,868.20 LPSY 회복 실패",
        "즉시 실행 관점에서는 핵심 저항 $62,868.20~$63,499.90 재거부 확인 전이므로 강한 추가 하락 셋업은 미확정"
      ],
      "reasoning": "1h 기준 regime은 DIS이며 regime_fitness 0.963, dis_score 96.2로 분배/재분배 구조의 신뢰도가 높습니다. 선행 확정 구조는 BC $74,293.10 → AR $73,057.80 → UT $74,179.90 → SOW $70,650.90 → Phase E $59,080.00로 진행된 분배 완료 구조이며, 현재는 그 이후의 활성 재분배 후보가 진행 중입니다. 활성 구조에서는 상단 실패 UT $64,250.00 및 UTAD $64,179.50 이후 LPSY $63,499.90, $62,868.20가 낮아졌고, SOW $61,001.00 및 Phase E $60,755.00가 확인되어 구조_bias는 명확히 bearish입니다. 다만 현재가 $61,655.60은 활성 범위 EQ 약 $61,665 부근으로, 즉시 경로는 $62,868.20 LPSY 하단 저항 재시험 가능성과 $61,001.00 재이탈 확인 사이의 중립적 구간입니다. 따라서 구조는 약세이나, 실행 셋업은 핵심 저항 재거부 또는 $61,001.00 하향 수용 확인 전까지 neutral로 평가합니다.",
      "key_levels": {
        "support": [
          61001.0,
          60755.0,
          60146.0,
          59451.3,
          59080.0
        ],
        "resistance": [
          62868.2,
          63499.9,
          64179.5,
          64250.0,
          70650.9
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "64250.0",
      "risk_scenario": "$62,868.20을 회복하고 $63,499.90 위에서 수용되면 현재 Phase E 약세 진행은 단기적으로 지연되며, $64,179.50~$64,250.00 UT/UTAD 실패 구간 재시험으로 이어질 수 있습니다. 특히 $64,250.00 상향 수용은 활성 재분배 약세 해석의 핵심 무효화 조건입니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 89.1,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 21,
            "price": 74293.1,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 22,
            "price": 73057.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 46,
            "price": 74108.8,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 68,
            "price": 73340.7,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 75,
            "price": 74179.9,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 92,
            "price": 70650.9,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 191,
            "price": 59080.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1h_cycle_1",
            "sequence": 1,
            "timeframe": "1h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 21,
            "end_idx": 191,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 21,
                "price": 74293.1,
                "color": "#ffd166",
                "dt": "2026-05-30 02:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 22,
                "price": 73057.8,
                "color": "#06d6a0",
                "dt": "2026-05-30 03:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 46,
                "price": 74108.8,
                "color": "#118ab2",
                "dt": "2026-05-31 03:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 68,
                "price": 73340.7,
                "color": "#ef476f",
                "dt": "2026-06-01 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 75,
                "price": 74179.9,
                "color": "#f9844a",
                "dt": "2026-06-01 08:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 92,
                "price": 70650.9,
                "color": "#ef476f",
                "dt": "2026-06-02 01:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 191,
                "price": 59080.0,
                "color": "#7209b7",
                "dt": "2026-06-06 04:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "1h_cycle_2",
            "sequence": 2,
            "timeframe": "1h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 178,
            "end_idx": 284,
            "phase_count": 10,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 178,
                "price": 61067.6,
                "color": "#ffd166",
                "dt": "2026-06-05 15:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 179,
                "price": 63084.4,
                "color": "#06d6a0",
                "dt": "2026-06-05 16:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 200,
                "price": 59451.3,
                "color": "#118ab2",
                "dt": "2026-06-06 13:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 206,
                "price": 60146.0,
                "color": "#ef476f",
                "dt": "2026-06-06 19:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 242,
                "price": 64250.0,
                "color": "#f9844a",
                "dt": "2026-06-08 07:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 259,
                "price": 64179.5,
                "color": "#f9844a",
                "dt": "2026-06-09 00:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 273,
                "price": 63499.9,
                "color": "#8338ec",
                "dt": "2026-06-09 14:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 280,
                "price": 62868.2,
                "color": "#8338ec",
                "dt": "2026-06-09 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 283,
                "price": 61001.0,
                "color": "#ef476f",
                "dt": "2026-06-10 00:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 284,
                "price": 60755.0,
                "color": "#7209b7",
                "dt": "2026-06-10 01:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_2",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 73057.8,
        "main_range_high": 74293.1
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.76,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.42,\n  \"setup_signals\": [\n    \"현재가 $61,655.60은 활성 재분배 구간의 EQ 부근이며, $64,250.00 고점과 $59,080.00 저점 기준 중간값 약 $61,665에 거의 일치\",\n    \"UT/UTAD 실패 구간 $64,250.00 / $64,179.50 이후 LPSY $63,499.90 및 $62,868.20 형성\",\n    \"SOW $61,001.00 및 Phase E 저점 $60,755.00 이후 약한 되돌림 상태이나, 아직 $62,868.20 LPSY 회복 실패\",\n    \"즉시 실행 관점에서는 핵심 저항 $62,868.20~$63,499.90 재거부 확인 전이므로 강한 추가 하락 셋업은 미확정\"\n  ],\n  \"reasoning\": \"1h 기준 regime은 DIS이며 regime_fitness 0.963, dis_score 96.2로 분배/재분배 구조의 신뢰도가 높습니다. 선행 확정 구조는 BC $74,293.10 → AR $73,057.80 → UT $74,179.90 → SOW $70,650.90 → Phase E $59,080.00로 진행된 분배 완료 구조이며, 현재는 그 이후의 활성 재분배 후보가 진행 중입니다. 활성 구조에서는 상단 실패 UT $64,250.00 및 UTAD $64,179.50 이후 LPSY $63,499.90, $62,868.20가 낮아졌고, SOW $61,001.00 및 Phase E $60,755.00가 확인되어 구조_bias는 명확히 bearish입니다. 다만 현재가 $61,655.60은 활성 범위 EQ 약 $61,665 부근으로, 즉시 경로는 $62,868.20 LPSY 하단 저항 재시험 가능성과 $61,001.00 재이탈 확인 사이의 중립적 구간입니다. 따라서 구조는 약세이나, 실행 셋업은 핵심 저항 재거부 또는 $61,001.00 하향 수용 확인 전까지 neutral로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61001.0,\n      60755.0,\n      60146.0,\n      59451.3,\n      59080.0\n    ],\n    \"resistance\": [\n      62868.2,\n      63499.9,\n      64179.5,\n      64250.0,\n      70650.9\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"64250.0\",\n  \"risk_scenario\": \"$62,868.20을 회복하고 $63,499.90 위에서 수용되면 현재 Phase E 약세 진행은 단기적으로 지연되며, $64,179.50~$64,250.00 UT/UTAD 실패 구간 재시험으로 이어질 수 있습니다. 특히 $64,250.00 상향 수용은 활성 재분배 약세 해석의 핵심 무효화 조건입니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "활성 bearish OB 후보가 $61,690.30-$64,250.00에 위치하며 현재가 $61,655.60 바로 위에 있어 공급 반응 구간에 근접",
        "bearish OB 내부 중간값 $62,970.15 및 상단 $64,250.00까지는 매도 재진입 프리미엄 배열로 작동 가능",
        "이전일 저점 $61,075.90이 이미 하향 이탈되어 단기 sell-side liquidity가 소모됨",
        "현재가 $61,655.60은 EMA20 $61,787.34 아래, EMA120 $62,860.42 아래, EMA240 $64,836.34 아래에 위치해 단기·중기 평균선 구조가 약세",
        "현재 가격은 EQ $62,467.25 아래의 discount 구간에 있어 추격 숏은 불리하지만, $61,690.30 이상 OB 재진입 시 bearish setup 유효"
      ],
      "reasoning": "확정 구조 기준으로는 최근 구조 이벤트가 BOS_bearish 이후 BOS_bullish가 있었지만, 마지막 이벤트가 $61,150.20 기준 bearish CHoCH로 표시되어 현재 structure_bias는 약세로 해석한다. 현재가 $61,655.60은 range EQ $62,467.25 아래 discount에 있으므로 즉시 추격 매도보다는 $61,690.30-$64,250.00 bearish OB 후보로 되돌림이 들어올 때 기관 매도 공급이 나오는지가 핵심이다. 특히 OB 하단 $61,690.30은 현재가와 매우 가까워 단기 저항이며, OB 중간값 $62,970.15와 이전일 고점/레인지 고점 $64,179.50-$64,250.00은 더 강한 매도 방어 구간이다. 하방으로는 London/New York 저점 $61,045.70, CHoCH 기준 $61,150.20, range low $60,755.00이 순차적인 유동성 및 반응 레벨이며, $60,755.00이 깨지면 7일 저점 $59,080.00까지 확장 가능성이 열린다.",
      "key_levels": {
        "support": [
          61150.2,
          61075.9,
          61045.7,
          60755.0,
          59080.0
        ],
        "resistance": [
          61690.3,
          61949.3,
          61989.0,
          62467.25,
          62970.15,
          64179.5,
          64250.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$64,250.00",
      "risk_scenario": "반대 시나리오는 가격이 bearish OB $61,690.30-$64,250.00을 흡수하고 특히 $64,250.00 상단 위에서 1시간봉 기준 수용되며 마감하는 경우이다. 이 경우 현재 bearish setup은 실패로 보고, $64,179.50 이전일 고점과 OB 상단 돌파가 buy-side repricing으로 전환될 수 있으며 다음 상방 유동성은 더 높은 resting BSL $74,271.55 방향으로 열릴 수 있다.",
      "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": 1,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 61690.3,
          "top": 64250.0,
          "quality": "candidate",
          "score": 0.541
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [
          {
            "type": "bearish_ob",
            "idx": 242,
            "top": 64250.0,
            "bottom": 61690.3,
            "mid": 62970.15,
            "quality": "candidate",
            "score": 0.541,
            "displacement_score": 0.26,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 61949.3,
              "top": 61989.0
            },
            "swept_level": null,
            "source_move_idx": 242,
            "proximity": "nearby"
          }
        ],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 51,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 73130.1
          },
          {
            "type": "BOS_bullish",
            "level": 62942.4
          },
          {
            "type": "CHoCH_bearish",
            "level": 61150.2
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 74271.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 62467.25,
        "range_high": 64179.5,
        "range_low": 60755.0,
        "bull_score": 3.0,
        "bear_score": 7.125,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $73,130.10",
          "bearish CHoCH below $61,150.20",
          "bearish OB candidate $61,690.30-$64,250.00 (nearby, score=0.54)",
          "broken previous day low $61,075.90"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 21.1,
        "deepest_retracement_pct": 42.9,
        "previous_day_high": 64179.5,
        "previous_day_low": 61075.9,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 61947.4,
            "low": 61045.7
          },
          "New York": {
            "active": true,
            "high": 61783.4,
            "low": 61045.7
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.76,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"활성 bearish OB 후보가 $61,690.30-$64,250.00에 위치하며 현재가 $61,655.60 바로 위에 있어 공급 반응 구간에 근접\",\n    \"bearish OB 내부 중간값 $62,970.15 및 상단 $64,250.00까지는 매도 재진입 프리미엄 배열로 작동 가능\",\n    \"이전일 저점 $61,075.90이 이미 하향 이탈되어 단기 sell-side liquidity가 소모됨\",\n    \"현재가 $61,655.60은 EMA20 $61,787.34 아래, EMA120 $62,860.42 아래, EMA240 $64,836.34 아래에 위치해 단기·중기 평균선 구조가 약세\",\n    \"현재 가격은 EQ $62,467.25 아래의 discount 구간에 있어 추격 숏은 불리하지만, $61,690.30 이상 OB 재진입 시 bearish setup 유효\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 최근 구조 이벤트가 BOS_bearish 이후 BOS_bullish가 있었지만, 마지막 이벤트가 $61,150.20 기준 bearish CHoCH로 표시되어 현재 structure_bias는 약세로 해석한다. 현재가 $61,655.60은 range EQ $62,467.25 아래 discount에 있으므로 즉시 추격 매도보다는 $61,690.30-$64,250.00 bearish OB 후보로 되돌림이 들어올 때 기관 매도 공급이 나오는지가 핵심이다. 특히 OB 하단 $61,690.30은 현재가와 매우 가까워 단기 저항이며, OB 중간값 $62,970.15와 이전일 고점/레인지 고점 $64,179.50-$64,250.00은 더 강한 매도 방어 구간이다. 하방으로는 London/New York 저점 $61,045.70, CHoCH 기준 $61,150.20, range low $60,755.00이 순차적인 유동성 및 반응 레벨이며, $60,755.00이 깨지면 7일 저점 $59,080.00까지 확장 가능성이 열린다.\",\n  \"key_levels\": {\n    \"support\": [\n      61150.2,\n      61075.9,\n      61045.7,\n      60755.0,\n      59080.0\n    ],\n    \"resistance\": [\n      61690.3,\n      61949.3,\n      61989.0,\n      62467.25,\n      62970.15,\n      64179.5,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$64,250.00\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 bearish OB $61,690.30-$64,250.00을 흡수하고 특히 $64,250.00 상단 위에서 1시간봉 기준 수용되며 마감하는 경우이다. 이 경우 현재 bearish setup은 실패로 보고, $64,179.50 이전일 고점과 OB 상단 돌파가 buy-side repricing으로 전환될 수 있으며 다음 상방 유동성은 더 높은 resting BSL $74,271.55 방향으로 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.41,
      "structure_bias": "neutral",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "고품질 strict bullish Gartley 형성 PRZ가 현재가 인근에 활성화: $61,656.38-$62,269.23, D=$61,962.81, score=0.941, XAB=0.6246",
        "동시에 고품질 strict bearish Gartley 형성 PRZ가 하단에 활성 대기: $61,011.46-$61,360.19, D=$61,185.82, score=0.939, XAB=0.6194",
        "가장 가까운 PRZ는 candidate bullish Shark D=$61,662.29, 범위 $61,369.48-$61,955.10로 현재가 $61,655.60와 사실상 중첩",
        "확인된 PRZ 반응이 0건이며 confirmed_reaction_prz_count=0, validated_harmonic_tp_count=0으로 아직 구조 전환 신호는 없음",
        "방향 점수 bullish=0.199, bearish=0.199, dominance=0.001로 하모닉 단독 방향 우위가 거의 없음"
      ],
      "reasoning": "현재 BTC/USDT $61,655.60은 핵심 bullish Gartley PRZ $61,656.38-$62,269.23의 하단 바로 아래에 있으며, D값 $61,962.81과 매우 가까워 반등 후보 구간에 진입한 상태입니다. 그러나 하단에는 반대 방향의 strict high bearish Gartley PRZ $61,011.46-$61,360.19도 존재하고, 두 council-relevant PRZ의 사전확인 가중치가 각각 0.35로 동일해 방향성 우위가 없습니다. confirmed_reaction_prz_count=0이므로 아직 sweep→reclaim, 15m/1h MSS·CHoCH, CVD divergence/OI squeeze 같은 반응 확인이 없으며, 하모닉은 메인 경로를 뒤집을 수 없는 약한 PRZ 후보로만 취급해야 합니다. 따라서 구조_bias는 확인된 BOS/CHoCH 부재로 neutral, setup_bias도 상·하방 PRZ가 충돌하므로 neutral로 평가합니다.",
      "key_levels": {
        "support": [
          61656.38,
          61369.48,
          61360.19,
          61011.46,
          60146.0
        ],
        "resistance": [
          61955.1,
          61962.81,
          62269.23,
          62677.03,
          63118.28,
          63832.5
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,269.23 상방 수용 또는 $61,011.46 하방 이탈 시 현재의 중립 하모닉 균형 판단은 무효",
      "risk_scenario": "상방 시나리오는 $61,656.38-$62,269.23 bullish Gartley PRZ에서 하방 실패 후 reclaim/MSS가 나오면 $62,677.03, $63,118.28, $63,832.50까지 TP ladder가 열리는 것입니다. 반대로 $61,360.19 아래로 밀려 $61,011.46-$61,360.19 bearish Gartley PRZ가 방어되지 못하면 $60,788.61, $60,543.21, 최종 $60,146.00 쪽으로 하방 반응 리스크가 커집니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 184,
        "completed_patterns_found": 72,
        "forming_d_prz_found": 112,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 28,
        "swing_lows_scanned": 31,
        "timeframe": "1h",
        "prz_active_threshold_pct": 0.5,
        "prz_nearby_threshold_pct": 1.0,
        "prz_watch_threshold_pct": 2.0,
        "prz_max_width_pct": 0.9,
        "quality_counts": {
          "high": 9,
          "medium": 70,
          "low": 105
        },
        "prz_status_counts": {
          "active": 55,
          "nearby": 18,
          "watch": 31,
          "far": 80,
          "forming": 56
        },
        "high_confluence_prz_count": 39,
        "strict_patterns_found": 78,
        "candidate_patterns_found": 106,
        "active_patterns_at_prz": 55,
        "nearby_patterns": 18,
        "all_patterns": [
          "gartley",
          "gartley",
          "bat",
          "bat",
          "gartley",
          "crab",
          "crab",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "gartley",
          "gartley",
          "gartley",
          "crab",
          "shark",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "bat",
          "crab",
          "gartley",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "gartley",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "gartley",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "crab",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "gartley",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "gartley",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.941,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 61662.29,
        "price_to_prz": 0.01,
        "prz_range": [
          61369.48,
          61955.1
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.941,
            "ratio_score": 0.961,
            "prz_score": 0.977,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61962.81,
            "prz_range": [
              61656.38,
              62269.23
            ],
            "prz_width_pct": 0.989,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.4983,
            "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": 61962.81,
              "a_price": 63832.5,
              "tp1_ad_382": 62677.03,
              "tp2_ad_618": 63118.28,
              "tp3_a_or_structure_liquidity": 63832.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6246,
              "ABC": 0.7708
            },
            "x_price": 61509.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 63832.5,
            "a_idx": 265,
            "a_order": 3,
            "b_price": 62381.2,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 63499.9,
            "c_idx": 273,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.939,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61185.82,
            "prz_range": [
              61011.46,
              61360.19
            ],
            "prz_width_pct": 0.57,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.76,
            "price_to_prz_pct_raw": -0.7619,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61185.82,
              "a_price": 60146.0,
              "tp1_ad_382": 60788.61,
              "tp2_ad_618": 60543.21,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6194,
              "ABC": 0.7036
            },
            "x_price": 61475.0,
            "x_idx": 204,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 217,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62697.79,
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_width_pct": 0.82,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.69,
            "price_to_prz_pct_raw": 1.6903,
            "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": 62697.79,
              "a_price": 64463.7,
              "tp1_ad_382": 63372.37,
              "tp2_ad_618": 63789.12,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6155,
              "ABC": 0.6427
            },
            "x_price": 62150.8,
            "x_idx": 159,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 162,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 169,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 172,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.842,
            "ratio_score": 0.664,
            "prz_score": 0.987,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61662.29,
            "prz_range": [
              61369.48,
              61955.1
            ],
            "prz_width_pct": 0.95,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0108,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61662.29,
              "a_price": 62327.0,
              "tp1_ad_382": 61916.21,
              "tp2_ad_618": 62073.08,
              "tp3_a_or_structure_liquidity": 62327.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4052,
              "ABC": 1.2227
            },
            "x_price": 61509.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 62327.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 62658.4,
            "b_idx": 256,
            "b_order": 5,
            "c_price": 62253.2,
            "c_idx": 288,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.834,
            "ratio_score": 0.665,
            "prz_score": 0.99,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61148.24,
            "prz_range": [
              60860.68,
              61435.79
            ],
            "prz_width_pct": 0.941,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.82,
            "price_to_prz_pct_raw": -0.8229,
            "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": 61148.24,
              "a_price": 62942.4,
              "tp1_ad_382": 61833.61,
              "tp2_ad_618": 62257.03,
              "tp3_a_or_structure_liquidity": 62942.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5615,
              "ABC": 0.5706
            },
            "x_price": 60390.0,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 62942.4,
            "a_idx": 228,
            "a_order": 8,
            "b_price": 61509.1,
            "b_idx": 232,
            "b_order": 5,
            "c_price": 62327.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.924,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61559.77,
            "prz_range": [
              61179.96,
              61939.59
            ],
            "prz_width_pct": 1.234,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.16,
            "price_to_prz_pct_raw": -0.1554,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 61559.77,
              "a_price": 60146.0,
              "tp1_ad_382": 61019.71,
              "tp2_ad_618": 60686.06,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4476,
              "ABC": 0.7036
            },
            "x_price": 61985.1,
            "x_idx": 193,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 217,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.916,
            "ratio_score": 1.0,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62054.84,
            "prz_range": [
              61638.88,
              62470.8
            ],
            "prz_width_pct": 1.341,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.65,
            "price_to_prz_pct_raw": 0.6475,
            "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": 62054.84,
              "a_price": 64463.7,
              "tp1_ad_382": 62975.03,
              "tp2_ad_618": 63543.52,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4982,
              "ABC": 0.4923
            },
            "x_price": 61344.8,
            "x_idx": 150,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 162,
            "a_order": 5,
            "b_price": 62910.0,
            "b_idx": 165,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 177,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.878,
            "ratio_score": 1.0,
            "prz_score": 0.889,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62914.93,
            "prz_range": [
              62497.39,
              63332.47
            ],
            "prz_width_pct": 1.327,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.04,
            "price_to_prz_pct_raw": 2.0425,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 62914.93,
              "a_price": 60146.0,
              "tp1_ad_382": 61857.2,
              "tp2_ad_618": 61203.73,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.618,
              "ABC": 0.7208
            },
            "x_price": 63674.9,
            "x_idx": 177,
            "x_order": 3,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 62327.0,
            "b_idx": 236,
            "b_order": 3,
            "c_price": 60755.0,
            "c_idx": 284,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.941,
            "ratio_score": 0.961,
            "prz_score": 0.977,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61962.81,
            "prz_range": [
              61656.38,
              62269.23
            ],
            "prz_width_pct": 0.989,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.4983,
            "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": 61962.81,
              "a_price": 63832.5,
              "tp1_ad_382": 62677.03,
              "tp2_ad_618": 63118.28,
              "tp3_a_or_structure_liquidity": 63832.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6246,
              "ABC": 0.7708
            },
            "x_price": 61509.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 63832.5,
            "a_idx": 265,
            "a_order": 3,
            "b_price": 62381.2,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 63499.9,
            "c_idx": 273,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.939,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61185.82,
            "prz_range": [
              61011.46,
              61360.19
            ],
            "prz_width_pct": 0.57,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.76,
            "price_to_prz_pct_raw": -0.7619,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61185.82,
              "a_price": 60146.0,
              "tp1_ad_382": 60788.61,
              "tp2_ad_618": 60543.21,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6194,
              "ABC": 0.7036
            },
            "x_price": 61475.0,
            "x_idx": 204,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 217,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.941,
            "ratio_score": 0.961,
            "prz_score": 0.977,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61962.81,
            "prz_range": [
              61656.38,
              62269.23
            ],
            "prz_width_pct": 0.989,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.4983,
            "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": 61962.81,
              "a_price": 63832.5,
              "tp1_ad_382": 62677.03,
              "tp2_ad_618": 63118.28,
              "tp3_a_or_structure_liquidity": 63832.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6246,
              "ABC": 0.7708
            },
            "x_price": 61509.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 63832.5,
            "a_idx": 265,
            "a_order": 3,
            "b_price": 62381.2,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 63499.9,
            "c_idx": 273,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.939,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61185.82,
            "prz_range": [
              61011.46,
              61360.19
            ],
            "prz_width_pct": 0.57,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.76,
            "price_to_prz_pct_raw": -0.7619,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61185.82,
              "a_price": 60146.0,
              "tp1_ad_382": 60788.61,
              "tp2_ad_618": 60543.21,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6194,
              "ABC": 0.7036
            },
            "x_price": 61475.0,
            "x_idx": 204,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 217,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62697.79,
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_width_pct": 0.82,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.69,
            "price_to_prz_pct_raw": 1.6903,
            "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": 62697.79,
              "a_price": 64463.7,
              "tp1_ad_382": 63372.37,
              "tp2_ad_618": 63789.12,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6155,
              "ABC": 0.6427
            },
            "x_price": 62150.8,
            "x_idx": 159,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 162,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 169,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 172,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.842,
            "ratio_score": 0.664,
            "prz_score": 0.987,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61662.29,
            "prz_range": [
              61369.48,
              61955.1
            ],
            "prz_width_pct": 0.95,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.01,
            "price_to_prz_pct_raw": 0.0108,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61662.29,
              "a_price": 62327.0,
              "tp1_ad_382": 61916.21,
              "tp2_ad_618": 62073.08,
              "tp3_a_or_structure_liquidity": 62327.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4052,
              "ABC": 1.2227
            },
            "x_price": 61509.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 62327.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 62658.4,
            "b_idx": 256,
            "b_order": 5,
            "c_price": 62253.2,
            "c_idx": 288,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.834,
            "ratio_score": 0.665,
            "prz_score": 0.99,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61148.24,
            "prz_range": [
              60860.68,
              61435.79
            ],
            "prz_width_pct": 0.941,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.82,
            "price_to_prz_pct_raw": -0.8229,
            "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": 61148.24,
              "a_price": 62942.4,
              "tp1_ad_382": 61833.61,
              "tp2_ad_618": 62257.03,
              "tp3_a_or_structure_liquidity": 62942.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5615,
              "ABC": 0.5706
            },
            "x_price": 60390.0,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 62942.4,
            "a_idx": 228,
            "a_order": 8,
            "b_price": 61509.1,
            "b_idx": 232,
            "b_order": 5,
            "c_price": 62327.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.924,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61559.77,
            "prz_range": [
              61179.96,
              61939.59
            ],
            "prz_width_pct": 1.234,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.16,
            "price_to_prz_pct_raw": -0.1554,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 61559.77,
              "a_price": 60146.0,
              "tp1_ad_382": 61019.71,
              "tp2_ad_618": 60686.06,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4476,
              "ABC": 0.7036
            },
            "x_price": 61985.1,
            "x_idx": 193,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 217,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.916,
            "ratio_score": 1.0,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62054.84,
            "prz_range": [
              61638.88,
              62470.8
            ],
            "prz_width_pct": 1.341,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.65,
            "price_to_prz_pct_raw": 0.6475,
            "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": 62054.84,
              "a_price": 64463.7,
              "tp1_ad_382": 62975.03,
              "tp2_ad_618": 63543.52,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4982,
              "ABC": 0.4923
            },
            "x_price": 61344.8,
            "x_idx": 150,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 162,
            "a_order": 5,
            "b_price": 62910.0,
            "b_idx": 165,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 177,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.878,
            "ratio_score": 1.0,
            "prz_score": 0.889,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62914.93,
            "prz_range": [
              62497.39,
              63332.47
            ],
            "prz_width_pct": 1.327,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.04,
            "price_to_prz_pct_raw": 2.0425,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 62914.93,
              "a_price": 60146.0,
              "tp1_ad_382": 61857.2,
              "tp2_ad_618": 61203.73,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.618,
              "ABC": 0.7208
            },
            "x_price": 63674.9,
            "x_idx": 177,
            "x_order": 3,
            "a_price": 60146.0,
            "a_idx": 206,
            "a_order": 3,
            "b_price": 62327.0,
            "b_idx": 236,
            "b_order": 3,
            "c_price": 60755.0,
            "c_idx": 284,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.875,
            "ratio_score": 0.779,
            "prz_score": 0.967,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62219.29,
            "prz_range": [
              61899.21,
              62539.37
            ],
            "prz_width_pct": 1.029,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.91,
            "price_to_prz_pct_raw": 0.9143,
            "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": 62219.29,
              "a_price": 64250.0,
              "tp1_ad_382": 62995.02,
              "tp2_ad_618": 63474.27,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5807,
              "ABC": 0.7377
            },
            "x_price": 61509.1,
            "x_idx": 232,
            "x_order": 5,
            "a_price": 64250.0,
            "a_idx": 242,
            "a_order": 8,
            "b_price": 62658.4,
            "b_idx": 256,
            "b_order": 5,
            "c_price": 63832.5,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.873,
            "ratio_score": 1.0,
            "prz_score": 0.9,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60441.5,
            "prz_range": [
              60053.36,
              60829.64
            ],
            "prz_width_pct": 1.284,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.97,
            "price_to_prz_pct_raw": -1.9692,
            "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": 60441.5,
              "a_price": 64250.0,
              "tp1_ad_382": 61896.35,
              "tp2_ad_618": 62795.15,
              "tp3_a_or_structure_liquidity": 64250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3878,
              "ABC": 0.4467
            },
            "x_price": 60146.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 64250.0,
            "a_idx": 242,
            "a_order": 8,
            "b_price": 62658.4,
            "b_idx": 256,
            "b_order": 5,
            "c_price": 61947.4,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 0.864,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60733.9,
            "prz_range": [
              60428.2,
              61039.61
            ],
            "prz_width_pct": 1.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.49,
            "price_to_prz_pct_raw": -1.4949,
            "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": 60733.9,
              "a_price": 62942.4,
              "tp1_ad_382": 61577.55,
              "tp2_ad_618": 62098.75,
              "tp3_a_or_structure_liquidity": 62942.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6409,
              "ABC": 0.6154
            },
            "x_price": 60146.0,
            "x_idx": 206,
            "x_order": 3,
            "a_price": 62942.4,
            "a_idx": 228,
            "a_order": 8,
            "b_price": 61150.2,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 62253.2,
            "c_idx": 288,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.855,
            "ratio_score": 1.0,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63178.86,
            "prz_range": [
              62750.88,
              63606.85
            ],
            "prz_width_pct": 1.355,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.47,
            "price_to_prz_pct_raw": 2.4706,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 63178.86,
              "a_price": 59080.0,
              "tp1_ad_382": 61613.1,
              "tp2_ad_618": 60645.77,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4723,
              "ABC": 0.453
            },
            "x_price": 64150.8,
            "x_idx": 167,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 191,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 204,
            "b_order": 5,
            "c_price": 60390.0,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.941,
            "prz_proximity": "active",
            "prz_range": [
              61656.38,
              62269.23
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.5,
            "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": 61962.81,
              "a_price": 63832.5,
              "tp1_ad_382": 62677.03,
              "tp2_ad_618": 63118.28,
              "tp3_a_or_structure_liquidity": 63832.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $61,656.38-$62,269.23: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.939,
            "prz_proximity": "active",
            "prz_range": [
              61011.46,
              61360.19
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.76,
            "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": "bearish",
              "source": "gartley",
              "d_price": 61185.82,
              "a_price": 60146.0,
              "tp1_ad_382": 60788.61,
              "tp2_ad_618": 60543.21,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $61,011.46-$61,360.19: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.941,
          "ratio_score": 0.961,
          "prz_score": 0.977,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 61962.81,
          "prz_range": [
            61656.38,
            62269.23
          ],
          "prz_width_pct": 0.989,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.5,
          "price_to_prz_pct_raw": 0.4983,
          "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": 61962.81,
            "a_price": 63832.5,
            "tp1_ad_382": 62677.03,
            "tp2_ad_618": 63118.28,
            "tp3_a_or_structure_liquidity": 63832.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6246,
            "ABC": 0.7708
          },
          "x_price": 61509.1,
          "x_idx": 232,
          "x_order": 5,
          "a_price": 63832.5,
          "a_idx": 265,
          "a_order": 3,
          "b_price": 62381.2,
          "b_idx": 268,
          "b_order": 8,
          "c_price": 63499.9,
          "c_idx": 273,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 61962.81,
          "a_price": 63832.5,
          "tp1_ad_382": 62677.03,
          "tp2_ad_618": 63118.28,
          "tp3_a_or_structure_liquidity": 63832.5,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 61962.81,
            "a_price": 63832.5,
            "tp1_ad_382": 62677.03,
            "tp2_ad_618": 63118.28,
            "tp3_a_or_structure_liquidity": 63832.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 61185.82,
            "a_price": 60146.0,
            "tp1_ad_382": 60788.61,
            "tp2_ad_618": 60543.21,
            "tp3_a_or_structure_liquidity": 60146.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.199,
          "bearish": 0.199
        },
        "directional_score_total": 0.398,
        "directional_dominance": 0.001
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.41,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"고품질 strict bullish Gartley 형성 PRZ가 현재가 인근에 활성화: $61,656.38-$62,269.23, D=$61,962.81, score=0.941, XAB=0.6246\",\n    \"동시에 고품질 strict bearish Gartley 형성 PRZ가 하단에 활성 대기: $61,011.46-$61,360.19, D=$61,185.82, score=0.939, XAB=0.6194\",\n    \"가장 가까운 PRZ는 candidate bullish Shark D=$61,662.29, 범위 $61,369.48-$61,955.10로 현재가 $61,655.60와 사실상 중첩\",\n    \"확인된 PRZ 반응이 0건이며 confirmed_reaction_prz_count=0, validated_harmonic_tp_count=0으로 아직 구조 전환 신호는 없음\",\n    \"방향 점수 bullish=0.199, bearish=0.199, dominance=0.001로 하모닉 단독 방향 우위가 거의 없음\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT $61,655.60은 핵심 bullish Gartley PRZ $61,656.38-$62,269.23의 하단 바로 아래에 있으며, D값 $61,962.81과 매우 가까워 반등 후보 구간에 진입한 상태입니다. 그러나 하단에는 반대 방향의 strict high bearish Gartley PRZ $61,011.46-$61,360.19도 존재하고, 두 council-relevant PRZ의 사전확인 가중치가 각각 0.35로 동일해 방향성 우위가 없습니다. confirmed_reaction_prz_count=0이므로 아직 sweep→reclaim, 15m/1h MSS·CHoCH, CVD divergence/OI squeeze 같은 반응 확인이 없으며, 하모닉은 메인 경로를 뒤집을 수 없는 약한 PRZ 후보로만 취급해야 합니다. 따라서 구조_bias는 확인된 BOS/CHoCH 부재로 neutral, setup_bias도 상·하방 PRZ가 충돌하므로 neutral로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61656.38,\n      61369.48,\n      61360.19,\n      61011.46,\n      60146.0\n    ],\n    \"resistance\": [\n      61955.1,\n      61962.81,\n      62269.23,\n      62677.03,\n      63118.28,\n      63832.5\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,269.23 상방 수용 또는 $61,011.46 하방 이탈 시 현재의 중립 하모닉 균형 판단은 무효\",\n  \"risk_scenario\": \"상방 시나리오는 $61,656.38-$62,269.23 bullish Gartley PRZ에서 하방 실패 후 reclaim/MSS가 나오면 $62,677.03, $63,118.28, $63,832.50까지 TP ladder가 열리는 것입니다. 반대로 $61,360.19 아래로 밀려 $61,011.46-$61,360.19 bearish Gartley PRZ가 방어되지 못하면 $60,788.61, $60,543.21, 최종 $60,146.00 쪽으로 하방 반응 리스크가 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.72,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "현재가 $61,655.60이 EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34 아래에 있어 반등 수용보다 공급 우위 구조",
        "ICT bearish OB 후보 $61,690.30-$64,250.00 하단 바로 아래에서 거래 중이며, OB 중간값 $62,970.15가 핵심 프리미엄 저항",
        "Fibonacci ret_0.382 $61,680.89 및 EMA20 $61,787.34 부근에서 단기 저항 테스트 중",
        "가격 24시간 -2.40% 하락 중 OI +2.2120% 증가, CVD -7020.1560으로 하락 중 신규 포지션 유입과 매도 체결 우위",
        "롱 계정 비율 0.675, 롱 계정 쏠림 점수 1.000으로 하락 중 롱 쏠림이 누적된 상태",
        "Wyckoff 활성 재분배 구간에서 UT/UTAD $64,250.00/$64,179.50 이후 낮아진 LPSY $63,499.90 → $62,868.20 형성",
        "하방 구조 기준선은 ICT CHoCH $61,150.20, 이전일 저점 $61,075.90, Wyckoff SOW $61,001.00, range low $60,755.00"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재가는 활성 범위 EQ 약 $61,665와 하모닉 bullish PRZ 하단 $61,656.38 근처라 즉시 추격보다는 저항 재거부 또는 하방 수용 확인이 중요한 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 4,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        61150.2,
        61075.9,
        61045.7,
        61001.0,
        60755.0,
        60300.0,
        59080.0
      ],
      "resistance": [
        61680.89,
        61690.3,
        61787.34,
        62100.0,
        62253.2,
        62868.2,
        62970.15,
        64179.5,
        64250.0,
        64836.34
      ]
    },
    "confluences": [
      "단기 저항은 $61,680-$61,787에 강하게 겹친다: Fibonacci ret_0.382 $61,680.89, ICT bearish OB 하단 $61,690.30, EMA20 $61,787.34가 같은 구간에 위치한다.",
      "$61,000-$61,150 구간은 핵심 하방 구조/유동성 구간이다: ICT CHoCH $61,150.20, 이전일 저점 $61,075.90, London/New York 저점 $61,045.70, Wyckoff SOW $61,001.00이 밀집한다.",
      "$60,755-$60,900 부근은 하방 반응 구간으로 중첩된다: Wyckoff Phase E 저점 $60,755.00, ICT range low $60,755.00, 파생 청산 클러스터 $60,900이 같은 하단 구조에 있다.",
      "$62,860-$62,970 구간은 중기 저항 합류다: EMA120 $62,860.42, Wyckoff LPSY $62,868.20, ICT bearish OB 중간값 $62,970.15가 근접한다.",
      "$64,179-$64,250은 상단 구조 무효화 전초 구간이다: Wyckoff UTAD $64,179.50 및 UT $64,250.00, ICT 이전일 고점 $64,179.50과 OB 상단 $64,250.00이 일치한다.",
      "$59,080은 다중 구조 저점이다: Wyckoff prior Phase E 저점, Candlestick 7일 저점, ICT 확장 하단, 파생 주요 지지 레벨이 모두 동일 가격대를 참조한다."
    ],
    "conflicts": [
      "Candlestick은 구조는 약세로 보지만, 7일 discount zone에서 morning_star 후보와 bullish_harami가 있어 단기 반등 셋업을 제시한다. 그러나 패턴 품질 0.637, 고거래량 확인 부재로 구조 전환 신호로는 약하다.",
      "Harmonic은 현재가 부근 bullish Gartley PRZ $61,656.38-$62,269.23과 하단 bearish Gartley PRZ $61,011.46-$61,360.19가 동시에 활성화되어 방향 우위가 없다. 두 PRZ 모두 반응 확인이 없어 메인 구조를 뒤집을 수 없다.",
      "ICT는 현재가가 range EQ $62,467.25 아래 discount라고 보며 추격 매도 리스크를 지적하지만, Derivatives와 Fibonacci는 EMA 하회, CVD 매도 우위, ret_0.382 저항 실패 가능성을 근거로 실행 셋업을 약세로 본다.",
      "파생 데이터는 하락 중 롱 쏠림과 CVD 약세를 지지하지만, 상방 $62,100, $62,700, $63,800-$64,000 청산 클러스터가 있어 숏 스퀴즈 리스크가 구조적 약세 내의 변동성 조건으로 남아 있다."
    ],
    "executive_summary": "BTC/USDT 1시간 구조는 prior distribution이 이미 큰 폭으로 전개된 뒤, 현재는 $64,250.00/$64,179.50 상단 실패 이후 낮아진 LPSY와 SOW가 나타난 활성 재분배 후보로 진단된다. 현재가 $61,655.60은 활성 재분배 범위의 EQ 약 $61,665 근처에 있어 구조적으로는 약세이나, 즉시 국면은 LPSY 저항 재확인과 $61,000-$61,150 구조선 사이의 중간 위치다. 핵심 저항은 $61,680-$61,787, $62,860-$62,970, $64,179-$64,250에 밀집하며, 핵심 하방 구조선은 $61,150.20, $61,075.90, $61,001.00, $60,755.00, $59,080.00이다. 반등형 캔들 및 하모닉 PRZ는 존재하지만 모두 후보 단계이며, CVD 매도 우위와 하락 중 OI 증가 및 롱 계정 쏠림이 구조적 약세 판단을 보강한다. 구조적 무효화는 $64,250.00 회복 및 수용, 더 강하게는 EMA240 $64,836.34 위 안착으로 정의한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.72,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"현재가 $61,655.60이 EMA20 $61,787.34, EMA120 $62,860.42, EMA240 $64,836.34 아래에 있어 반등 수용보다 공급 우위 구조\",\n      \"ICT bearish OB 후보 $61,690.30-$64,250.00 하단 바로 아래에서 거래 중이며, OB 중간값 $62,970.15가 핵심 프리미엄 저항\",\n      \"Fibonacci ret_0.382 $61,680.89 및 EMA20 $61,787.34 부근에서 단기 저항 테스트 중\",\n      \"가격 24시간 -2.40% 하락 중 OI +2.2120% 증가, CVD -7020.1560으로 하락 중 신규 포지션 유입과 매도 체결 우위\",\n      \"롱 계정 비율 0.675, 롱 계정 쏠림 점수 1.000으로 하락 중 롱 쏠림이 누적된 상태\",\n      \"Wyckoff 활성 재분배 구간에서 UT/UTAD $64,250.00/$64,179.50 이후 낮아진 LPSY $63,499.90 → $62,868.20 형성\",\n      \"하방 구조 기준선은 ICT CHoCH $61,150.20, 이전일 저점 $61,075.90, Wyckoff SOW $61,001.00, range low $60,755.00\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재가는 활성 범위 EQ 약 $61,665와 하모닉 bullish PRZ 하단 $61,656.38 근처라 즉시 추격보다는 저항 재거부 또는 하방 수용 확인이 중요한 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 4,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      61150.2,\n      61075.9,\n      61045.7,\n      61001.0,\n      60755.0,\n      60300.0,\n      59080.0\n    ],\n    \"resistance\": [\n      61680.89,\n      61690.3,\n      61787.34,\n      62100.0,\n      62253.2,\n      62868.2,\n      62970.15,\n      64179.5,\n      64250.0,\n      64836.34\n    ]\n  },\n  \"confluences\": [\n    \"단기 저항은 $61,680-$61,787에 강하게 겹친다: Fibonacci ret_0.382 $61,680.89, ICT bearish OB 하단 $61,690.30, EMA20 $61,787.34가 같은 구간에 위치한다.\",\n    \"$61,000-$61,150 구간은 핵심 하방 구조/유동성 구간이다: ICT CHoCH $61,150.20, 이전일 저점 $61,075.90, London/New York 저점 $61,045.70, Wyckoff SOW $61,001.00이 밀집한다.\",\n    \"$60,755-$60,900 부근은 하방 반응 구간으로 중첩된다: Wyckoff Phase E 저점 $60,755.00, ICT range low $60,755.00, 파생 청산 클러스터 $60,900이 같은 하단 구조에 있다.\",\n    \"$62,860-$62,970 구간은 중기 저항 합류다: EMA120 $62,860.42, Wyckoff LPSY $62,868.20, ICT bearish OB 중간값 $62,970.15가 근접한다.\",\n    \"$64,179-$64,250은 상단 구조 무효화 전초 구간이다: Wyckoff UTAD $64,179.50 및 UT $64,250.00, ICT 이전일 고점 $64,179.50과 OB 상단 $64,250.00이 일치한다.\",\n    \"$59,080은 다중 구조 저점이다: Wyckoff prior Phase E 저점, Candlestick 7일 저점, ICT 확장 하단, 파생 주요 지지 레벨이 모두 동일 가격대를 참조한다.\"\n  ],\n  \"conflicts\": [\n    \"Candlestick은 구조는 약세로 보지만, 7일 discount zone에서 morning_star 후보와 bullish_harami가 있어 단기 반등 셋업을 제시한다. 그러나 패턴 품질 0.637, 고거래량 확인 부재로 구조 전환 신호로는 약하다.\",\n    \"Harmonic은 현재가 부근 bullish Gartley PRZ $61,656.38-$62,269.23과 하단 bearish Gartley PRZ $61,011.46-$61,360.19가 동시에 활성화되어 방향 우위가 없다. 두 PRZ 모두 반응 확인이 없어 메인 구조를 뒤집을 수 없다.\",\n    \"ICT는 현재가가 range EQ $62,467.25 아래 discount라고 보며 추격 매도 리스크를 지적하지만, Derivatives와 Fibonacci는 EMA 하회, CVD 매도 우위, ret_0.382 저항 실패 가능성을 근거로 실행 셋업을 약세로 본다.\",\n    \"파생 데이터는 하락 중 롱 쏠림과 CVD 약세를 지지하지만, 상방 $62,100, $62,700, $63,800-$64,000 청산 클러스터가 있어 숏 스퀴즈 리스크가 구조적 약세 내의 변동성 조건으로 남아 있다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 1시간 차트에서 분배/재분배 regime 해석이 가장 구체적이며, prior distribution 완료 이후 활성 재분배 후보에서 UT $64,250.00, UTAD $64,179.50, 낮아진 LPSY $63,499.90 및 $62,868.20, SOW $61,001.00, Phase E $60,755.00까지 단계적 구조가 명확하다.\",\n  \"invalidation_level\": \"$64,250.00 상향 회복 및 수용이 1차 구조 훼손이며, EMA240 $64,836.34 위 안착 시 bearish regime 해석은 실질적으로 무효화된다.\",\n  \"executive_summary\": \"BTC/USDT 1시간 구조는 prior distribution이 이미 큰 폭으로 전개된 뒤, 현재는 $64,250.00/$64,179.50 상단 실패 이후 낮아진 LPSY와 SOW가 나타난 활성 재분배 후보로 진단된다. 현재가 $61,655.60은 활성 재분배 범위의 EQ 약 $61,665 근처에 있어 구조적으로는 약세이나, 즉시 국면은 LPSY 저항 재확인과 $61,000-$61,150 구조선 사이의 중간 위치다. 핵심 저항은 $61,680-$61,787, $62,860-$62,970, $64,179-$64,250에 밀집하며, 핵심 하방 구조선은 $61,150.20, $61,075.90, $61,001.00, $60,755.00, $59,080.00이다. 반등형 캔들 및 하모닉 PRZ는 존재하지만 모두 후보 단계이며, CVD 매도 우위와 하락 중 OI 증가 및 롱 계정 쏠림이 구조적 약세 판단을 보강한다. 구조적 무효화는 $64,250.00 회복 및 수용, 더 강하게는 EMA240 $64,836.34 위 안착으로 정의한다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.72,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.68,
    "waypoints": [
      {
        "seq": 1,
        "price": 61787.34,
        "type": "resistance_test",
        "source": "Fibonacci(ret_0.382 $61,680.89, EMA20 $61,787.34), ICT(bearish OB 하단 $61,690.30), Wyckoff(LPSY 재시험 맥락), Candlestick(최근 5캔들 중 4양봉 단기 반등), Harmonic(bullish Gartley PRZ 하단 $61,656.38 / Shark D $61,662.29)",
        "description": "현재가 $61,655.60은 활성 재분배 EQ(약 $61,665) 부근으로, 즉시 추격 매도보다 저항 재거부 확인이 우선인 구간이다. bullish 하모닉 PRZ 하단 $61,656.38과 Shark D $61,662.29가 단기 반등 연료를 제공해 $61,680-$61,787 공급 합류(ret_0.382 $61,680.89, OB 하단 $61,690.30, EMA20 $61,787.34)로 되돌림이 예상된다. 이 구간이 핵심 숏 재진입 지점이며, 최대 wick은 Fib $61,899.62/하모닉 D $61,962.81 직전까지로 제한된다.",
        "est_hours": 2.0,
        "turning_zone": [
          61787.34,
          61920.0
        ],
        "likely_wick": 61895.0,
        "rejection_confirm": 61665.0,
        "invalid_overshoot": 61962.81,
        "calibration_reasoning": "하단은 EMA20·Chairman 저항 $61,787.34, 상단은 Fib 0.5 저항 $61,899.62와 $61,900 라운드넘버 자석을 묶어 ATR 0.3배(~$133) 폭으로 잡았고 likely_wick은 그 합류 직전에 둔다. 미확정 가틀리 D $61,962.81은 하모닉 정책상 목표를 만들지 못하므로 상단 무효화 기준으로만 사용했고, 재분배 EQ $61,665 하향 복귀를 거부 확인선으로 설정했다."
      },
      {
        "seq": 2,
        "price": 61150.2,
        "type": "support_test",
        "source": "ICT(CHoCH $61,150.20, 이전일 저점 $61,075.90, London/NY 저점 $61,045.70), Fibonacci(fib_confluence $61,201.46, ret_0.618 $61,327.31, ret_0.786 $61,075.61), Wyckoff(하방 구조선)",
        "description": "공급 재거부 후 마크다운 1차 목표는 $61,000-$61,150 밀집 구조다. ICT CHoCH $61,150.20, fib_confluence $61,201.46, 이전일 저점 $61,075.90이 겹치는 핵심 유동성/반응 선반이며, 하락 중 OI +2.2120% 증가와 CVD -7020.16 매도 우위가 하향 이탈을 지지한다.",
        "est_hours": 8.0,
        "turning_zone": [
          61001.0,
          61150.2
        ],
        "likely_wick": 61075.61,
        "rejection_confirm": 61201.46,
        "invalid_overshoot": 60950.0,
        "calibration_reasoning": "상단 ICT CHoCH $61,150.20부터 $61,000-$61,150 밀집 지지(이전일 저점 $61,075.90/Fib $61,075.61, $61,045.70, SOW $61,001.00)를 zone에 담았다(ATR 0.33배). 가장 강한 유동성 선반인 이전일 저점을 likely_wick으로, fib_confluence $61,201.46 재탈환을 반등 확인선, SOW $61,001 하향 수용을 WP3로의 연결 무효화로 설정했다."
      },
      {
        "seq": 3,
        "price": 60755.0,
        "type": "swing_low",
        "source": "Wyckoff(SOW $61,001.00, Phase E 저점 $60,755.00), ICT(range low $60,755.00), Derivatives(청산 클러스터 $60,900)",
        "description": "SOW $61,001.00 하향 수용 시 range low/Phase E 저점 $60,755로 확장된다. $60,900 파생 청산 클러스터와 겹쳐 변동성 확대 구간이며, 활성 재분배 markdown의 핵심 분기점으로 여기서 반응이 나오면 단기 되돌림, 수용 이탈 시 가속 하락이다.",
        "est_hours": 15.0,
        "turning_zone": [
          60575.0,
          60755.0
        ],
        "likely_wick": 60700.0,
        "rejection_confirm": 60900.0,
        "invalid_overshoot": 60500.0,
        "calibration_reasoning": "range low/Phase E 저점 $60,755(=Fib swing low·Chairman 지지)를 상단으로 ATR 0.4배(~$180) 폭을 적용했다. $60,755 직하 sell-stop과 $60,700 라운드넘버를 sweep wick 자석으로, $60,900 파생 청산 클러스터 재탈환을 반등 확인선으로, 그 아래 수용 이탈을 WP4 가속 하락 무효화로 삼았다."
      },
      {
        "seq": 4,
        "price": 60300.0,
        "type": "extension",
        "source": "Derivatives(지지 $60,300), Chairman(support $60,300), 확장 목표 다중 구조 저점 $59,080(Wyckoff Phase E·7일 저점·ICT 확장 하단)",
        "description": "$60,755가 수용 이탈되면 $60,300까지 연장된다. 이는 24시간 기준 하단 극단이며, 추가 가속 시 다중 구조 저점 $59,080이 24시간+ 목표로 열린다. 다만 롱 계정 쏠림 1.000과 상방 청산 클러스터($62,100/$62,700)는 마크다운 도중 간헐적 숏 스퀴즈 변동성을 동반할 수 있다.",
        "est_hours": 22.0,
        "turning_zone": [
          59950.0,
          60300.0
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60500.0,
        "invalid_overshoot": 59850.0,
        "calibration_reasoning": "하방 연장 목표이므로 turning_zone을 base $60,300 아래로 확장하고 터미널 기준 ATR 0.78배(~$350)를 적용했다. $60,000 메이저 라운드넘버를 핵심 wick 자석(zone 하단 직상)으로 두고, WP3→WP4 레그 절반 회복선 $60,500을 반등 확인선, $60,000 하향 수용($59,850)을 다중구조 저점 $59,080 연장 트리거 겸 무효화로 설정했다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 61820.0,
        "expected_low": 61550.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 61820.0,
        "expected_low": 61150.2,
        "high_first": true
      },
      "24h": {
        "expected_high": 61820.0,
        "expected_low": 60300.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 62253.2,
        "description": "EMA20 $61,787.34 회복 후 $62,100 청산 클러스터 돌파 및 스윙 고점 $62,253.20 수용 시 단기 약세 셋업 훼손. LPSY $62,868.20/OB 중간값 $62,970.15를 향한 숏 스퀴즈 가속 위험으로, 이 경로의 하방 우위가 약화된다."
      },
      "bearish": {
        "price": 61001.0,
        "description": "$61,150.20 CHoCH 붕괴에 이어 SOW $61,001.00 하향 이탈·수용 시 하방 수용 확인. $60,755 range low/Phase E 저점 및 $59,080 확장으로 마크다운이 가속된다."
      }
    },
    "scenario_invalidation": 62970.15,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.68,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 61787.34,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(ret_0.382 $61,680.89, EMA20 $61,787.34), ICT(bearish OB 하단 $61,690.30), Wyckoff(LPSY 재시험 맥락), Candlestick(최근 5캔들 중 4양봉 단기 반등), Harmonic(bullish Gartley PRZ 하단 $61,656.38 / Shark D $61,662.29)\",\n      \"description\": \"현재가 $61,655.60은 활성 재분배 EQ(약 $61,665) 부근으로, 즉시 추격 매도보다 저항 재거부 확인이 우선인 구간이다. bullish 하모닉 PRZ 하단 $61,656.38과 Shark D $61,662.29가 단기 반등 연료를 제공해 $61,680-$61,787 공급 합류(ret_0.382 $61,680.89, OB 하단 $61,690.30, EMA20 $61,787.34)로 되돌림이 예상된다. 이 구간이 핵심 숏 재진입 지점이며, 최대 wick은 Fib $61,899.62/하모닉 D $61,962.81 직전까지로 제한된다.\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 61150.20,\n      \"type\": \"support_test\",\n      \"source\": \"ICT(CHoCH $61,150.20, 이전일 저점 $61,075.90, London/NY 저점 $61,045.70), Fibonacci(fib_confluence $61,201.46, ret_0.618 $61,327.31, ret_0.786 $61,075.61), Wyckoff(하방 구조선)\",\n      \"description\": \"공급 재거부 후 마크다운 1차 목표는 $61,000-$61,150 밀집 구조다. ICT CHoCH $61,150.20, fib_confluence $61,201.46, 이전일 저점 $61,075.90이 겹치는 핵심 유동성/반응 선반이며, 하락 중 OI +2.2120% 증가와 CVD -7020.16 매도 우위가 하향 이탈을 지지한다.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60755.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(SOW $61,001.00, Phase E 저점 $60,755.00), ICT(range low $60,755.00), Derivatives(청산 클러스터 $60,900)\",\n      \"description\": \"SOW $61,001.00 하향 수용 시 range low/Phase E 저점 $60,755로 확장된다. $60,900 파생 청산 클러스터와 겹쳐 변동성 확대 구간이며, 활성 재분배 markdown의 핵심 분기점으로 여기서 반응이 나오면 단기 되돌림, 수용 이탈 시 가속 하락이다.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60300.00,\n      \"type\": \"extension\",\n      \"source\": \"Derivatives(지지 $60,300), Chairman(support $60,300), 확장 목표 다중 구조 저점 $59,080(Wyckoff Phase E·7일 저점·ICT 확장 하단)\",\n      \"description\": \"$60,755가 수용 이탈되면 $60,300까지 연장된다. 이는 24시간 기준 하단 극단이며, 추가 가속 시 다중 구조 저점 $59,080이 24시간+ 목표로 열린다. 다만 롱 계정 쏠림 1.000과 상방 청산 클러스터($62,100/$62,700)는 마크다운 도중 간헐적 숏 스퀴즈 변동성을 동반할 수 있다.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 61820.00, \"expected_low\": 61550.00, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 61820.00, \"expected_low\": 61150.20, \"high_first\": true},\n    \"24h\": {\"expected_high\": 61820.00, \"expected_low\": 60300.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 62253.20,\n      \"description\": \"EMA20 $61,787.34 회복 후 $62,100 청산 클러스터 돌파 및 스윙 고점 $62,253.20 수용 시 단기 약세 셋업 훼손. LPSY $62,868.20/OB 중간값 $62,970.15를 향한 숏 스퀴즈 가속 위험으로, 이 경로의 하방 우위가 약화된다.\"\n    },\n    \"bearish\": {\n      \"price\": 61001.00,\n      \"description\": \"$61,150.20 CHoCH 붕괴에 이어 SOW $61,001.00 하향 이탈·수용 시 하방 수용 확인. $60,755 range low/Phase E 저점 및 $59,080 확장으로 마크다운이 가속된다.\"\n    }\n  },\n  \"scenario_invalidation\": 62970.15\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 61787.34,
        "turning_zone": [
          61787.34,
          61920.0
        ],
        "likely_wick": 61895.0,
        "rejection_confirm": 61665.0,
        "invalid_overshoot": 61962.81,
        "calibration_reasoning": "하단은 EMA20·Chairman 저항 $61,787.34, 상단은 Fib 0.5 저항 $61,899.62와 $61,900 라운드넘버 자석을 묶어 ATR 0.3배(~$133) 폭으로 잡았고 likely_wick은 그 합류 직전에 둔다. 미확정 가틀리 D $61,962.81은 하모닉 정책상 목표를 만들지 못하므로 상단 무효화 기준으로만 사용했고, 재분배 EQ $61,665 하향 복귀를 거부 확인선으로 설정했다."
      },
      {
        "seq": 2,
        "base_target": 61150.2,
        "turning_zone": [
          61001.0,
          61150.2
        ],
        "likely_wick": 61075.61,
        "rejection_confirm": 61201.46,
        "invalid_overshoot": 60950.0,
        "calibration_reasoning": "상단 ICT CHoCH $61,150.20부터 $61,000-$61,150 밀집 지지(이전일 저점 $61,075.90/Fib $61,075.61, $61,045.70, SOW $61,001.00)를 zone에 담았다(ATR 0.33배). 가장 강한 유동성 선반인 이전일 저점을 likely_wick으로, fib_confluence $61,201.46 재탈환을 반등 확인선, SOW $61,001 하향 수용을 WP3로의 연결 무효화로 설정했다."
      },
      {
        "seq": 3,
        "base_target": 60755.0,
        "turning_zone": [
          60575.0,
          60755.0
        ],
        "likely_wick": 60700.0,
        "rejection_confirm": 60900.0,
        "invalid_overshoot": 60500.0,
        "calibration_reasoning": "range low/Phase E 저점 $60,755(=Fib swing low·Chairman 지지)를 상단으로 ATR 0.4배(~$180) 폭을 적용했다. $60,755 직하 sell-stop과 $60,700 라운드넘버를 sweep wick 자석으로, $60,900 파생 청산 클러스터 재탈환을 반등 확인선으로, 그 아래 수용 이탈을 WP4 가속 하락 무효화로 삼았다."
      },
      {
        "seq": 4,
        "base_target": 60300.0,
        "turning_zone": [
          59950.0,
          60300.0
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60500.0,
        "invalid_overshoot": 59850.0,
        "calibration_reasoning": "하방 연장 목표이므로 turning_zone을 base $60,300 아래로 확장하고 터미널 기준 ATR 0.78배(~$350)를 적용했다. $60,000 메이저 라운드넘버를 핵심 wick 자석(zone 하단 직상)으로 두고, WP3→WP4 레그 절반 회복선 $60,500을 반등 확인선, $60,000 하향 수용($59,850)을 다중구조 저점 $59,080 연장 트리거 겸 무효화로 설정했다."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 61787.34,\n      \"turning_zone\": [61787.34, 61920.00],\n      \"likely_wick\": 61895.00,\n      \"rejection_confirm\": 61665.00,\n      \"invalid_overshoot\": 61962.81,\n      \"calibration_reasoning\": \"하단은 EMA20·Chairman 저항 $61,787.34, 상단은 Fib 0.5 저항 $61,899.62와 $61,900 라운드넘버 자석을 묶어 ATR 0.3배(~$133) 폭으로 잡았고 likely_wick은 그 합류 직전에 둔다. 미확정 가틀리 D $61,962.81은 하모닉 정책상 목표를 만들지 못하므로 상단 무효화 기준으로만 사용했고, 재분배 EQ $61,665 하향 복귀를 거부 확인선으로 설정했다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 61150.20,\n      \"turning_zone\": [61001.00, 61150.20],\n      \"likely_wick\": 61075.61,\n      \"rejection_confirm\": 61201.46,\n      \"invalid_overshoot\": 60950.00,\n      \"calibration_reasoning\": \"상단 ICT CHoCH $61,150.20부터 $61,000-$61,150 밀집 지지(이전일 저점 $61,075.90/Fib $61,075.61, $61,045.70, SOW $61,001.00)를 zone에 담았다(ATR 0.33배). 가장 강한 유동성 선반인 이전일 저점을 likely_wick으로, fib_confluence $61,201.46 재탈환을 반등 확인선, SOW $61,001 하향 수용을 WP3로의 연결 무효화로 설정했다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60755.00,\n      \"turning_zone\": [60575.00, 60755.00],\n      \"likely_wick\": 60700.00,\n      \"rejection_confirm\": 60900.00,\n      \"invalid_overshoot\": 60500.00,\n      \"calibration_reasoning\": \"range low/Phase E 저점 $60,755(=Fib swing low·Chairman 지지)를 상단으로 ATR 0.4배(~$180) 폭을 적용했다. $60,755 직하 sell-stop과 $60,700 라운드넘버를 sweep wick 자석으로, $60,900 파생 청산 클러스터 재탈환을 반등 확인선으로, 그 아래 수용 이탈을 WP4 가속 하락 무효화로 삼았다.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60300.00,\n      \"turning_zone\": [59950.00, 60300.00],\n      \"likely_wick\": 60000.00,\n      \"rejection_confirm\": 60500.00,\n      \"invalid_overshoot\": 59850.00,\n      \"calibration_reasoning\": \"하방 연장 목표이므로 turning_zone을 base $60,300 아래로 확장하고 터미널 기준 ATR 0.78배(~$350)를 적용했다. $60,000 메이저 라운드넘버를 핵심 wick 자석(zone 하단 직상)으로 두고, WP3→WP4 레그 절반 회복선 $60,500을 반등 확인선, $60,000 하향 수용($59,850)을 다중구조 저점 $59,080 연장 트리거 겸 무효화로 설정했다.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 29.1,
      "chairman": 47.9,
      "operating_path": 323.1,
      "tp_calibrator": 313.3
    },
    "agents": {},
    "total_s": 713.6
  }
}