{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-09 09:00 KST",
  "last_price": 63060.2,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $63,060.20은 스윙 EQ인 ret_0.5 $63,418.95 아래에 있어 단기 할인 구간에 위치",
        "ret_0.786 지지 $62,983.92를 0.12% 거리에서 테스트 중이며, fib_reaction_state가 testing",
        "주요 컨플루언스 존 $63,111.06에 ret_0.786, ret_0.236, ret_0.618가 중첩되어 count 3, cluster_score 0.85",
        "골든 비율 ret_0.618 $63,239.46이 바로 위 저항으로 있으며, 회복 시 단기 반등 확인 신호",
        "reaction_probability 0.65로 피보나치 지지 반응 가능성이 우세하지만 아직 구조 전환은 미확정"
      ],
      "reasoning": "확정 구조 관점에서는 명확한 BOS/CHoCH 또는 구조적 수용 확인이 제공되지 않았기 때문에 structure_bias는 neutral로 판단한다. 다만 실행 셋업 관점에서는 현재가 $63,060.20이 스윙 Low $62,658 → High $64,180의 EQ인 $63,418.95 아래에 있고, ret_0.786 $62,983.92 및 컨플루언스 존 $63,111.06을 테스트하고 있어 단기 bullish setup이 우세하다. 특히 0.618 골든 레벨 $63,239.46 회복은 첫 번째 강한 반등 확인 구간이며, 이후 $63,418.95와 $63,598.44가 순차 저항이다. 반대로 $62,983.92가 무너지면 피보나치 방어 실패로 해석되며, 스윙 저점 $62,658.00 재검증 위험이 커진다.",
      "key_levels": {
        "support": [
          62983.92,
          62658
        ],
        "resistance": [
          63239.46,
          63418.95,
          63598.44,
          63820.52,
          64179.5
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,658.00",
      "risk_scenario": "$62,983.92 ret_0.786 지지가 이탈되고 $62,658.00 스윙 저점까지 무너지면 현재의 bullish setup은 실패하며, 하락 확장이 재개되어 7일 저점 $59,080.00 방향의 유동성 재탐색 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $62,658 → $64,180",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 62983.92,
        "nearest_fib_distance": 0.12,
        "golden_ratio_level": 63239.46,
        "fib_ret_382": 63598.44,
        "fib_ret_618": 63239.46,
        "confluence_zones": [
          {
            "price": 63111.06,
            "count": 3,
            "levels": [
              "ret_0.786",
              "ret_0.236",
              "ret_0.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 63508.69,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 64701.24,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 65651.72,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          62983.9154
        ],
        "resistance_levels": [
          63239.4602,
          63418.95,
          63598.4398
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 63820.52,
            "distance_pct": 1.21,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 63598.44,
            "distance_pct": 0.85,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 63418.95,
            "distance_pct": 0.57,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 63239.46,
            "distance_pct": 0.28,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 62983.92,
            "distance_pct": 0.12,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.0",
            "price": 64179.5,
            "distance_pct": 1.77,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 64593.24,
            "distance_pct": 2.43,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 64809.24,
            "distance_pct": 2.77,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 65119.54,
            "distance_pct": 3.27,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 65700.6,
            "distance_pct": 4.19,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $63,060.20은 스윙 EQ인 ret_0.5 $63,418.95 아래에 있어 단기 할인 구간에 위치\",\n    \"ret_0.786 지지 $62,983.92를 0.12% 거리에서 테스트 중이며, fib_reaction_state가 testing\",\n    \"주요 컨플루언스 존 $63,111.06에 ret_0.786, ret_0.236, ret_0.618가 중첩되어 count 3, cluster_score 0.85\",\n    \"골든 비율 ret_0.618 $63,239.46이 바로 위 저항으로 있으며, 회복 시 단기 반등 확인 신호\",\n    \"reaction_probability 0.65로 피보나치 지지 반응 가능성이 우세하지만 아직 구조 전환은 미확정\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 명확한 BOS/CHoCH 또는 구조적 수용 확인이 제공되지 않았기 때문에 structure_bias는 neutral로 판단한다. 다만 실행 셋업 관점에서는 현재가 $63,060.20이 스윙 Low $62,658 → High $64,180의 EQ인 $63,418.95 아래에 있고, ret_0.786 $62,983.92 및 컨플루언스 존 $63,111.06을 테스트하고 있어 단기 bullish setup이 우세하다. 특히 0.618 골든 레벨 $63,239.46 회복은 첫 번째 강한 반등 확인 구간이며, 이후 $63,418.95와 $63,598.44가 순차 저항이다. 반대로 $62,983.92가 무너지면 피보나치 방어 실패로 해석되며, 스윙 저점 $62,658.00 재검증 위험이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      62983.92,\n      62658\n    ],\n    \"resistance\": [\n      63239.46,\n      63418.95,\n      63598.44,\n      63820.52,\n      64179.5\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,658.00\",\n  \"risk_scenario\": \"$62,983.92 ret_0.786 지지가 이탈되고 $62,658.00 스윙 저점까지 무너지면 현재의 bullish setup은 실패하며, 하락 확장이 재개되어 7일 저점 $59,080.00 방향의 유동성 재탐색 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $63,060.20는 7일 고점 $71,397.00과 저점 $59,080.00의 EQ $65,238.50 아래에 있어 할인 구간에 위치",
        "최근 hammer@296 후보가 감지되었고 bullish 신호이나 품질은 0.465로 중간 이하이며 고거래량 확인 없음",
        "bullish_engulfing@290, doji@293, bullish_harami@293가 최근 구간에 군집되어 단기 매도 피로 가능성 존재",
        "bull_score 2.0000 대비 bear_score 0으로 캔들 기반 단기 반등 셋업은 우위",
        "다만 현재가가 EMA20 $63,292.60 및 EMA120 $63,444.13 아래에 있어 구조 전환 확인 전 저항 압력이 남아 있음"
      ],
      "reasoning": "현재 BTC는 $63,060.20으로 EMA20 $63,292.60, EMA120 $63,444.13, EMA240 $65,856.48 아래에 있어 구조적으로는 아직 상승 전환이 확인되지 않았다. 다만 7일 범위 EQ $65,238.50 아래의 할인 구간에서 hammer, bullish engulfing, bullish harami, doji가 최근 감지되어 단기 반등 셋업은 존재한다. 문제는 best_pattern_quality가 0.465에 불과하고 high_volume_patterns가 없어 매수세 확증이 약하다는 점이다. 따라서 구조_bias는 중립, setup_bias는 약한 bullish로 보며, $63,292.60~$63,444.13을 회복해야 반등 신뢰도가 개선된다.",
      "key_levels": {
        "support": [
          62517.86,
          59080.0
        ],
        "resistance": [
          63292.6,
          63444.13,
          65238.5,
          65856.48,
          71397.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,080.00",
      "risk_scenario": "반대로 $63,292.60~$63,444.13 EMA 저항을 회복하지 못하고 매도가 재개되면, 최근 bullish 캔들 후보들은 단순한 약한 반등 시도로 해석되며 $62,517.86 부근을 거쳐 7일 저점 $59,080.00 재테스트 위험이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 136,
        "recent_patterns": 4,
        "pattern_list": [
          "hammer@296",
          "bullish_engulfing@290",
          "doji@293",
          "bullish_harami@293"
        ],
        "atr_value": 542.34,
        "vol_avg_20": 7696.13,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "hammer",
            "signal": "bullish",
            "pattern_quality": 0.465,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.428,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.423,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.465,
        "bull_score": 2.0,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $63,060.20는 7일 고점 $71,397.00과 저점 $59,080.00의 EQ $65,238.50 아래에 있어 할인 구간에 위치\",\n    \"최근 hammer@296 후보가 감지되었고 bullish 신호이나 품질은 0.465로 중간 이하이며 고거래량 확인 없음\",\n    \"bullish_engulfing@290, doji@293, bullish_harami@293가 최근 구간에 군집되어 단기 매도 피로 가능성 존재\",\n    \"bull_score 2.0000 대비 bear_score 0으로 캔들 기반 단기 반등 셋업은 우위\",\n    \"다만 현재가가 EMA20 $63,292.60 및 EMA120 $63,444.13 아래에 있어 구조 전환 확인 전 저항 압력이 남아 있음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,060.20으로 EMA20 $63,292.60, EMA120 $63,444.13, EMA240 $65,856.48 아래에 있어 구조적으로는 아직 상승 전환이 확인되지 않았다. 다만 7일 범위 EQ $65,238.50 아래의 할인 구간에서 hammer, bullish engulfing, bullish harami, doji가 최근 감지되어 단기 반등 셋업은 존재한다. 문제는 best_pattern_quality가 0.465에 불과하고 high_volume_patterns가 없어 매수세 확증이 약하다는 점이다. 따라서 구조_bias는 중립, setup_bias는 약한 bullish로 보며, $63,292.60~$63,444.13을 회복해야 반등 신뢰도가 개선된다.\",\n  \"key_levels\": {\n    \"support\": [\n      62517.86,\n      59080.0\n    ],\n    \"resistance\": [\n      63292.6,\n      63444.13,\n      65238.5,\n      65856.48,\n      71397.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,080.00\",\n  \"risk_scenario\": \"반대로 $63,292.60~$63,444.13 EMA 저항을 회복하지 못하고 매도가 재개되면, 최근 bullish 캔들 후보들은 단순한 약한 반등 시도로 해석되며 $62,517.86 부근을 거쳐 7일 저점 $59,080.00 재테스트 위험이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $63,060.20은 7일 범위 EQ 약 $65,238.50 아래의 할인 구간에 위치",
        "CVD divergence 0.850 및 CVD change +$2,446.00: 가격은 24시간 -0.38%로 약하지만 매수 체결 누적은 개선되는 상승 다이버전스",
        "가장 가까운 상단 청산 유동성 $63,100에 $6,715.99 규모로 매우 근접해 단기 스윕 가능성 존재",
        "펀딩 평균 0.000으로 과열 롱 펀딩은 아니며, funding_pressure 0.476으로 중립권",
        "롱 계정 비율은 0.647로 여전히 높지만 24시간 -0.0295 감소, 숏 계정은 +0.029 상승하여 숏 계정 유입이 단기 반등 연료가 될 수 있음"
      ],
      "reasoning": "확정 구조는 아직 약세로 본다. 현재가 $63,060.20은 EMA20 $63,292.60, EMA120 $63,444.13, EMA240 $65,856.48 모두 아래에 있어 구조적 수용은 여전히 하방이며, 7일 고점 $71,397 이후 반등이 EMA 클러스터를 회복하지 못했다. 다만 셋업 관점에서는 가격이 7일 EQ 약 $65,238.50 아래 할인 구간에 있고 CVD divergence가 0.850으로 강해, 매도 압력 대비 체결 흐름은 개선되고 있다. 상단 $63,100, $64,100, $65,300에 청산 유동성이 쌓여 있어 단기적으로는 위쪽 유동성 스윕 시도가 가능하지만, 롱 계정 비율 0.647 및 account_long_crowding 1.000은 반등 실패 시 $62,500, $62,200 하방 청산으로 빠르게 되돌릴 위험을 남긴다.",
      "key_levels": {
        "support": [
          62500,
          62200,
          61300,
          59080,
          57100
        ],
        "resistance": [
          63100,
          64100,
          65300,
          65238.5,
          65856.48
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "$61,300 하향 이탈 및 1시간봉 종가 수용",
      "risk_scenario": "반대 시나리오는 $63,100 상단 청산만 짧게 스윕한 뒤 EMA20 $63,292.60과 EMA120 $63,444.13 회복에 실패하면서 롱 청산이 재가속되는 경우다. 이 경우 $62,500, $62,200의 하방 청산 클러스터가 먼저 열리고, $61,300까지 밀리면 현재의 상승 다이버전스 기반 롱 셋업은 무효화된다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 2445.998,
        "oi_trend": 0.536,
        "oi_change_pct_24h": 0.355,
        "oi_latest": 98642.302,
        "funding_pressure": 0.476,
        "funding_avg": 2.37e-05,
        "funding_change_24h": -3.411e-05,
        "long_account_ratio": 0.655,
        "short_account_ratio": 0.345,
        "long_account_latest": 0.647,
        "short_account_latest": 0.353,
        "long_account_change_24h": -0.0295,
        "short_account_change_24h": 0.0295,
        "account_flow_label": "short_accounts_rising_long_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.49,
        "spot_futures_basis_pct": -0.0409,
        "basis_change_lookback": 0.0098,
        "aggregate_score": 0.47,
        "bull_signals": 1,
        "bear_signals": 1,
        "liq_below": [
          [
            62500,
            7073.2422462
          ],
          [
            62200,
            8686.749323699998
          ],
          [
            61300,
            6560.273448600001
          ]
        ],
        "liq_above": [
          [
            63100,
            6715.98930345
          ],
          [
            64100,
            8485.61141925
          ],
          [
            65300,
            6498.464921000001
          ]
        ],
        "strongest_liq_level": 57100,
        "fragility_score": 0.926,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $63,060.20은 7일 범위 EQ 약 $65,238.50 아래의 할인 구간에 위치\",\n    \"CVD divergence 0.850 및 CVD change +$2,446.00: 가격은 24시간 -0.38%로 약하지만 매수 체결 누적은 개선되는 상승 다이버전스\",\n    \"가장 가까운 상단 청산 유동성 $63,100에 $6,715.99 규모로 매우 근접해 단기 스윕 가능성 존재\",\n    \"펀딩 평균 0.000으로 과열 롱 펀딩은 아니며, funding_pressure 0.476으로 중립권\",\n    \"롱 계정 비율은 0.647로 여전히 높지만 24시간 -0.0295 감소, 숏 계정은 +0.029 상승하여 숏 계정 유입이 단기 반등 연료가 될 수 있음\"\n  ],\n  \"reasoning\": \"확정 구조는 아직 약세로 본다. 현재가 $63,060.20은 EMA20 $63,292.60, EMA120 $63,444.13, EMA240 $65,856.48 모두 아래에 있어 구조적 수용은 여전히 하방이며, 7일 고점 $71,397 이후 반등이 EMA 클러스터를 회복하지 못했다. 다만 셋업 관점에서는 가격이 7일 EQ 약 $65,238.50 아래 할인 구간에 있고 CVD divergence가 0.850으로 강해, 매도 압력 대비 체결 흐름은 개선되고 있다. 상단 $63,100, $64,100, $65,300에 청산 유동성이 쌓여 있어 단기적으로는 위쪽 유동성 스윕 시도가 가능하지만, 롱 계정 비율 0.647 및 account_long_crowding 1.000은 반등 실패 시 $62,500, $62,200 하방 청산으로 빠르게 되돌릴 위험을 남긴다.\",\n  \"key_levels\": {\n    \"support\": [\n      62500,\n      62200,\n      61300,\n      59080,\n      57100\n    ],\n    \"resistance\": [\n      63100,\n      64100,\n      65300,\n      65238.5,\n      65856.48\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"$61,300 하향 이탈 및 1시간봉 종가 수용\",\n  \"risk_scenario\": \"반대 시나리오는 $63,100 상단 청산만 짧게 스윕한 뒤 EMA20 $63,292.60과 EMA120 $63,444.13 회복에 실패하면서 롱 청산이 재가속되는 경우다. 이 경우 $62,500, $62,200의 하방 청산 클러스터가 먼저 열리고, $61,300까지 밀리면 현재의 상승 다이버전스 기반 롱 셋업은 무효화된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "분배 체제(DIS) 우세: dis_score 96.2, regime_fitness 0.963, structure_bias bearish",
        "이전 확정 분배 구조: BC $74,293.10 → AR $73,057.80 → UT $74,179.90 → SOW $70,650.90 → Phase E 저점 $59,080.00",
        "현재 재분배 후보 구조에서 UTAD $64,250.00 이후 LPSY $63,832.50 형성",
        "현재가 $63,060.20이 LPSY $63,832.50 아래에 있으며, 단기 SOW 후보 $62,939.70 부근까지 이탈 압력 발생",
        "EMA20 $63,292.60 및 EMA120 $63,444.13 아래 위치해 단기 회복 시도도 아직 수용으로 확인되지 않음"
      ],
      "reasoning": "현재 1시간 구조는 DIS 체제이며 dis_score 96.2와 regime_fitness 0.963으로 분배/재분배 해석이 우세합니다. 이전 확정 구조는 BC $74,293.10, AR $73,057.80을 기준으로 한 분배 이후 SOW $70,650.90을 거쳐 Phase E 저점 $59,080.00까지 진행된 상태입니다. 활성 구조에서는 UTAD $64,250.00 이후 LPSY $63,832.50에서 공급이 재출현했고, 현재가 $63,060.20은 LPSY와 EMA20 $63,292.60, EMA120 $63,444.13 아래에 있어 즉각 경로는 하방 재시험 쪽입니다. 다만 현재 구간은 이미 Phase E 이후의 재분배/반등 박스 내부 해석이므로, $62,939.70 SOW 하방 수용이 추가 확인되기 전까지는 급격한 추세 확정보다는 약세 구조 내 하단 테스트로 보는 것이 적절합니다.",
      "key_levels": {
        "support": [
          62939.7,
          61985.1,
          60390.0,
          60146.0,
          59080.0
        ],
        "resistance": [
          63292.6,
          63444.13,
          63832.5,
          64250.0,
          70650.9,
          73057.8
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$64,250.00 상향 회복 및 1시간 종가 기준 수용",
      "risk_scenario": "반대 시나리오는 가격이 먼저 LPSY $63,832.50을 회복하고 UTAD $64,250.00 위에서 수용되는 경우입니다. 이 경우 현재 SOW 해석은 실패한 하방 이탈로 약화되며, EMA240 $65,856.48 및 이전 SOW 레벨 $70,650.90까지 되돌림 테스트가 열릴 수 있습니다. 그러나 더 큰 분배 구조의 무효화는 $70,650.90 및 메인 분배 하단 $73,057.80 재진입 전까지는 확인되었다고 보기 어렵습니다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 90.3,
        "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": 53,
            "price": 74293.1,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 54,
            "price": 73057.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 78,
            "price": 74108.8,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 100,
            "price": 73340.7,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 107,
            "price": 74179.9,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 124,
            "price": 70650.9,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 223,
            "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": 53,
            "end_idx": 223,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 53,
                "price": 74293.1,
                "color": "#ffd166",
                "dt": "2026-05-30 02:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 54,
                "price": 73057.8,
                "color": "#06d6a0",
                "dt": "2026-05-30 03:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 78,
                "price": 74108.8,
                "color": "#118ab2",
                "dt": "2026-05-31 03:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 100,
                "price": 73340.7,
                "color": "#ef476f",
                "dt": "2026-06-01 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 107,
                "price": 74179.9,
                "color": "#f9844a",
                "dt": "2026-06-01 08:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 124,
                "price": 70650.9,
                "color": "#ef476f",
                "dt": "2026-06-02 01:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 223,
                "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": 201,
            "end_idx": 299,
            "phase_count": 8,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 201,
                "price": 63040.0,
                "color": "#ffd166",
                "dt": "2026-06-05 06:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 225,
                "price": 61985.1,
                "color": "#06d6a0",
                "dt": "2026-06-06 06:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 238,
                "price": 60146.0,
                "color": "#118ab2",
                "dt": "2026-06-06 19:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 250,
                "price": 60390.0,
                "color": "#ef476f",
                "dt": "2026-06-07 07:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 260,
                "price": 62942.4,
                "color": "#f9844a",
                "dt": "2026-06-07 17:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 274,
                "price": 64250.0,
                "color": "#f9844a",
                "dt": "2026-06-08 07:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 297,
                "price": 63832.5,
                "color": "#8338ec",
                "dt": "2026-06-09 06:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 299,
                "price": 62939.7,
                "color": "#ef476f",
                "dt": "2026-06-09 08: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\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"분배 체제(DIS) 우세: dis_score 96.2, regime_fitness 0.963, structure_bias bearish\",\n    \"이전 확정 분배 구조: BC $74,293.10 → AR $73,057.80 → UT $74,179.90 → SOW $70,650.90 → Phase E 저점 $59,080.00\",\n    \"현재 재분배 후보 구조에서 UTAD $64,250.00 이후 LPSY $63,832.50 형성\",\n    \"현재가 $63,060.20이 LPSY $63,832.50 아래에 있으며, 단기 SOW 후보 $62,939.70 부근까지 이탈 압력 발생\",\n    \"EMA20 $63,292.60 및 EMA120 $63,444.13 아래 위치해 단기 회복 시도도 아직 수용으로 확인되지 않음\"\n  ],\n  \"reasoning\": \"현재 1시간 구조는 DIS 체제이며 dis_score 96.2와 regime_fitness 0.963으로 분배/재분배 해석이 우세합니다. 이전 확정 구조는 BC $74,293.10, AR $73,057.80을 기준으로 한 분배 이후 SOW $70,650.90을 거쳐 Phase E 저점 $59,080.00까지 진행된 상태입니다. 활성 구조에서는 UTAD $64,250.00 이후 LPSY $63,832.50에서 공급이 재출현했고, 현재가 $63,060.20은 LPSY와 EMA20 $63,292.60, EMA120 $63,444.13 아래에 있어 즉각 경로는 하방 재시험 쪽입니다. 다만 현재 구간은 이미 Phase E 이후의 재분배/반등 박스 내부 해석이므로, $62,939.70 SOW 하방 수용이 추가 확인되기 전까지는 급격한 추세 확정보다는 약세 구조 내 하단 테스트로 보는 것이 적절합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62939.7,\n      61985.1,\n      60390.0,\n      60146.0,\n      59080.0\n    ],\n    \"resistance\": [\n      63292.6,\n      63444.13,\n      63832.5,\n      64250.0,\n      70650.9,\n      73057.8\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$64,250.00 상향 회복 및 1시간 종가 기준 수용\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 먼저 LPSY $63,832.50을 회복하고 UTAD $64,250.00 위에서 수용되는 경우입니다. 이 경우 현재 SOW 해석은 실패한 하방 이탈로 약화되며, EMA240 $65,856.48 및 이전 SOW 레벨 $70,650.90까지 되돌림 테스트가 열릴 수 있습니다. 그러나 더 큰 분배 구조의 무효화는 $70,650.90 및 메인 분배 하단 $73,057.80 재진입 전까지는 확인되었다고 보기 어렵습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.72,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.905,
      "setup_signals": [
        "현재가 $63,060.20가 EQ $62,320.00 상방에 위치하여 프리미엄 영역에서 강세 수용을 시도 중",
        "최근 확인된 bullish BOS 레벨 $62,942.40 상방을 유지 중이며, 현재가가 해당 구조선보다 약 $117.80 위에 있음",
        "London 세션 저점 $62,939.70과 bullish BOS $62,942.40이 거의 중첩되어 단기 방어 구간 형성",
        "상단 유동성 목표로 BSL $74,271.55가 남아 있음",
        "되돌림 방향이 bullish이며 현재 되돌림 34.8%, 최대 되돌림 60.4% 이후 반등 구조 유지"
      ],
      "reasoning": "확정 구조는 최신 시퀀스가 CHoCH_bullish 이후 BOS_bearish를 거쳐 최종적으로 $62,942.40 상방 bullish BOS로 마감되어 structure_bias는 bullish로 판단한다. 현재가 $63,060.20는 BOS 레벨 $62,942.40과 EQ $62,320.00 위에 있어 매수 측이 아직 구조를 방어하고 있지만, EMA20 $63,292.60 및 EMA120 $63,444.13 아래에 있어 단기 모멘텀 확인은 부족하다. 활성 OB와 미충족 FVG가 모두 0개이므로 제도권 매수 배열은 강하게 남아 있지 않지만, London 저점 $62,939.70과 BOS 레벨이 겹치는 구간을 지키는 한 $64,250.00 전일 고점 및 레인지 고점 재시험 가능성이 우세하다. 반대로 $62,942.40 아래로 1시간 종가가 수용되면 bullish BOS 방어 실패로 보고 EQ $62,320.00 및 전일 저점 $61,150.20까지 유동성 재탐색 가능성이 커진다.",
      "key_levels": {
        "support": [
          62942.4,
          62320.0,
          61150.2,
          60390.0,
          59080.0
        ],
        "resistance": [
          63292.6,
          63444.13,
          63690.7,
          64250.0,
          65856.48,
          71397.0,
          74271.55
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$62,942.40",
      "risk_scenario": "$62,942.40 bullish BOS 레벨을 하향 이탈하고 1시간 봉 기준으로 수용되면 현재 강세 구조는 훼손된다. 이 경우 가격은 EQ $62,320.00을 먼저 테스트하고, 추가 매도 압력이 붙으면 전일 저점 $61,150.20 및 레인지 저점 $60,390.00까지 sell-side liquidity를 사냥할 가능성이 높다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 48,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bullish",
            "level": 73932.2
          },
          {
            "type": "BOS_bearish",
            "level": 73130.1
          },
          {
            "type": "BOS_bullish",
            "level": 62942.4
          }
        ],
        "bos_sequence": [
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 74271.55
          }
        ],
        "current_zone": "premium",
        "eq_level": 62320.0,
        "range_high": 64250.0,
        "range_low": 60390.0,
        "bull_score": 5.7,
        "bear_score": 2.5,
        "setup_bias": "bullish",
        "setup_score": 0.905,
        "setup_signals": [
          "bullish CHoCH above $73,932.20",
          "bullish BOS above $62,942.40",
          "BSL resting above $74,271.55"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 34.8,
        "deepest_retracement_pct": 60.4,
        "previous_day_high": 64250.0,
        "previous_day_low": 61150.2,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 63690.7,
            "low": 62939.7
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.905,\n  \"setup_signals\": [\n    \"현재가 $63,060.20가 EQ $62,320.00 상방에 위치하여 프리미엄 영역에서 강세 수용을 시도 중\",\n    \"최근 확인된 bullish BOS 레벨 $62,942.40 상방을 유지 중이며, 현재가가 해당 구조선보다 약 $117.80 위에 있음\",\n    \"London 세션 저점 $62,939.70과 bullish BOS $62,942.40이 거의 중첩되어 단기 방어 구간 형성\",\n    \"상단 유동성 목표로 BSL $74,271.55가 남아 있음\",\n    \"되돌림 방향이 bullish이며 현재 되돌림 34.8%, 최대 되돌림 60.4% 이후 반등 구조 유지\"\n  ],\n  \"reasoning\": \"확정 구조는 최신 시퀀스가 CHoCH_bullish 이후 BOS_bearish를 거쳐 최종적으로 $62,942.40 상방 bullish BOS로 마감되어 structure_bias는 bullish로 판단한다. 현재가 $63,060.20는 BOS 레벨 $62,942.40과 EQ $62,320.00 위에 있어 매수 측이 아직 구조를 방어하고 있지만, EMA20 $63,292.60 및 EMA120 $63,444.13 아래에 있어 단기 모멘텀 확인은 부족하다. 활성 OB와 미충족 FVG가 모두 0개이므로 제도권 매수 배열은 강하게 남아 있지 않지만, London 저점 $62,939.70과 BOS 레벨이 겹치는 구간을 지키는 한 $64,250.00 전일 고점 및 레인지 고점 재시험 가능성이 우세하다. 반대로 $62,942.40 아래로 1시간 종가가 수용되면 bullish BOS 방어 실패로 보고 EQ $62,320.00 및 전일 저점 $61,150.20까지 유동성 재탐색 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      62942.4,\n      62320.0,\n      61150.2,\n      60390.0,\n      59080.0\n    ],\n    \"resistance\": [\n      63292.6,\n      63444.13,\n      63690.7,\n      64250.0,\n      65856.48,\n      71397.0,\n      74271.55\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$62,942.40\",\n  \"risk_scenario\": \"$62,942.40 bullish BOS 레벨을 하향 이탈하고 1시간 봉 기준으로 수용되면 현재 강세 구조는 훼손된다. 이 경우 가격은 EQ $62,320.00을 먼저 테스트하고, 추가 매도 압력이 붙으면 전일 저점 $61,150.20 및 레인지 저점 $60,390.00까지 sell-side liquidity를 사냥할 가능성이 높다.\",\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.46,
      "setup_signals": [
        "엄격·고품질 bullish Gartley 형성 PRZ $62,440.67-$62,954.91, D 예상가 $62,697.79, 현재가 $63,060.20은 PRZ 상단 바로 위",
        "엄격·고품질 bearish Crab 형성 PRZ $63,366.38-$63,891.76, D 예상가 $63,629.07, 현재가 대비 약 +0.90% 상방 반전 후보",
        "두 핵심 PRZ 모두 ABCD·BC_EXT·XAD 3중 Fib confluence이며 PRZ score 1.0",
        "confirmed_reaction_prz_count가 0으로, PRZ 진입 후 거부·스윕→리클레임·15m/1h MSS/CHoCH 확인은 아직 없음",
        "harmonic directional score가 bullish 0.203 vs bearish 0.200, dominance 0.007로 방향 우위가 사실상 없음"
      ],
      "reasoning": "현재 BTC는 $63,060.20으로, 하단에는 엄격·고품질 bullish Gartley PRZ $62,440.67-$62,954.91가 있고 상단에는 엄격·고품질 bearish Crab PRZ $63,366.38-$63,891.76가 있어 가격이 두 고컨플루언스 반전 후보 사이에 끼어 있다. 최상위 패턴은 Gartley이며 score 0.960, XAB 0.6155로 이상적인 0.618에 근접하지만 아직 forming 상태이고 confirmed_reaction=false라 단독 bullish 전환 근거가 아니다. 반대로 상단 Crab도 score 0.946, PRZ score 1.0이지만 마찬가지로 사전 확인 단계라 bearish 경로를 확정할 수 없다. 따라서 structure_bias는 확인된 BOS/CHoCH 또는 구조적 수용 데이터가 없어 neutral이며, setup_bias도 상·하방 PRZ가 거의 동일한 가중치로 충돌해 neutral로 판단한다.",
      "key_levels": {
        "support": [
          62954.91,
          62697.79,
          62440.67,
          62318.93,
          61509.1
        ],
        "resistance": [
          63366.38,
          63629.07,
          63891.76,
          64463.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "상방 $63,891.76 이상 1h 종가 수용 시 중립 박스가 상방으로 깨지고, 하방 $62,440.67 이탈 시 bullish Gartley PRZ 방어 실패로 중립 판단이 약화됨",
      "risk_scenario": "상단 $63,366.38-$63,891.76 Crab PRZ에서 강한 거부와 15m/1h MSS 또는 CVD 약세 다이버전스가 동반되면 $62,819.24, $62,318.93, 최종 $61,509.10까지 bearish TP ladder가 활성화될 수 있다. 반대로 하단 $62,440.67-$62,954.91 Gartley PRZ를 재진입 후 리클레임하면 $63,372.37, $63,789.12, $64,463.70이 bullish 반등 목표가 된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 175,
        "completed_patterns_found": 62,
        "forming_d_prz_found": 113,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 27,
        "swing_lows_scanned": 32,
        "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": 5,
          "medium": 60,
          "low": 110
        },
        "prz_status_counts": {
          "active": 35,
          "nearby": 18,
          "watch": 41,
          "far": 81,
          "forming": 60
        },
        "high_confluence_prz_count": 30,
        "strict_patterns_found": 76,
        "candidate_patterns_found": 99,
        "active_patterns_at_prz": 35,
        "nearby_patterns": 18,
        "all_patterns": [
          "gartley",
          "crab",
          "bat",
          "gartley",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "gartley",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "gartley",
          "gartley",
          "crab",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "crab",
          "bat",
          "shark",
          "gartley",
          "bat",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "butterfly"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.96,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 63134.73,
        "price_to_prz": 0.12,
        "prz_range": [
          62684.38,
          63585.08
        ],
        "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.96,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -0.57,
            "price_to_prz_pct_raw": -0.5747,
            "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": 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": 191,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 194,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 204,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63629.07,
            "prz_range": [
              63366.38,
              63891.76
            ],
            "prz_width_pct": 0.826,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.9021,
            "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": "crab",
              "d_price": 63629.07,
              "a_price": 61509.1,
              "tp1_ad_382": 62819.24,
              "tp2_ad_618": 62318.93,
              "tp3_a_or_structure_liquidity": 61509.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5706,
              "ABC": 0.4052
            },
            "x_price": 62942.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 61509.1,
            "a_idx": 264,
            "a_order": 5,
            "b_price": 62327.0,
            "b_idx": 268,
            "b_order": 3,
            "c_price": 62658.4,
            "c_idx": 288,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.927,
            "ratio_score": 1.0,
            "prz_score": 0.882,
            "prz_proximity": "active",
            "action_status": "active",
            "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": 0.19,
            "price_to_prz_pct_raw": 0.1882,
            "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": 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": 199,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 60390.0,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.9,
            "ratio_score": 1.0,
            "prz_score": 0.92,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62305.36,
            "prz_range": [
              61929.44,
              62681.28
            ],
            "prz_width_pct": 1.207,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.2,
            "price_to_prz_pct_raw": -1.197,
            "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": 62305.36,
              "a_price": 64150.8,
              "tp1_ad_382": 63010.32,
              "tp2_ad_618": 63445.84,
              "tp3_a_or_structure_liquidity": 64150.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4499,
              "ABC": 0.5716
            },
            "x_price": 66620.0,
            "x_idx": 165,
            "x_order": 3,
            "a_price": 64150.8,
            "a_idx": 199,
            "a_order": 3,
            "b_price": 63040.0,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 209,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.891,
            "ratio_score": 0.793,
            "prz_score": 0.939,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62704.83,
            "prz_range": [
              62348.8,
              63060.86
            ],
            "prz_width_pct": 1.136,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5635,
            "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": 62704.83,
              "a_price": 59451.3,
              "tp1_ad_382": 61461.98,
              "tp2_ad_618": 60694.15,
              "tp3_a_or_structure_liquidity": 59451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4015,
              "ABC": 0.3557
            },
            "x_price": 63231.8,
            "x_idx": 213,
            "x_order": 3,
            "a_price": 59451.3,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 60969.2,
            "b_idx": 249,
            "b_order": 3,
            "c_price": 61509.1,
            "c_idx": 264,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.879,
            "ratio_score": 1.0,
            "prz_score": 0.886,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -1.59,
            "price_to_prz_pct_raw": -1.5943,
            "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": 182,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 194,
            "a_order": 5,
            "b_price": 62910.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 209,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.875,
            "ratio_score": 0.97,
            "prz_score": 0.931,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64287.15,
            "prz_range": [
              63911.88,
              64662.42
            ],
            "prz_width_pct": 1.167,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.95,
            "price_to_prz_pct_raw": 1.9457,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 64287.15,
              "a_price": 60146.0,
              "tp1_ad_382": 62705.23,
              "tp2_ad_618": 61727.92,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7924,
              "ABC": 0.6409
            },
            "x_price": 63674.9,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 60146.0,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 62942.4,
            "b_idx": 260,
            "b_order": 8,
            "c_price": 61150.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.855,
            "ratio_score": 0.948,
            "prz_score": 0.886,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -1.59,
            "price_to_prz_pct_raw": -1.5943,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62054.84,
              "a_price": 64739.8,
              "tp1_ad_382": 63080.5,
              "tp2_ad_618": 63714.15,
              "tp3_a_or_structure_liquidity": 64739.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7971,
              "ABC": 0.418
            },
            "x_price": 67035.5,
            "x_idx": 147,
            "x_order": 3,
            "a_price": 64739.8,
            "a_idx": 184,
            "a_order": 3,
            "b_price": 62910.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 209,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -0.57,
            "price_to_prz_pct_raw": -0.5747,
            "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": 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": 191,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 194,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 204,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63629.07,
            "prz_range": [
              63366.38,
              63891.76
            ],
            "prz_width_pct": 0.826,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.9021,
            "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": "crab",
              "d_price": 63629.07,
              "a_price": 61509.1,
              "tp1_ad_382": 62819.24,
              "tp2_ad_618": 62318.93,
              "tp3_a_or_structure_liquidity": 61509.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5706,
              "ABC": 0.4052
            },
            "x_price": 62942.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 61509.1,
            "a_idx": 264,
            "a_order": 5,
            "b_price": 62327.0,
            "b_idx": 268,
            "b_order": 3,
            "c_price": 62658.4,
            "c_idx": 288,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "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": -0.57,
            "price_to_prz_pct_raw": -0.5747,
            "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": 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": 191,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 194,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 204,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63629.07,
            "prz_range": [
              63366.38,
              63891.76
            ],
            "prz_width_pct": 0.826,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.9021,
            "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": "crab",
              "d_price": 63629.07,
              "a_price": 61509.1,
              "tp1_ad_382": 62819.24,
              "tp2_ad_618": 62318.93,
              "tp3_a_or_structure_liquidity": 61509.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5706,
              "ABC": 0.4052
            },
            "x_price": 62942.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 61509.1,
            "a_idx": 264,
            "a_order": 5,
            "b_price": 62327.0,
            "b_idx": 268,
            "b_order": 3,
            "c_price": 62658.4,
            "c_idx": 288,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.927,
            "ratio_score": 1.0,
            "prz_score": 0.882,
            "prz_proximity": "active",
            "action_status": "active",
            "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": 0.19,
            "price_to_prz_pct_raw": 0.1882,
            "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": 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": 199,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 60390.0,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.9,
            "ratio_score": 1.0,
            "prz_score": 0.92,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62305.36,
            "prz_range": [
              61929.44,
              62681.28
            ],
            "prz_width_pct": 1.207,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.2,
            "price_to_prz_pct_raw": -1.197,
            "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": 62305.36,
              "a_price": 64150.8,
              "tp1_ad_382": 63010.32,
              "tp2_ad_618": 63445.84,
              "tp3_a_or_structure_liquidity": 64150.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4499,
              "ABC": 0.5716
            },
            "x_price": 66620.0,
            "x_idx": 165,
            "x_order": 3,
            "a_price": 64150.8,
            "a_idx": 199,
            "a_order": 3,
            "b_price": 63040.0,
            "b_idx": 201,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 209,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.891,
            "ratio_score": 0.793,
            "prz_score": 0.939,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62704.83,
            "prz_range": [
              62348.8,
              63060.86
            ],
            "prz_width_pct": 1.136,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5635,
            "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": 62704.83,
              "a_price": 59451.3,
              "tp1_ad_382": 61461.98,
              "tp2_ad_618": 60694.15,
              "tp3_a_or_structure_liquidity": 59451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4015,
              "ABC": 0.3557
            },
            "x_price": 63231.8,
            "x_idx": 213,
            "x_order": 3,
            "a_price": 59451.3,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 60969.2,
            "b_idx": 249,
            "b_order": 3,
            "c_price": 61509.1,
            "c_idx": 264,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.879,
            "ratio_score": 1.0,
            "prz_score": 0.886,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -1.59,
            "price_to_prz_pct_raw": -1.5943,
            "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": 182,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 194,
            "a_order": 5,
            "b_price": 62910.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 209,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.875,
            "ratio_score": 0.97,
            "prz_score": 0.931,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64287.15,
            "prz_range": [
              63911.88,
              64662.42
            ],
            "prz_width_pct": 1.167,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.95,
            "price_to_prz_pct_raw": 1.9457,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 64287.15,
              "a_price": 60146.0,
              "tp1_ad_382": 62705.23,
              "tp2_ad_618": 61727.92,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7924,
              "ABC": 0.6409
            },
            "x_price": 63674.9,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 60146.0,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 62942.4,
            "b_idx": 260,
            "b_order": 8,
            "c_price": 61150.2,
            "c_idx": 271,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.855,
            "ratio_score": 0.948,
            "prz_score": 0.886,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -1.59,
            "price_to_prz_pct_raw": -1.5943,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62054.84,
              "a_price": 64739.8,
              "tp1_ad_382": 63080.5,
              "tp2_ad_618": 63714.15,
              "tp3_a_or_structure_liquidity": 64739.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7971,
              "ABC": 0.418
            },
            "x_price": 67035.5,
            "x_idx": 147,
            "x_order": 3,
            "a_price": 64739.8,
            "a_idx": 184,
            "a_order": 3,
            "b_price": 62910.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 209,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.853,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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": -2.38,
            "price_to_prz_pct_raw": -2.3794,
            "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": 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": 225,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 249,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.84,
            "ratio_score": 0.793,
            "prz_score": 0.863,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63134.73,
            "prz_range": [
              62684.38,
              63585.08
            ],
            "prz_width_pct": 1.427,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.12,
            "price_to_prz_pct_raw": 0.1182,
            "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": "crab",
              "d_price": 63134.73,
              "a_price": 59451.3,
              "tp1_ad_382": 61727.66,
              "tp2_ad_618": 60858.37,
              "tp3_a_or_structure_liquidity": 59451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5991,
              "ABC": 0.3557
            },
            "x_price": 61985.1,
            "x_idx": 225,
            "x_order": 5,
            "a_price": 59451.3,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 60969.2,
            "b_idx": 249,
            "b_order": 3,
            "c_price": 61509.1,
            "c_idx": 264,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.816,
            "ratio_score": 0.806,
            "prz_score": 0.885,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62942.4,
            "prz_range": [
              62135.92,
              62976.18
            ],
            "prz_width_pct": 1.343,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.8,
            "price_to_prz_pct_raw": -0.7995,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.513,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62556.05,
              "a_price": 59451.3,
              "tp1_ad_382": 61370.04,
              "tp2_ad_618": 60637.31,
              "tp3_a_or_structure_liquidity": 59451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5353,
              "ABC": 0.6567,
              "BCD": 2.1041,
              "XAD": 0.9234
            },
            "x_price": 63231.8,
            "x_idx": 213,
            "x_order": 3,
            "a_price": 59451.3,
            "a_idx": 232,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 60146.0,
            "c_idx": 238,
            "c_order": 3,
            "d_idx": 260
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.811,
            "ratio_score": 0.71,
            "prz_score": 0.879,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63450.53,
            "prz_range": [
              63016.84,
              63884.22
            ],
            "prz_width_pct": 1.367,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.619,
            "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": 63450.53,
              "a_price": 59080.0,
              "tp1_ad_382": 61780.99,
              "tp2_ad_618": 60749.54,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5396,
              "ABC": 0.6331
            },
            "x_price": 64463.7,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 59080.0,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 61985.1,
            "b_idx": 225,
            "b_order": 5,
            "c_price": 60146.0,
            "c_idx": 238,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "prz_proximity": "active",
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.57,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 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."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $62,440.67-$62,954.91: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "prz_proximity": "active",
            "prz_range": [
              63366.38,
              63891.76
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.9,
            "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": "crab",
              "d_price": 63629.07,
              "a_price": 61509.1,
              "tp1_ad_382": 62819.24,
              "tp2_ad_618": 62318.93,
              "tp3_a_or_structure_liquidity": 61509.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $63,366.38-$63,891.76: 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.96,
          "ratio_score": 0.985,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "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": -0.57,
          "price_to_prz_pct_raw": -0.5747,
          "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": 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": 191,
          "x_order": 8,
          "a_price": 64463.7,
          "a_idx": 194,
          "a_order": 5,
          "b_price": 63040.0,
          "b_idx": 201,
          "b_order": 3,
          "c_price": 63955.0,
          "c_idx": 204,
          "c_order": 3,
          "d_idx": null
        },
        "best_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."
        },
        "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."
          },
          {
            "direction": "bearish",
            "source": "crab",
            "d_price": 63629.07,
            "a_price": 61509.1,
            "tp1_ad_382": 62819.24,
            "tp2_ad_618": 62318.93,
            "tp3_a_or_structure_liquidity": 61509.1,
            "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.203,
          "bearish": 0.2
        },
        "directional_score_total": 0.404,
        "directional_dominance": 0.007
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.41,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"엄격·고품질 bullish Gartley 형성 PRZ $62,440.67-$62,954.91, D 예상가 $62,697.79, 현재가 $63,060.20은 PRZ 상단 바로 위\",\n    \"엄격·고품질 bearish Crab 형성 PRZ $63,366.38-$63,891.76, D 예상가 $63,629.07, 현재가 대비 약 +0.90% 상방 반전 후보\",\n    \"두 핵심 PRZ 모두 ABCD·BC_EXT·XAD 3중 Fib confluence이며 PRZ score 1.0\",\n    \"confirmed_reaction_prz_count가 0으로, PRZ 진입 후 거부·스윕→리클레임·15m/1h MSS/CHoCH 확인은 아직 없음\",\n    \"harmonic directional score가 bullish 0.203 vs bearish 0.200, dominance 0.007로 방향 우위가 사실상 없음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,060.20으로, 하단에는 엄격·고품질 bullish Gartley PRZ $62,440.67-$62,954.91가 있고 상단에는 엄격·고품질 bearish Crab PRZ $63,366.38-$63,891.76가 있어 가격이 두 고컨플루언스 반전 후보 사이에 끼어 있다. 최상위 패턴은 Gartley이며 score 0.960, XAB 0.6155로 이상적인 0.618에 근접하지만 아직 forming 상태이고 confirmed_reaction=false라 단독 bullish 전환 근거가 아니다. 반대로 상단 Crab도 score 0.946, PRZ score 1.0이지만 마찬가지로 사전 확인 단계라 bearish 경로를 확정할 수 없다. 따라서 structure_bias는 확인된 BOS/CHoCH 또는 구조적 수용 데이터가 없어 neutral이며, setup_bias도 상·하방 PRZ가 거의 동일한 가중치로 충돌해 neutral로 판단한다.\",\n  \"key_levels\": {\n    \"support\": [\n      62954.91,\n      62697.79,\n      62440.67,\n      62318.93,\n      61509.1\n    ],\n    \"resistance\": [\n      63366.38,\n      63629.07,\n      63891.76,\n      64463.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"상방 $63,891.76 이상 1h 종가 수용 시 중립 박스가 상방으로 깨지고, 하방 $62,440.67 이탈 시 bullish Gartley PRZ 방어 실패로 중립 판단이 약화됨\",\n  \"risk_scenario\": \"상단 $63,366.38-$63,891.76 Crab PRZ에서 강한 거부와 15m/1h MSS 또는 CVD 약세 다이버전스가 동반되면 $62,819.24, $62,318.93, 최종 $61,509.10까지 bearish TP ladder가 활성화될 수 있다. 반대로 하단 $62,440.67-$62,954.91 Gartley PRZ를 재진입 후 리클레임하면 $63,372.37, $63,789.12, $64,463.70이 bullish 반등 목표가 된다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.63,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.68,
      "active_setups": [
        "ICT 기준 bullish BOS $62,942.40 및 London 저점 $62,939.70 상방 방어",
        "Fibonacci 기준 ret_0.786 지지 $62,983.92를 현재가 $63,060.20에서 근접 테스트",
        "Fibonacci 컨플루언스 존 $63,111.06 부근에 3개 Fib 레벨 중첩",
        "Derivatives 기준 CVD 다이버전스 0.850 및 CVD 변화 +$2,446로 체결 매수 흐름 개선",
        "상단 청산 유동성 $63,100, $64,100, $65,300에 존재해 단기 상방 스윕 조건 형성",
        "Candlestick 기준 hammer, bullish engulfing, bullish harami, doji가 최근 구간에 군집했으나 최고 품질은 0.465로 약함",
        "Harmonic 기준 bullish Gartley PRZ $62,440.67-$62,954.91 상단 바로 위에서 반응 후보 형성"
      ],
      "setup_vs_structure": "구조는 Wyckoff 재분배와 EMA 하방 수용 때문에 약세로 기울어 있지만, 실행 셋업은 $62,940-$63,110 방어를 기반으로 단기 bullish가 우세하다. 즉, 현재는 약세 구조 내부의 반등 셋업이며, 구조 전환으로 보기에는 $63,832.50-$64,250.00 회복 확인이 부족하다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 2,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        62983.92,
        62942.4,
        62939.7,
        62658,
        62500,
        62440.67,
        62320,
        62200,
        61150.2,
        60390,
        60146,
        59080
      ],
      "resistance": [
        63100,
        63239.46,
        63292.6,
        63366.38,
        63418.95,
        63444.13,
        63690.7,
        63832.5,
        63891.76,
        64100,
        64250,
        65238.5,
        65300,
        65856.48
      ]
    },
    "confluences": [
      "ICT의 bullish BOS $62,942.40와 Wyckoff의 SOW $62,939.70, London 저점 $62,939.70이 거의 동일한 가격대에 위치해 현재 구조의 핵심 분기점이 형성되어 있다.",
      "Fibonacci ret_0.786 $62,983.92와 Harmonic bullish Gartley PRZ 상단 $62,954.91이 근접해 $62,950-$62,984 구간이 단기 방어 후보로 중첩된다.",
      "Candlestick과 Derivatives 모두 현재가가 7일 범위 EQ $65,238.50 아래의 할인 구간에 있다고 판단한다.",
      "Candlestick, Derivatives, Wyckoff, ICT가 모두 EMA20 $63,292.60 및 EMA120 $63,444.13 부근을 회복 전 확인 저항으로 본다.",
      "Wyckoff LPSY $63,832.50, Harmonic bearish Crab PRZ $63,366.38-$63,891.76, Fibonacci 저항 $63,598.44가 겹쳐 $63,366-$63,891 구간은 공급 재출현 위험이 높은 구조적 저항대다.",
      "Derivatives의 상단 청산 유동성 $64,100과 ICT의 전일 고점/레인지 고점 $64,250.00이 근접해 $64,100-$64,250이 상단 유동성 및 구조 검증 구간으로 중첩된다.",
      "Wyckoff의 $59,080.00 Phase E 저점과 Candlestick의 7일 저점 $59,080.00이 동일해 중기 하단 구조 기준점으로 합의된다."
    ],
    "conflicts": [
      "Wyckoff는 분배/재분배 구조를 강하게 지지하지만, ICT는 최신 BOS가 $62,942.40 상방에서 bullish로 마감되었다고 해석해 핵심 구조 판정이 충돌한다.",
      "Derivatives는 구조적으로 EMA 클러스터 하방이므로 bearish라고 보지만, CVD 다이버전스 0.850과 상단 청산 유동성 때문에 실행 셋업은 bullish로 본다.",
      "Fibonacci는 $62,983.92 ret_0.786 반응 가능성을 bullish 셋업으로 보지만, 구조적 BOS/CHoCH 확인은 없다고 보아 구조 판단에는 중립이다.",
      "Harmonic은 하단 bullish Gartley PRZ $62,440.67-$62,954.91와 상단 bearish Crab PRZ $63,366.38-$63,891.76가 동시에 활성화되어 방향성 우위가 거의 없다고 판단한다.",
      "Candlestick의 최근 bullish 패턴 군집은 반등 피로를 시사하지만, 거래량 확인이 없고 패턴 품질이 0.465에 그쳐 구조 전환 근거로는 약하다."
    ],
    "executive_summary": "현재 1시간 BTC 구조는 이전 대형 분배가 $59,080.00 Phase E 저점까지 진행된 뒤, $64,250.00 UTAD와 $63,832.50 LPSY를 포함한 재분배 후보 구조로 재편된 상태로 판단한다. 핵심 구조 분기점은 $62,939.70-$62,942.40이며, Wyckoff는 이를 SOW로, ICT는 bullish BOS 방어선으로 해석해 같은 가격대에 정반대의 구조 의미가 충돌하고 있다. 체제 차원에서는 Wyckoff의 분배/재분배 신호와 EMA20 $63,292.60, EMA120 $63,444.13 하방 수용을 더 높게 평가해 overall_signal은 bearish다. 다만 실행 셋업은 Fib $62,983.92 지지, CVD 상승 다이버전스, 하단 Gartley PRZ 때문에 약세 구조 내부의 bullish 반응 조건이 활성화되어 있다. 약세 구조의 주요 무효화는 $64,250.00 상방 수용이며, 그 전에는 $63,832.50-$63,891.76 회복 여부가 구조 훼손의 선행 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.63,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.68,\n    \"active_setups\": [\n      \"ICT 기준 bullish BOS $62,942.40 및 London 저점 $62,939.70 상방 방어\",\n      \"Fibonacci 기준 ret_0.786 지지 $62,983.92를 현재가 $63,060.20에서 근접 테스트\",\n      \"Fibonacci 컨플루언스 존 $63,111.06 부근에 3개 Fib 레벨 중첩\",\n      \"Derivatives 기준 CVD 다이버전스 0.850 및 CVD 변화 +$2,446로 체결 매수 흐름 개선\",\n      \"상단 청산 유동성 $63,100, $64,100, $65,300에 존재해 단기 상방 스윕 조건 형성\",\n      \"Candlestick 기준 hammer, bullish engulfing, bullish harami, doji가 최근 구간에 군집했으나 최고 품질은 0.465로 약함\",\n      \"Harmonic 기준 bullish Gartley PRZ $62,440.67-$62,954.91 상단 바로 위에서 반응 후보 형성\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff 재분배와 EMA 하방 수용 때문에 약세로 기울어 있지만, 실행 셋업은 $62,940-$63,110 방어를 기반으로 단기 bullish가 우세하다. 즉, 현재는 약세 구조 내부의 반등 셋업이며, 구조 전환으로 보기에는 $63,832.50-$64,250.00 회복 확인이 부족하다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 2,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      62983.92,\n      62942.4,\n      62939.7,\n      62658,\n      62500,\n      62440.67,\n      62320,\n      62200,\n      61150.2,\n      60390,\n      60146,\n      59080\n    ],\n    \"resistance\": [\n      63100,\n      63239.46,\n      63292.6,\n      63366.38,\n      63418.95,\n      63444.13,\n      63690.7,\n      63832.5,\n      63891.76,\n      64100,\n      64250,\n      65238.5,\n      65300,\n      65856.48\n    ]\n  },\n  \"confluences\": [\n    \"ICT의 bullish BOS $62,942.40와 Wyckoff의 SOW $62,939.70, London 저점 $62,939.70이 거의 동일한 가격대에 위치해 현재 구조의 핵심 분기점이 형성되어 있다.\",\n    \"Fibonacci ret_0.786 $62,983.92와 Harmonic bullish Gartley PRZ 상단 $62,954.91이 근접해 $62,950-$62,984 구간이 단기 방어 후보로 중첩된다.\",\n    \"Candlestick과 Derivatives 모두 현재가가 7일 범위 EQ $65,238.50 아래의 할인 구간에 있다고 판단한다.\",\n    \"Candlestick, Derivatives, Wyckoff, ICT가 모두 EMA20 $63,292.60 및 EMA120 $63,444.13 부근을 회복 전 확인 저항으로 본다.\",\n    \"Wyckoff LPSY $63,832.50, Harmonic bearish Crab PRZ $63,366.38-$63,891.76, Fibonacci 저항 $63,598.44가 겹쳐 $63,366-$63,891 구간은 공급 재출현 위험이 높은 구조적 저항대다.\",\n    \"Derivatives의 상단 청산 유동성 $64,100과 ICT의 전일 고점/레인지 고점 $64,250.00이 근접해 $64,100-$64,250이 상단 유동성 및 구조 검증 구간으로 중첩된다.\",\n    \"Wyckoff의 $59,080.00 Phase E 저점과 Candlestick의 7일 저점 $59,080.00이 동일해 중기 하단 구조 기준점으로 합의된다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 분배/재분배 구조를 강하게 지지하지만, ICT는 최신 BOS가 $62,942.40 상방에서 bullish로 마감되었다고 해석해 핵심 구조 판정이 충돌한다.\",\n    \"Derivatives는 구조적으로 EMA 클러스터 하방이므로 bearish라고 보지만, CVD 다이버전스 0.850과 상단 청산 유동성 때문에 실행 셋업은 bullish로 본다.\",\n    \"Fibonacci는 $62,983.92 ret_0.786 반응 가능성을 bullish 셋업으로 보지만, 구조적 BOS/CHoCH 확인은 없다고 보아 구조 판단에는 중립이다.\",\n    \"Harmonic은 하단 bullish Gartley PRZ $62,440.67-$62,954.91와 상단 bearish Crab PRZ $63,366.38-$63,891.76가 동시에 활성화되어 방향성 우위가 거의 없다고 판단한다.\",\n    \"Candlestick의 최근 bullish 패턴 군집은 반등 피로를 시사하지만, 거래량 확인이 없고 패턴 품질이 0.465에 그쳐 구조 전환 근거로는 약하다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 분배 점수 96.2, 체제 적합도 0.963, 이전 확정 분배 구조와 현재 재분배 후보 구조를 모두 구체적 가격과 단계로 제시했다. 특히 UTAD $64,250.00 이후 LPSY $63,832.50, SOW $62,939.70 순서가 확인되어 구조적 약세 판정의 품질과 일관성이 가장 높다.\",\n  \"invalidation_level\": \"$64,250.00 상방 1시간 수용. 그 전 단계로는 $63,832.50 LPSY 및 $63,891.76 bearish Crab PRZ 상단 회복이 약세 구조 훼손의 조기 경고다.\",\n  \"executive_summary\": \"현재 1시간 BTC 구조는 이전 대형 분배가 $59,080.00 Phase E 저점까지 진행된 뒤, $64,250.00 UTAD와 $63,832.50 LPSY를 포함한 재분배 후보 구조로 재편된 상태로 판단한다. 핵심 구조 분기점은 $62,939.70-$62,942.40이며, Wyckoff는 이를 SOW로, ICT는 bullish BOS 방어선으로 해석해 같은 가격대에 정반대의 구조 의미가 충돌하고 있다. 체제 차원에서는 Wyckoff의 분배/재분배 신호와 EMA20 $63,292.60, EMA120 $63,444.13 하방 수용을 더 높게 평가해 overall_signal은 bearish다. 다만 실행 셋업은 Fib $62,983.92 지지, CVD 상승 다이버전스, 하단 Gartley PRZ 때문에 약세 구조 내부의 bullish 반응 조건이 활성화되어 있다. 약세 구조의 주요 무효화는 $64,250.00 상방 수용이며, 그 전에는 $63,832.50-$63,891.76 회복 여부가 구조 훼손의 선행 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.63,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 63111.06,
        "type": "resistance_test",
        "source": "Fibonacci (컨플루언스 존 $63,111.06, strict, ret_0.786·0.236·0.618 중첩, cluster_score 0.85), Derivatives (상단 청산 유동성 $63,100, CVD 다이버전스 0.850)",
        "description": "현재가 $63,060.20 바로 위의 strict 등급 Fib 컨플루언스 $63,111.06(3중 중첩, score 0.85)와 Derivatives 청산 유동성 $63,100이 겹친 1차 확인 구간. setup_bias가 bullish(68%)이고 구조 약세와 충돌하므로 setup-driven 규칙에 따라 첫 waypoint는 상방. 이 레벨 회복이 약세 구조 내 bullish 반등 셋업의 활성화 트리거이며 WP2 진행의 전제. 회복 실패 시 $62,983.92 Fib 방어로 즉시 되돌림.",
        "est_hours": 2.0,
        "turning_zone": [
          63111.06,
          63292.6
        ],
        "likely_wick": 63239.46,
        "rejection_confirm": 62983.92,
        "invalid_overshoot": 63366.38,
        "calibration_reasoning": "현재가 바로 위의 strict 3중 Fib 컨플루언스 $63,111.06을 하단, EMA20 $63,292.60을 상단으로 묶어 약 0.33×ATR 폭으로 설정. 구간 중앙의 Fib 0.618 골든비율 $63,239.46(Chairman 저항 중첩)이 가장 강한 유동성 고점이라 likely_wick으로 지정. 회복 실패 시 경로가 명시한 Fib 방어 $62,983.92 이탈로 거부가 확인되고, EMA20 위 수용($63,366.38 공급대 진입)은 반전이 아닌 상방 돌파로 전환되어 무효."
      },
      {
        "seq": 2,
        "price": 63832.5,
        "type": "swing_high",
        "source": "Wyckoff (LPSY $63,832.50), Harmonic (bearish Crab PRZ $63,366.38-$63,891.76, D $63,629.07, score 0.946), Fibonacci (저항 $63,598.44/$63,820.52), ICT (저항 $63,690.70)",
        "description": "ICT 셋업(90%)·CVD 다이버전스 0.850·상단 유동성 스윕 조건을 동력으로 EMA20 $63,292.60·EMA120 $63,444.13을 통과해 공급 재출현 구간 $63,366-$63,891의 상단 Wyckoff LPSY $63,832.50까지 상방 스윕. LPSY + bearish Crab PRZ + Fib 저항이 중첩된 구조적 공급대로 반등의 고점이자 숏 재진입 후보. 약세 구조($63,891.76 미회복) 가정 하 여기서 공급 재출현·거부 예상.",
        "est_hours": 8.0,
        "turning_zone": [
          63832.5,
          63910.0
        ],
        "likely_wick": 63891.76,
        "rejection_confirm": 63598.44,
        "invalid_overshoot": 64100.0,
        "calibration_reasoning": "Wyckoff LPSY $63,832.50을 하단, 약세 구조 유지의 핵심 상한 $63,891.76(Chairman 저항) 바로 위 스윕 허용치까지 묶음. $63,891.76 위에 쌓인 정지 사냥 유동성이 스윕 대상이라 likely_wick으로 지정. LPSY+Crab PRZ+Fib 컨플루언스가 조밀해 폭은 ~0.14×ATR로 좁음. Fib 0.382 $63,598.44 이탈 시 하방 거부 확인, $63,891.76 수용 후 $64,100 진입은 약세 셋업 무효. (Crab PRZ $63,629.07은 pre-confirmation이라 조건부 참고만.)"
      },
      {
        "seq": 3,
        "price": 62942.4,
        "type": "support_test",
        "source": "ICT (bullish BOS $62,942.40), Wyckoff (SOW $62,939.70), Fibonacci (ret_0.786 $62,983.92), London 저점 $62,939.70",
        "description": "LPSY 거부 후 Wyckoff 재분배(dis_score 96.2)·EMA 하방 수용의 구조 우위가 재개되며 핵심 분기점 $62,939.70-$62,942.40(ICT bullish BOS 방어선 vs Wyckoff SOW가 정면 충돌하는 구간) 재시험. Fib $62,983.92와 함께 단기 방어가 시도되며, 이 구간의 1시간 종가 수용 여부가 추세 확정의 분수령.",
        "est_hours": 16.0,
        "turning_zone": [
          62890.0,
          62942.4
        ],
        "likely_wick": 62910.0,
        "rejection_confirm": 62983.92,
        "invalid_overshoot": 62658.0,
        "calibration_reasoning": "$62,942.40/$62,939.70 ICT BOS 방어선이 칼날 클러스터이고 바로 아래 $62,658까지 지지 공백이라, 방어 성공 시나리오의 turning_zone은 클러스터 직하 얕은 스윕(~$62,910)으로 좁게(0.10×ATR) 설정. 반등 확인은 상단 Fib $62,983.92 회복, 아래로 $62,658(Fib 스윙 저점·Chairman) 수용 시 지지 실패로 WP4 전환되어 무효. (Gartley PRZ $62,697.79는 pre-confirmation 조건부 반응대로만 참고.)"
      },
      {
        "seq": 4,
        "price": 62500.0,
        "type": "swing_low",
        "source": "Derivatives (청산 유동성 $62,500, account_long_crowding 1.000), Fibonacci (스윙 저점 $62,658), Harmonic (bullish Gartley PRZ $62,440.67-$62,954.91 상단)",
        "description": "$62,939.70 하방 수용 시 ICT BOS 방어 실패·Wyckoff SOW 확정으로 Fib 스윙 저점 $62,658을 깨고, 롱 군집(1.000) 청산을 유발하며 Derivatives 청산 유동성 $62,500까지 하락. 바로 아래 bullish Gartley PRZ $62,440.67이 다음 방어 후보로 반등 가능 구간.",
        "est_hours": 23.0,
        "turning_zone": [
          62200.0,
          62500.0
        ],
        "likely_wick": 62440.67,
        "rejection_confirm": 62658.0,
        "invalid_overshoot": 62100.0,
        "calibration_reasoning": "터미널 waypoint라 0.55×ATR로 넓게 설정. 라운드넘버이자 청산 유동성인 $62,500을 상단, Chairman 지지 $62,200을 하단으로 잡아 $62,440.67·$62,320·$62,200 지지군을 포괄. 롱 청산 캐스케이드가 라운드넘버 직하 다음 방어선 $62,440.67(경로의 반등 후보)까지 쓸어내릴 가능성이 높아 likely_wick 지정. $62,658 회복 시 저점 방어 확인, $62,200 하향 수용($61,150.2까지 지지 공백)은 추가 붕괴로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 63444.13,
        "expected_low": 62983.92,
        "high_first": false
      },
      "8h": {
        "expected_high": 63832.5,
        "expected_low": 62983.92,
        "high_first": false
      },
      "24h": {
        "expected_high": 63832.5,
        "expected_low": 62500.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 63891.76,
        "description": "1시간 종가가 bearish Crab PRZ 상단·LPSY 위 $63,891.76를 수용하면 약세 구조 훼손의 선행 조건이 충족되어 $64,100-$64,250 상단 유동성/무효화 구간으로 bullish 가속. 이 경우 본 경로의 약세 되돌림(WP3·WP4)이 위협받음."
      },
      "bearish": {
        "price": 62939.7,
        "description": "1시간 종가가 $62,939.70(Wyckoff SOW / ICT bullish BOS / London 저점) 아래로 수용되면 BOS 방어 실패·SOW 확정으로 $62,658·$62,500·$62,320을 향한 bearish 가속. WP3→WP4 진행의 확증 트리거."
      }
    },
    "scenario_invalidation": 64250.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 63111.06,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (컨플루언스 존 $63,111.06, strict, ret_0.786·0.236·0.618 중첩, cluster_score 0.85), Derivatives (상단 청산 유동성 $63,100, CVD 다이버전스 0.850)\",\n      \"description\": \"현재가 $63,060.20 바로 위의 strict 등급 Fib 컨플루언스 $63,111.06(3중 중첩, score 0.85)와 Derivatives 청산 유동성 $63,100이 겹친 1차 확인 구간. setup_bias가 bullish(68%)이고 구조 약세와 충돌하므로 setup-driven 규칙에 따라 첫 waypoint는 상방. 이 레벨 회복이 약세 구조 내 bullish 반등 셋업의 활성화 트리거이며 WP2 진행의 전제. 회복 실패 시 $62,983.92 Fib 방어로 즉시 되돌림.\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 63832.50,\n      \"type\": \"swing_high\",\n      \"source\": \"Wyckoff (LPSY $63,832.50), Harmonic (bearish Crab PRZ $63,366.38-$63,891.76, D $63,629.07, score 0.946), Fibonacci (저항 $63,598.44/$63,820.52), ICT (저항 $63,690.70)\",\n      \"description\": \"ICT 셋업(90%)·CVD 다이버전스 0.850·상단 유동성 스윕 조건을 동력으로 EMA20 $63,292.60·EMA120 $63,444.13을 통과해 공급 재출현 구간 $63,366-$63,891의 상단 Wyckoff LPSY $63,832.50까지 상방 스윕. LPSY + bearish Crab PRZ + Fib 저항이 중첩된 구조적 공급대로 반등의 고점이자 숏 재진입 후보. 약세 구조($63,891.76 미회복) 가정 하 여기서 공급 재출현·거부 예상.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 62942.40,\n      \"type\": \"support_test\",\n      \"source\": \"ICT (bullish BOS $62,942.40), Wyckoff (SOW $62,939.70), Fibonacci (ret_0.786 $62,983.92), London 저점 $62,939.70\",\n      \"description\": \"LPSY 거부 후 Wyckoff 재분배(dis_score 96.2)·EMA 하방 수용의 구조 우위가 재개되며 핵심 분기점 $62,939.70-$62,942.40(ICT bullish BOS 방어선 vs Wyckoff SOW가 정면 충돌하는 구간) 재시험. Fib $62,983.92와 함께 단기 방어가 시도되며, 이 구간의 1시간 종가 수용 여부가 추세 확정의 분수령.\",\n      \"est_hours\": 16.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 62500.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Derivatives (청산 유동성 $62,500, account_long_crowding 1.000), Fibonacci (스윙 저점 $62,658), Harmonic (bullish Gartley PRZ $62,440.67-$62,954.91 상단)\",\n      \"description\": \"$62,939.70 하방 수용 시 ICT BOS 방어 실패·Wyckoff SOW 확정으로 Fib 스윙 저점 $62,658을 깨고, 롱 군집(1.000) 청산을 유발하며 Derivatives 청산 유동성 $62,500까지 하락. 바로 아래 bullish Gartley PRZ $62,440.67이 다음 방어 후보로 반등 가능 구간.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 63444.13, \"expected_low\": 62983.92, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 63832.50, \"expected_low\": 62983.92, \"high_first\": false},\n    \"24h\": {\"expected_high\": 63832.50, \"expected_low\": 62500.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 63891.76, \"description\": \"1시간 종가가 bearish Crab PRZ 상단·LPSY 위 $63,891.76를 수용하면 약세 구조 훼손의 선행 조건이 충족되어 $64,100-$64,250 상단 유동성/무효화 구간으로 bullish 가속. 이 경우 본 경로의 약세 되돌림(WP3·WP4)이 위협받음.\"},\n    \"bearish\": {\"price\": 62939.70, \"description\": \"1시간 종가가 $62,939.70(Wyckoff SOW / ICT bullish BOS / London 저점) 아래로 수용되면 BOS 방어 실패·SOW 확정으로 $62,658·$62,500·$62,320을 향한 bearish 가속. WP3→WP4 진행의 확증 트리거.\"}\n  },\n  \"scenario_invalidation\": 64250.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 63111.06,
        "turning_zone": [
          63111.06,
          63292.6
        ],
        "likely_wick": 63239.46,
        "rejection_confirm": 62983.92,
        "invalid_overshoot": 63366.38,
        "calibration_reasoning": "현재가 바로 위의 strict 3중 Fib 컨플루언스 $63,111.06을 하단, EMA20 $63,292.60을 상단으로 묶어 약 0.33×ATR 폭으로 설정. 구간 중앙의 Fib 0.618 골든비율 $63,239.46(Chairman 저항 중첩)이 가장 강한 유동성 고점이라 likely_wick으로 지정. 회복 실패 시 경로가 명시한 Fib 방어 $62,983.92 이탈로 거부가 확인되고, EMA20 위 수용($63,366.38 공급대 진입)은 반전이 아닌 상방 돌파로 전환되어 무효."
      },
      {
        "seq": 2,
        "base_target": 63832.5,
        "turning_zone": [
          63832.5,
          63910.0
        ],
        "likely_wick": 63891.76,
        "rejection_confirm": 63598.44,
        "invalid_overshoot": 64100.0,
        "calibration_reasoning": "Wyckoff LPSY $63,832.50을 하단, 약세 구조 유지의 핵심 상한 $63,891.76(Chairman 저항) 바로 위 스윕 허용치까지 묶음. $63,891.76 위에 쌓인 정지 사냥 유동성이 스윕 대상이라 likely_wick으로 지정. LPSY+Crab PRZ+Fib 컨플루언스가 조밀해 폭은 ~0.14×ATR로 좁음. Fib 0.382 $63,598.44 이탈 시 하방 거부 확인, $63,891.76 수용 후 $64,100 진입은 약세 셋업 무효. (Crab PRZ $63,629.07은 pre-confirmation이라 조건부 참고만.)"
      },
      {
        "seq": 3,
        "base_target": 62942.4,
        "turning_zone": [
          62890.0,
          62942.4
        ],
        "likely_wick": 62910.0,
        "rejection_confirm": 62983.92,
        "invalid_overshoot": 62658.0,
        "calibration_reasoning": "$62,942.40/$62,939.70 ICT BOS 방어선이 칼날 클러스터이고 바로 아래 $62,658까지 지지 공백이라, 방어 성공 시나리오의 turning_zone은 클러스터 직하 얕은 스윕(~$62,910)으로 좁게(0.10×ATR) 설정. 반등 확인은 상단 Fib $62,983.92 회복, 아래로 $62,658(Fib 스윙 저점·Chairman) 수용 시 지지 실패로 WP4 전환되어 무효. (Gartley PRZ $62,697.79는 pre-confirmation 조건부 반응대로만 참고.)"
      },
      {
        "seq": 4,
        "base_target": 62500.0,
        "turning_zone": [
          62200.0,
          62500.0
        ],
        "likely_wick": 62440.67,
        "rejection_confirm": 62658.0,
        "invalid_overshoot": 62100.0,
        "calibration_reasoning": "터미널 waypoint라 0.55×ATR로 넓게 설정. 라운드넘버이자 청산 유동성인 $62,500을 상단, Chairman 지지 $62,200을 하단으로 잡아 $62,440.67·$62,320·$62,200 지지군을 포괄. 롱 청산 캐스케이드가 라운드넘버 직하 다음 방어선 $62,440.67(경로의 반등 후보)까지 쓸어내릴 가능성이 높아 likely_wick 지정. $62,658 회복 시 저점 방어 확인, $62,200 하향 수용($61,150.2까지 지지 공백)은 추가 붕괴로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 63111.06,\n      \"turning_zone\": [63111.06, 63292.60],\n      \"likely_wick\": 63239.46,\n      \"rejection_confirm\": 62983.92,\n      \"invalid_overshoot\": 63366.38,\n      \"calibration_reasoning\": \"현재가 바로 위의 strict 3중 Fib 컨플루언스 $63,111.06을 하단, EMA20 $63,292.60을 상단으로 묶어 약 0.33×ATR 폭으로 설정. 구간 중앙의 Fib 0.618 골든비율 $63,239.46(Chairman 저항 중첩)이 가장 강한 유동성 고점이라 likely_wick으로 지정. 회복 실패 시 경로가 명시한 Fib 방어 $62,983.92 이탈로 거부가 확인되고, EMA20 위 수용($63,366.38 공급대 진입)은 반전이 아닌 상방 돌파로 전환되어 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 63832.50,\n      \"turning_zone\": [63832.50, 63910.00],\n      \"likely_wick\": 63891.76,\n      \"rejection_confirm\": 63598.44,\n      \"invalid_overshoot\": 64100.00,\n      \"calibration_reasoning\": \"Wyckoff LPSY $63,832.50을 하단, 약세 구조 유지의 핵심 상한 $63,891.76(Chairman 저항) 바로 위 스윕 허용치까지 묶음. $63,891.76 위에 쌓인 정지 사냥 유동성이 스윕 대상이라 likely_wick으로 지정. LPSY+Crab PRZ+Fib 컨플루언스가 조밀해 폭은 ~0.14×ATR로 좁음. Fib 0.382 $63,598.44 이탈 시 하방 거부 확인, $63,891.76 수용 후 $64,100 진입은 약세 셋업 무효. (Crab PRZ $63,629.07은 pre-confirmation이라 조건부 참고만.)\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 62942.40,\n      \"turning_zone\": [62890.00, 62942.40],\n      \"likely_wick\": 62910.00,\n      \"rejection_confirm\": 62983.92,\n      \"invalid_overshoot\": 62658.00,\n      \"calibration_reasoning\": \"$62,942.40/$62,939.70 ICT BOS 방어선이 칼날 클러스터이고 바로 아래 $62,658까지 지지 공백이라, 방어 성공 시나리오의 turning_zone은 클러스터 직하 얕은 스윕(~$62,910)으로 좁게(0.10×ATR) 설정. 반등 확인은 상단 Fib $62,983.92 회복, 아래로 $62,658(Fib 스윙 저점·Chairman) 수용 시 지지 실패로 WP4 전환되어 무효. (Gartley PRZ $62,697.79는 pre-confirmation 조건부 반응대로만 참고.)\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 62500.00,\n      \"turning_zone\": [62200.00, 62500.00],\n      \"likely_wick\": 62440.67,\n      \"rejection_confirm\": 62658.00,\n      \"invalid_overshoot\": 62100.00,\n      \"calibration_reasoning\": \"터미널 waypoint라 0.55×ATR로 넓게 설정. 라운드넘버이자 청산 유동성인 $62,500을 상단, Chairman 지지 $62,200을 하단으로 잡아 $62,440.67·$62,320·$62,200 지지군을 포괄. 롱 청산 캐스케이드가 라운드넘버 직하 다음 방어선 $62,440.67(경로의 반등 후보)까지 쓸어내릴 가능성이 높아 likely_wick 지정. $62,658 회복 시 저점 방어 확인, $62,200 하향 수용($61,150.2까지 지지 공백)은 추가 붕괴로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.9,
      "chairman": 43.0,
      "operating_path": 439.7,
      "tp_calibrator": 400.8
    },
    "agents": {},
    "total_s": 910.7
  }
}