{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-30 13:00 KST",
  "last_price": 59596.2,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.888,
      "setup_signals": [
        "현재가 $59,596.20가 EQ $59,804.15 아래에 위치하여 단기 균형선 하방 수용 상태",
        "최근 확정 bearish BOS가 $59,714.80에서 발생했고 현재가가 해당 레벨 아래에 머물고 있음",
        "상위 저항으로 candidate bearish OB $62,272.10-$63,209.60가 존재하여 반등 시 기관 매도 공급 구간으로 작용 가능",
        "현재가가 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 모두 아래에 있어 평균가 기준 하방 압력 우위",
        "London 세션 저점 $59,570.00 부근에서 거래 중이며 이탈 시 전일 저점 $58,850.00 및 7일 저점 $58,030.00 유동성으로 확장 가능"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. BOS/CHoCH 시퀀스가 BOS_bullish 이후 CHoCH_bearish $63,220.00, bearish BOS $61,870.00, $59,060.00, 그리고 최근 bearish BOS $59,714.80로 이어졌고, 현재가 $59,596.20는 최근 BOS 레벨 아래에 있다. 현재 가격은 EQ $59,804.15 아래의 discount 영역이지만, bullish FVG나 active bullish OB가 없고, 오히려 EMA20 $59,985.12와 EMA120 $60,400.96 아래에서 수용되고 있어 매수 반전 근거가 약하다. 단기적으로 $59,570.00 London 저점이 깨지면 $58,850.00 전일 저점과 $58,030.00 7일 저점의 sell-side liquidity를 사냥할 가능성이 높다.",
      "key_levels": {
        "support": [
          59570.0,
          59060.0,
          58850.0,
          58030.0
        ],
        "resistance": [
          59714.8,
          59804.15,
          59985.12,
          60400.96,
          60758.3,
          62272.1,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,758.30",
      "risk_scenario": "반대 시나리오는 가격이 $59,714.80 최근 bearish BOS 레벨을 회복한 뒤 EQ $59,804.15와 EMA20 $59,985.12 위에서 수용되고, 최종적으로 전일 고점이자 range high인 $60,758.30을 돌파하는 경우다. 이 경우 단기 하방 구조는 실패로 간주되며, $62,272.10-$63,209.60 candidate bearish OB까지 buy-side liquidity를 회수하는 반등이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 62272.1,
          "top": 63209.6,
          "quality": "candidate",
          "score": 0.548
        },
        "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": 51,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 64568.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 63220.0
          },
          {
            "type": "BOS_bearish",
            "level": 61870.0
          },
          {
            "type": "BOS_bearish",
            "level": 59060.0
          },
          {
            "type": "BOS_bullish",
            "level": 60734.0
          },
          {
            "type": "BOS_bearish",
            "level": 59714.8
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 59804.15,
        "range_high": 60758.3,
        "range_low": 58850.0,
        "bull_score": 5.0,
        "bear_score": 9.7,
        "setup_bias": "bearish",
        "setup_score": 0.888,
        "setup_signals": [
          "bearish CHoCH below $63,220.00",
          "bearish BOS below $61,870.00",
          "bearish BOS below $59,060.00",
          "bearish BOS below $59,714.80"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 58.4,
        "deepest_retracement_pct": 94.8,
        "previous_day_high": 60758.3,
        "previous_day_low": 58850.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 60493.2,
            "low": 59570.0
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.888,\n  \"setup_signals\": [\n    \"현재가 $59,596.20가 EQ $59,804.15 아래에 위치하여 단기 균형선 하방 수용 상태\",\n    \"최근 확정 bearish BOS가 $59,714.80에서 발생했고 현재가가 해당 레벨 아래에 머물고 있음\",\n    \"상위 저항으로 candidate bearish OB $62,272.10-$63,209.60가 존재하여 반등 시 기관 매도 공급 구간으로 작용 가능\",\n    \"현재가가 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 모두 아래에 있어 평균가 기준 하방 압력 우위\",\n    \"London 세션 저점 $59,570.00 부근에서 거래 중이며 이탈 시 전일 저점 $58,850.00 및 7일 저점 $58,030.00 유동성으로 확장 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. BOS/CHoCH 시퀀스가 BOS_bullish 이후 CHoCH_bearish $63,220.00, bearish BOS $61,870.00, $59,060.00, 그리고 최근 bearish BOS $59,714.80로 이어졌고, 현재가 $59,596.20는 최근 BOS 레벨 아래에 있다. 현재 가격은 EQ $59,804.15 아래의 discount 영역이지만, bullish FVG나 active bullish OB가 없고, 오히려 EMA20 $59,985.12와 EMA120 $60,400.96 아래에서 수용되고 있어 매수 반전 근거가 약하다. 단기적으로 $59,570.00 London 저점이 깨지면 $58,850.00 전일 저점과 $58,030.00 7일 저점의 sell-side liquidity를 사냥할 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      59570.0,\n      59060.0,\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      59714.8,\n      59804.15,\n      59985.12,\n      60400.96,\n      60758.3,\n      62272.1,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,758.30\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $59,714.80 최근 bearish BOS 레벨을 회복한 뒤 EQ $59,804.15와 EMA20 $59,985.12 위에서 수용되고, 최종적으로 전일 고점이자 range high인 $60,758.30을 돌파하는 경우다. 이 경우 단기 하방 구조는 실패로 간주되며, $62,272.10-$63,209.60 candidate bearish OB까지 buy-side liquidity를 회수하는 반등이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $59,596.20가 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에서 거래되며 구조적 약세 수용",
        "롱 계정 비율 0.688, 숏 계정 비율 0.312로 롱 계정 쏠림이 강함(account_long_crowding 1.000)",
        "24시간 OI -1.9730% 감소로 신규 매수 유입보다 포지션 언와인딩 우세",
        "CVD 변화 -1854.5840로 가격 반등 시도 대비 매수 체결 강도가 약함",
        "현물-선물 베이시스 -0.0524%로 선물 디스카운트 상태, 파생 수요 약화",
        "하방 청산 유동성 $58,700, $57,500에 근접해 단기 자석 역할 가능"
      ],
      "reasoning": "BTC는 현재 $59,596.20으로 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93을 모두 하회하고 있어 확인된 구조는 약세로 본다. 파생 포지셔닝은 롱 계정 비율 0.688로 여전히 롱 쏠림이 남아 있지만, 24시간 OI가 -1.9730% 감소하고 CVD도 -1854.5840 하락해 롱 포지션의 방어력이 약해지고 있다. 펀딩 압력은 0.426으로 극단적이지 않지만, 베이시스가 -0.0524%로 음수이며 숏 계정이 증가하고 롱 계정이 감소하는 흐름은 단기적으로 $58,700 및 $57,500 유동성 테스트 가능성을 높인다. 다만 $61,000~$61,100 상단 청산 구간을 먼저 회수하고 유지하면 현재의 약세 셋업은 훼손된다.",
      "key_levels": {
        "support": [
          58700,
          58030,
          57500,
          53900
        ],
        "resistance": [
          59985.12,
          60400.96,
          61000,
          61100,
          62300,
          64068
        ]
      },
      "time_horizon": "단기, 약 4-8시간",
      "invalidation_level": "$61,100 상향 돌파 및 1시간 종가 유지",
      "risk_scenario": "$61,000~$61,100 상단 청산 유동성이 먼저 회수되면 숏 커버링이 발생할 수 있으며, 이후 EMA240 $61,374.93 회복 시 $62,300 청산 구간까지 빠르게 반등할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -1854.584,
        "oi_trend": 0.303,
        "oi_change_pct_24h": -1.973,
        "oi_latest": 102188.471,
        "funding_pressure": 0.426,
        "funding_avg": 7.426e-05,
        "funding_change_24h": -1.269e-05,
        "long_account_ratio": 0.685,
        "short_account_ratio": 0.315,
        "long_account_latest": 0.688,
        "short_account_latest": 0.312,
        "long_account_change_24h": -0.0111,
        "short_account_change_24h": 0.0111,
        "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.487,
        "spot_futures_basis_pct": -0.0524,
        "basis_change_lookback": -0.0127,
        "aggregate_score": 0.303,
        "bull_signals": 0,
        "bear_signals": 4,
        "liq_below": [
          [
            58700,
            7167.420972000001
          ],
          [
            57500,
            9556.561296
          ],
          [
            53900,
            11945.701619999998
          ]
        ],
        "liq_above": [
          [
            61000,
            7184.167910849999
          ],
          [
            61100,
            7077.3853482
          ],
          [
            62300,
            9025.626811999999
          ]
        ],
        "strongest_liq_level": 53900,
        "fragility_score": 0.508,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $59,596.20가 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에서 거래되며 구조적 약세 수용\",\n    \"롱 계정 비율 0.688, 숏 계정 비율 0.312로 롱 계정 쏠림이 강함(account_long_crowding 1.000)\",\n    \"24시간 OI -1.9730% 감소로 신규 매수 유입보다 포지션 언와인딩 우세\",\n    \"CVD 변화 -1854.5840로 가격 반등 시도 대비 매수 체결 강도가 약함\",\n    \"현물-선물 베이시스 -0.0524%로 선물 디스카운트 상태, 파생 수요 약화\",\n    \"하방 청산 유동성 $58,700, $57,500에 근접해 단기 자석 역할 가능\"\n  ],\n  \"reasoning\": \"BTC는 현재 $59,596.20으로 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93을 모두 하회하고 있어 확인된 구조는 약세로 본다. 파생 포지셔닝은 롱 계정 비율 0.688로 여전히 롱 쏠림이 남아 있지만, 24시간 OI가 -1.9730% 감소하고 CVD도 -1854.5840 하락해 롱 포지션의 방어력이 약해지고 있다. 펀딩 압력은 0.426으로 극단적이지 않지만, 베이시스가 -0.0524%로 음수이며 숏 계정이 증가하고 롱 계정이 감소하는 흐름은 단기적으로 $58,700 및 $57,500 유동성 테스트 가능성을 높인다. 다만 $61,000~$61,100 상단 청산 구간을 먼저 회수하고 유지하면 현재의 약세 셋업은 훼손된다.\",\n  \"key_levels\": {\n    \"support\": [\n      58700,\n      58030,\n      57500,\n      53900\n    ],\n    \"resistance\": [\n      59985.12,\n      60400.96,\n      61000,\n      61100,\n      62300,\n      64068\n    ]\n  },\n  \"time_horizon\": \"단기, 약 4-8시간\",\n  \"invalidation_level\": \"$61,100 상향 돌파 및 1시간 종가 유지\",\n  \"risk_scenario\": \"$61,000~$61,100 상단 청산 유동성이 먼저 회수되면 숏 커버링이 발생할 수 있으며, 이후 EMA240 $61,374.93 회복 시 $62,300 청산 구간까지 빠르게 반등할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.65,
      "setup_signals": [
        "현재가 $59,596.20가 하락 스윙 $60,758→$58,988의 0.382 되돌림 $59,664.25 바로 아래에서 테스트 중",
        "EQ/0.5 되돌림 $59,873.15 및 골든비율 0.618 $60,082.05가 상단 저항으로 대기",
        "고품질 피보나치 컨플루언스 $59,988.35 부근에 ret_0.5, ret_0.236, ret_0.618이 중첩되어 상방 저항 밀집",
        "현재가가 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에 위치해 반등 신뢰도 제한",
        "fib_reaction_state가 testing이며 reaction_probability 0.65로 현재 구간에서 반응 가능성이 존재"
      ],
      "reasoning": "확인된 피보나치 구조는 $60,758 고점에서 $58,988 저점으로 이어진 하락 스윙이며, 현재가는 $59,596.20로 0.382 되돌림 $59,664.25 바로 아래에 있어 반등이 아직 저항을 돌파하지 못한 상태입니다. 특히 0.5 되돌림 $59,873.15, 컨플루언스 중심 $59,988.35, 골든비율 0.618 $60,082.05가 촘촘한 저항대를 형성해 단기 매도 반응 가능성이 높습니다. 구조적으로는 EMA20 $59,985.12와 EMA120 $60,400.96 아래에 머물러 있어 상승 전환이 확인되지 않았고, $59,405.79 이탈 시 $58,988.00 재시험 가능성이 커집니다. 다만 현재가가 0.236 지지 $59,405.79 위에 있기 때문에 즉각적인 급락보다는 $59,664.25~$60,082.05 저항 확인 후 방향성이 결정될 가능성이 높습니다.",
      "key_levels": {
        "support": [
          59405.79,
          58988.0,
          58506.48,
          58255.1,
          57893.95
        ],
        "resistance": [
          59664.25,
          59873.15,
          59988.35,
          60082.05,
          60379.46
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,082.05",
      "risk_scenario": "반대 시나리오는 가격이 0.382 $59,664.25를 회복한 뒤 0.5 $59,873.15와 골든비율 0.618 $60,082.05 위로 안착하는 경우입니다. 이 경우 하락 되돌림 저항이 무효화되며 $60,379.46의 0.786 되돌림 및 스윙 고점 $60,758 재시험으로 상승 확장이 열릴 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,758 → $58,988",
        "direction": "down",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 59664.25,
        "nearest_fib_distance": 0.11,
        "golden_ratio_level": 60082.05,
        "fib_ret_382": 59664.25,
        "fib_ret_618": 60082.05,
        "confluence_zones": [
          {
            "price": 59988.35,
            "count": 3,
            "levels": [
              "ret_0.5",
              "ret_0.236",
              "ret_0.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 57961.98,
            "count": 2,
            "levels": [
              "ext_1.618",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 58380.79,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59535.02,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59405.7908,
          58988.0,
          58506.4784
        ],
        "resistance_levels": [
          59664.2546,
          59873.15,
          60082.0454
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59405.79,
            "distance_pct": 0.32,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 59664.25,
            "distance_pct": 0.11,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 59873.15,
            "distance_pct": 0.46,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 60082.05,
            "distance_pct": 0.82,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 60379.46,
            "distance_pct": 1.31,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 58988.0,
            "distance_pct": 1.02,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 58506.48,
            "distance_pct": 1.83,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 58255.1,
            "distance_pct": 2.25,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 57893.95,
            "distance_pct": 2.86,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 57217.7,
            "distance_pct": 3.99,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"현재가 $59,596.20가 하락 스윙 $60,758→$58,988의 0.382 되돌림 $59,664.25 바로 아래에서 테스트 중\",\n    \"EQ/0.5 되돌림 $59,873.15 및 골든비율 0.618 $60,082.05가 상단 저항으로 대기\",\n    \"고품질 피보나치 컨플루언스 $59,988.35 부근에 ret_0.5, ret_0.236, ret_0.618이 중첩되어 상방 저항 밀집\",\n    \"현재가가 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에 위치해 반등 신뢰도 제한\",\n    \"fib_reaction_state가 testing이며 reaction_probability 0.65로 현재 구간에서 반응 가능성이 존재\"\n  ],\n  \"reasoning\": \"확인된 피보나치 구조는 $60,758 고점에서 $58,988 저점으로 이어진 하락 스윙이며, 현재가는 $59,596.20로 0.382 되돌림 $59,664.25 바로 아래에 있어 반등이 아직 저항을 돌파하지 못한 상태입니다. 특히 0.5 되돌림 $59,873.15, 컨플루언스 중심 $59,988.35, 골든비율 0.618 $60,082.05가 촘촘한 저항대를 형성해 단기 매도 반응 가능성이 높습니다. 구조적으로는 EMA20 $59,985.12와 EMA120 $60,400.96 아래에 머물러 있어 상승 전환이 확인되지 않았고, $59,405.79 이탈 시 $58,988.00 재시험 가능성이 커집니다. 다만 현재가가 0.236 지지 $59,405.79 위에 있기 때문에 즉각적인 급락보다는 $59,664.25~$60,082.05 저항 확인 후 방향성이 결정될 가능성이 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59405.79,\n      58988.0,\n      58506.48,\n      58255.1,\n      57893.95\n    ],\n    \"resistance\": [\n      59664.25,\n      59873.15,\n      59988.35,\n      60082.05,\n      60379.46\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,082.05\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 0.382 $59,664.25를 회복한 뒤 0.5 $59,873.15와 골든비율 0.618 $60,082.05 위로 안착하는 경우입니다. 이 경우 하락 되돌림 저항이 무효화되며 $60,379.46의 0.786 되돌림 및 스윙 고점 $60,758 재시험으로 상승 확장이 열릴 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.54,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.52,
      "setup_signals": [
        "현재가 $59,596.20이 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에 위치해 단기·중기 매물대 하단 수용 상태",
        "최근 299번 캔들에서 bearish_engulfing 감지, 품질 0.629로 최근 패턴 중 가장 강함",
        "298번 doji 이후 299번 bearish_engulfing이 출현해 단기 반등 실패 및 매도 재개 가능성",
        "7일 범위 EQ $61,049.00 아래의 할인 구간에 있어 추격 숏의 보상비는 낮아졌지만, 아직 $58,030.00 지지 확인 전",
        "고거래량 패턴이 없어 하락 신호의 확증 강도는 제한적"
      ],
      "reasoning": "현재 BTC는 $59,596.20으로 EMA20 $59,985.12보다 0.6%, EMA120 $60,400.96보다 1.3%, EMA240 $61,374.93보다 2.9% 낮아 구조적으로는 매도 우위가 유지됩니다. 최근 패턴은 bullish_engulfing과 bearish_engulfing이 교차하며 bull_score와 bear_score가 각각 2.10으로 균형이지만, 가장 높은 품질의 패턴은 299번 bearish_engulfing 0.629입니다. 특히 298번 doji 이후 bearish_engulfing이 이어진 점은 단기 반등 시도가 실패했음을 시사합니다. 다만 현재 가격은 7일 저점 $58,030.00에 가까운 할인 구간이므로, 하락 추세 신호는 유효하지만 지지권 반발 위험도 함께 존재합니다.",
      "key_levels": {
        "support": [
          58030.0,
          59596.2
        ],
        "resistance": [
          59985.12,
          60400.96,
          61049.0,
          61374.93,
          64068.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,049.00",
      "risk_scenario": "가격이 EMA20 $59,985.12와 EMA120 $60,400.96을 회복한 뒤 7일 범위 EQ $61,049.00 위에 안착하면, 299번 bearish_engulfing은 실패 신호가 되고 $61,374.93 EMA240 및 $64,068.00 7일 고점 방향의 숏커버링 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 7,
        "pattern_list": [
          "bullish_engulfing@291",
          "bearish_engulfing@292",
          "bullish_engulfing@293",
          "bearish_engulfing@299",
          "doji@298",
          "bearish_harami@290",
          "bullish_harami@297"
        ],
        "atr_value": 447.78,
        "vol_avg_20": 9582.69,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.629,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.495,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.466,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.444,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.629,
        "bull_score": 2.1,
        "bear_score": 2.1
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.52,\n  \"setup_signals\": [\n    \"현재가 $59,596.20이 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에 위치해 단기·중기 매물대 하단 수용 상태\",\n    \"최근 299번 캔들에서 bearish_engulfing 감지, 품질 0.629로 최근 패턴 중 가장 강함\",\n    \"298번 doji 이후 299번 bearish_engulfing이 출현해 단기 반등 실패 및 매도 재개 가능성\",\n    \"7일 범위 EQ $61,049.00 아래의 할인 구간에 있어 추격 숏의 보상비는 낮아졌지만, 아직 $58,030.00 지지 확인 전\",\n    \"고거래량 패턴이 없어 하락 신호의 확증 강도는 제한적\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,596.20으로 EMA20 $59,985.12보다 0.6%, EMA120 $60,400.96보다 1.3%, EMA240 $61,374.93보다 2.9% 낮아 구조적으로는 매도 우위가 유지됩니다. 최근 패턴은 bullish_engulfing과 bearish_engulfing이 교차하며 bull_score와 bear_score가 각각 2.10으로 균형이지만, 가장 높은 품질의 패턴은 299번 bearish_engulfing 0.629입니다. 특히 298번 doji 이후 bearish_engulfing이 이어진 점은 단기 반등 시도가 실패했음을 시사합니다. 다만 현재 가격은 7일 저점 $58,030.00에 가까운 할인 구간이므로, 하락 추세 신호는 유효하지만 지지권 반발 위험도 함께 존재합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58030.0,\n      59596.2\n    ],\n    \"resistance\": [\n      59985.12,\n      60400.96,\n      61049.0,\n      61374.93,\n      64068.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,049.00\",\n  \"risk_scenario\": \"가격이 EMA20 $59,985.12와 EMA120 $60,400.96을 회복한 뒤 7일 범위 EQ $61,049.00 위에 안착하면, 299번 bearish_engulfing은 실패 신호가 되고 $61,374.93 EMA240 및 $64,068.00 7일 고점 방향의 숏커버링 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.74,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "활성 재분배 후보 구간에서 UTAD $60,758.30 형성 후 현재가 $59,596.20까지 재진입",
        "현재가 $59,596.20은 활성 범위 저점 $58,030.00 대비 반등했지만, UT/AR 공급대 $60,466.90~$60,758.30 아래에 위치",
        "활성 범위 EQ 약 $59,394.15를 소폭 상회하나, 상단부 수용 실패 후 중단부로 밀린 상태",
        "EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 모두 현재가 위에 있어 단기 반등이 공급에 막히는 구조",
        "이전 분배 구조에서 SOW $59,060.00 및 Phase E 저점 $58,030.00이 이미 확인되어 하방 구조 우위 유지"
      ],
      "reasoning": "지표상 regime은 DIS이며 regime_fitness 0.991, dis_score 99.1로 분배/재분배 해석이 우세합니다. 1차 구조는 BC $63,410.30 → AR $62,836.60 → ST $64,568.00 → UTAD $63,209.60 → SOW $59,060.00 → Phase E $58,030.00까지 완료된 bearish 구조로 확인됩니다. 현재 활성 구조는 $58,030.00 저점 이후 재분배 후보이며, $60,466.90~$60,758.30 상단 공급대에서 UTAD 성격의 상방 실패가 나온 뒤 현재 $59,596.20으로 되밀렸습니다. 구조 편향은 bearish로 확정적이지만, 즉시 경로는 $59,060.00 재시험 여부가 핵심이며, $60,758.30 위로 재수용되기 전까지 반등은 공급 테스트로 보는 것이 적절합니다.",
      "key_levels": {
        "support": [
          59530.7,
          59060.0,
          58388.0,
          58030.0
        ],
        "resistance": [
          59985.12,
          60400.96,
          60466.9,
          60557.8,
          60758.3,
          61870.0,
          62836.6,
          63209.6,
          63410.3,
          64568.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "60758.30",
      "risk_scenario": "$60,758.30 위로 1시간봉 기준 재수용되고 유지되면 최근 UTAD 실패 해석은 약화되며, 가격은 $61,870.00 및 이전 분배 하단 $62,836.60 재시험으로 확장될 수 있습니다. 그 경우 현재의 즉시 bearish setup은 무효화되지만, 더 큰 분배 구조 자체는 $63,209.60~$63,410.30 이상에서 수용 확인이 나오기 전까지 완전히 뒤집혔다고 보기는 어렵습니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 99.1,
        "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",
          "UTAD",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 45,
            "price": 63410.3,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 49,
            "price": 62836.6,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 84,
            "price": 64568.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 136,
            "price": 61870.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 153,
            "price": 63090.9,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 163,
            "price": 63209.6,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 169,
            "price": 59060.0,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 189,
            "price": 58030.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": 45,
            "end_idx": 189,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 45,
                "price": 63410.3,
                "color": "#ffd166",
                "dt": "2026-06-19 22:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 49,
                "price": 62836.6,
                "color": "#06d6a0",
                "dt": "2026-06-20 02:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 84,
                "price": 64568.0,
                "color": "#118ab2",
                "dt": "2026-06-21 13:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 136,
                "price": 61870.0,
                "color": "#ef476f",
                "dt": "2026-06-23 17:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 153,
                "price": 63090.9,
                "color": "#f9844a",
                "dt": "2026-06-24 10:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 163,
                "price": 63209.6,
                "color": "#f9844a",
                "dt": "2026-06-24 20:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 169,
                "price": 59060.0,
                "color": "#ef476f",
                "dt": "2026-06-25 02:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 189,
                "price": 58030.0,
                "color": "#7209b7",
                "dt": "2026-06-25 22: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": 189,
            "end_idx": 284,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 189,
                "price": 58030.0,
                "color": "#ffd166",
                "dt": "2026-06-25 22:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 190,
                "price": 60466.9,
                "color": "#06d6a0",
                "dt": "2026-06-25 23:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 213,
                "price": 58388.0,
                "color": "#118ab2",
                "dt": "2026-06-26 22:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 218,
                "price": 59530.7,
                "color": "#ef476f",
                "dt": "2026-06-27 03:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 231,
                "price": 60557.8,
                "color": "#f9844a",
                "dt": "2026-06-27 16:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 284,
                "price": 60758.3,
                "color": "#f9844a",
                "dt": "2026-06-29 21:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_2",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9908026755852842,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 62836.6,
        "main_range_high": 63410.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.74,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"활성 재분배 후보 구간에서 UTAD $60,758.30 형성 후 현재가 $59,596.20까지 재진입\",\n    \"현재가 $59,596.20은 활성 범위 저점 $58,030.00 대비 반등했지만, UT/AR 공급대 $60,466.90~$60,758.30 아래에 위치\",\n    \"활성 범위 EQ 약 $59,394.15를 소폭 상회하나, 상단부 수용 실패 후 중단부로 밀린 상태\",\n    \"EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 모두 현재가 위에 있어 단기 반등이 공급에 막히는 구조\",\n    \"이전 분배 구조에서 SOW $59,060.00 및 Phase E 저점 $58,030.00이 이미 확인되어 하방 구조 우위 유지\"\n  ],\n  \"reasoning\": \"지표상 regime은 DIS이며 regime_fitness 0.991, dis_score 99.1로 분배/재분배 해석이 우세합니다. 1차 구조는 BC $63,410.30 → AR $62,836.60 → ST $64,568.00 → UTAD $63,209.60 → SOW $59,060.00 → Phase E $58,030.00까지 완료된 bearish 구조로 확인됩니다. 현재 활성 구조는 $58,030.00 저점 이후 재분배 후보이며, $60,466.90~$60,758.30 상단 공급대에서 UTAD 성격의 상방 실패가 나온 뒤 현재 $59,596.20으로 되밀렸습니다. 구조 편향은 bearish로 확정적이지만, 즉시 경로는 $59,060.00 재시험 여부가 핵심이며, $60,758.30 위로 재수용되기 전까지 반등은 공급 테스트로 보는 것이 적절합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59530.7,\n      59060.0,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      59985.12,\n      60400.96,\n      60466.9,\n      60557.8,\n      60758.3,\n      61870.0,\n      62836.6,\n      63209.6,\n      63410.3,\n      64568.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"60758.30\",\n  \"risk_scenario\": \"$60,758.30 위로 1시간봉 기준 재수용되고 유지되면 최근 UTAD 실패 해석은 약화되며, 가격은 $61,870.00 및 이전 분배 하단 $62,836.60 재시험으로 확장될 수 있습니다. 그 경우 현재의 즉시 bearish setup은 무효화되지만, 더 큰 분배 구조 자체는 $63,209.60~$63,410.30 이상에서 수용 확인이 나오기 전까지 완전히 뒤집혔다고 보기는 어렵습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "엄격한 bullish Bat 형성 PRZ가 $59,615.47-$60,093.59에 활성화되어 있으며 D 예상가는 $59,854.53, 점수는 0.963, XAD/BC_EXT/ABCD 3중 Fib 컨플루언스",
        "엄격한 bullish Butterfly 형성 PRZ가 $59,743.46-$60,093.62에 겹쳐 있으며 D 예상가는 $59,918.54, 점수는 0.900, PRZ 폭은 0.584%",
        "현재가 $59,596.20은 핵심 bullish PRZ 하단 $59,615.47 바로 아래이며, 인접 Crab PRZ $59,414.51-$59,809.34 내부/근처에 위치",
        "하방에는 추가 bullish 반응 후보 구간이 $59,305.57-$59,667.60, $59,014.45-$59,460.82, $58,970.37-$59,596.81에 중첩",
        "아직 PRZ 진입 후 명확한 rejection, sweep→reclaim, 15m/1h MSS·CHoCH, CVD divergence 또는 OI squeeze 확인은 없음"
      ],
      "reasoning": "현재 1시간 BTC는 $59,596.20으로, 고품질 strict bullish Bat PRZ $59,615.47-$60,093.59 및 bullish Butterfly PRZ $59,743.46-$60,093.62 바로 아래/내부 반응권에 있다. 두 패턴 모두 XAD, BC extension, AB=CD 3개 Fib family가 모인 high-confluence PRZ이며, Bat 점수 0.963, Butterfly 점수 0.900으로 품질은 높다. 다만 confirmed_reaction_prz_count가 0이고 validated_tp_ladder도 0이므로, 현재 harmonic은 구조 전환 신호가 아니라 선확인 bullish reversal-candidate setup에 불과하다. 구조적으로는 가격이 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에 있어 상방 확인 전까지 중립으로 보며, PRZ 반응이 확인될 경우 TP 후보는 $60,123.18, $60,289.15, $60,557.80 순서가 된다.",
      "key_levels": {
        "support": [
          59615.47,
          59414.51,
          59305.57,
          59014.45,
          58970.37,
          58030.0
        ],
        "resistance": [
          60093.59,
          60123.18,
          60289.15,
          60313.6,
          60557.8,
          60717.48,
          61046.73
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,842.54",
      "risk_scenario": "만약 $59,414-$59,615 PRZ 클러스터에서 반등하지 못하고 $58,842.54 아래로 1시간 종가 이탈이 발생하면 bullish Crab/Bat 하단 컨플루언스가 무효화되며, $58,030 7일 저점 재방문 또는 그 이하 유동성 사냥으로 확장될 수 있다. 반대로 $60,093.59를 회복하고 지지로 전환하면 PRZ 반응 확인 가능성이 커지며 $60,123-$60,313, 이후 $60,557-$60,580이 harmonic TP 영역이 된다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 113,
        "completed_patterns_found": 36,
        "forming_d_prz_found": 77,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 68,
        "swing_highs_scanned": 37,
        "swing_lows_scanned": 31,
        "timeframe": "1h",
        "prz_active_threshold_pct": 0.5,
        "prz_nearby_threshold_pct": 1.0,
        "prz_watch_threshold_pct": 2.0,
        "prz_max_width_pct": 0.9,
        "quality_counts": {
          "high": 8,
          "medium": 50,
          "low": 55
        },
        "prz_status_counts": {
          "active": 30,
          "nearby": 14,
          "watch": 23,
          "far": 46,
          "forming": 40
        },
        "high_confluence_prz_count": 39,
        "strict_patterns_found": 51,
        "candidate_patterns_found": 62,
        "active_patterns_at_prz": 30,
        "nearby_patterns": 14,
        "all_patterns": [
          "bat",
          "bat",
          "bat",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "shark",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "butterfly"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.964,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 59611.93,
        "price_to_prz": 0.03,
        "prz_range": [
          59414.51,
          59809.34
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59854.53,
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_width_pct": 0.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.43,
            "price_to_prz_pct_raw": 0.4335,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4118
            },
            "x_price": 59530.7,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.9,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59918.54,
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5409,
            "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": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.4118
            },
            "x_price": 60074.5,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.899,
            "ratio_score": 0.812,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59966.71,
            "prz_range": [
              59757.23,
              60176.18
            ],
            "prz_width_pct": 0.699,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.6217,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 59966.71,
              "a_price": 60245.0,
              "tp1_ad_382": 60073.01,
              "tp2_ad_618": 60138.69,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4231,
              "ABC": 1.4065
            },
            "x_price": 60648.0,
            "x_idx": 179,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 197,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 230,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.875,
            "ratio_score": 0.711,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59486.59,
            "prz_range": [
              59305.57,
              59667.6
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.18,
            "price_to_prz_pct_raw": -0.1839,
            "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": 59486.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59904.27,
              "tp2_ad_618": 60162.32,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5692,
              "ABC": 0.7053
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 216,
            "a_order": 8,
            "b_price": 59714.8,
            "b_idx": 253,
            "b_order": 8,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.849,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60833.81,
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_width_pct": 0.7,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.08,
            "price_to_prz_pct_raw": 2.0767,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60833.81,
              "a_price": 59530.7,
              "tp1_ad_382": 60336.02,
              "tp2_ad_618": 60028.49,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5953,
              "ABC": 0.7185
            },
            "x_price": 61256.0,
            "x_idx": 174,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 231,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.845,
            "ratio_score": 0.803,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60538.51,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.58,
            "price_to_prz_pct_raw": 1.5812,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651
            },
            "x_price": 60734.0,
            "x_idx": 207,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.806,
            "ratio_score": 0.571,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59237.63,
            "prz_range": [
              59014.45,
              59460.82
            ],
            "prz_width_pct": 0.754,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.6,
            "price_to_prz_pct_raw": -0.6017,
            "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": 59237.63,
              "a_price": 60580.0,
              "tp1_ad_382": 59750.42,
              "tp2_ad_618": 60067.22,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6903,
              "ABC": 0.7468
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 216,
            "a_order": 8,
            "b_price": 59530.7,
            "b_idx": 218,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.964,
            "ratio_score": 0.999,
            "prz_score": 0.959,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59283.59,
            "prz_range": [
              58970.37,
              59596.81
            ],
            "prz_width_pct": 1.057,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.52,
            "price_to_prz_pct_raw": -0.5245,
            "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": 59283.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59778.82,
              "tp2_ad_618": 60084.77,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5001,
              "ABC": 0.6646
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 216,
            "a_order": 8,
            "b_price": 59819.8,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59854.53,
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_width_pct": 0.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.43,
            "price_to_prz_pct_raw": 0.4335,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4118
            },
            "x_price": 59530.7,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.9,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59918.54,
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5409,
            "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": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.4118
            },
            "x_price": 60074.5,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59854.53,
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_width_pct": 0.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.43,
            "price_to_prz_pct_raw": 0.4335,
            "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": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.4118
            },
            "x_price": 59530.7,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.9,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59918.54,
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5409,
            "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": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.4118
            },
            "x_price": 60074.5,
            "x_idx": 230,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.899,
            "ratio_score": 0.812,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59966.71,
            "prz_range": [
              59757.23,
              60176.18
            ],
            "prz_width_pct": 0.699,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.6217,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 59966.71,
              "a_price": 60245.0,
              "tp1_ad_382": 60073.01,
              "tp2_ad_618": 60138.69,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4231,
              "ABC": 1.4065
            },
            "x_price": 60648.0,
            "x_idx": 179,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 197,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 230,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.875,
            "ratio_score": 0.711,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59486.59,
            "prz_range": [
              59305.57,
              59667.6
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.18,
            "price_to_prz_pct_raw": -0.1839,
            "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": 59486.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59904.27,
              "tp2_ad_618": 60162.32,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5692,
              "ABC": 0.7053
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 216,
            "a_order": 8,
            "b_price": 59714.8,
            "b_idx": 253,
            "b_order": 8,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.849,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60833.81,
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_width_pct": 0.7,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.08,
            "price_to_prz_pct_raw": 2.0767,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60833.81,
              "a_price": 59530.7,
              "tp1_ad_382": 60336.02,
              "tp2_ad_618": 60028.49,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5953,
              "ABC": 0.7185
            },
            "x_price": 61256.0,
            "x_idx": 174,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 231,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.845,
            "ratio_score": 0.803,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60538.51,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.58,
            "price_to_prz_pct_raw": 1.5812,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651
            },
            "x_price": 60734.0,
            "x_idx": 207,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 218,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.806,
            "ratio_score": 0.571,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59237.63,
            "prz_range": [
              59014.45,
              59460.82
            ],
            "prz_width_pct": 0.754,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.6,
            "price_to_prz_pct_raw": -0.6017,
            "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": 59237.63,
              "a_price": 60580.0,
              "tp1_ad_382": 59750.42,
              "tp2_ad_618": 60067.22,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6903,
              "ABC": 0.7468
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 216,
            "a_order": 8,
            "b_price": 59530.7,
            "b_idx": 218,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.964,
            "ratio_score": 0.999,
            "prz_score": 0.959,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59283.59,
            "prz_range": [
              58970.37,
              59596.81
            ],
            "prz_width_pct": 1.057,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.52,
            "price_to_prz_pct_raw": -0.5245,
            "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": 59283.59,
              "a_price": 60580.0,
              "tp1_ad_382": 59778.82,
              "tp2_ad_618": 60084.77,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5001,
              "ABC": 0.6646
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60580.0,
            "a_idx": 216,
            "a_order": 8,
            "b_price": 59819.8,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.95,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59567.32,
            "prz_range": [
              59218.67,
              59915.97
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.05,
            "price_to_prz_pct_raw": -0.0485,
            "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": 59567.32,
              "a_price": 60734.0,
              "tp1_ad_382": 60012.99,
              "tp2_ad_618": 60288.33,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7108
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 207,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 230,
            "b_order": 3,
            "c_price": 60543.3,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.929,
            "ratio_score": 1.0,
            "prz_score": 0.937,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59180.95,
            "prz_range": [
              58842.54,
              59519.36
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.7,
            "price_to_prz_pct_raw": -0.6968,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59180.95,
              "a_price": 60557.8,
              "tp1_ad_382": 59706.91,
              "tp2_ad_618": 60031.84,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7044
            },
            "x_price": 59530.7,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 231,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 59883.2,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.925,
            "ratio_score": 1.0,
            "prz_score": 0.915,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59007.44,
            "prz_range": [
              58645.32,
              59369.56
            ],
            "prz_width_pct": 1.227,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.99,
            "price_to_prz_pct_raw": -0.9879,
            "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": 59007.44,
              "a_price": 60924.7,
              "tp1_ad_382": 59739.83,
              "tp2_ad_618": 60192.31,
              "tp3_a_or_structure_liquidity": 60924.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.5043
            },
            "x_price": 58388.0,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60924.7,
            "a_idx": 239,
            "a_order": 8,
            "b_price": 59714.8,
            "b_idx": 253,
            "b_order": 8,
            "c_price": 60325.0,
            "c_idx": 278,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.906,
            "ratio_score": 0.912,
            "prz_score": 0.893,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59262.99,
            "prz_range": [
              58873.95,
              59652.03
            ],
            "prz_width_pct": 1.313,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5591,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 59262.99,
              "a_price": 60245.0,
              "tp1_ad_382": 59638.12,
              "tp2_ad_618": 59869.87,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6028,
              "ABC": 1.097
            },
            "x_price": 59060.0,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 60245.0,
            "a_idx": 197,
            "a_order": 5,
            "b_price": 59530.7,
            "b_idx": 218,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 250,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "prz_proximity": "active",
            "prz_range": [
              59615.47,
              60093.59
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.43,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59854.53,
              "a_price": 60557.8,
              "tp1_ad_382": 60123.18,
              "tp2_ad_618": 60289.15,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,615.47-$60,093.59: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.9,
            "prz_proximity": "active",
            "prz_range": [
              59743.46,
              60093.62
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.54,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59918.54,
              "a_price": 60557.8,
              "tp1_ad_382": 60162.74,
              "tp2_ad_618": 60313.6,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,743.46-$60,093.62: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.963,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59854.53,
          "prz_range": [
            59615.47,
            60093.59
          ],
          "prz_width_pct": 0.799,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.43,
          "price_to_prz_pct_raw": 0.4335,
          "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": 59854.53,
            "a_price": 60557.8,
            "tp1_ad_382": 60123.18,
            "tp2_ad_618": 60289.15,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.3854,
            "ABC": 0.4118
          },
          "x_price": 59530.7,
          "x_idx": 218,
          "x_order": 3,
          "a_price": 60557.8,
          "a_idx": 231,
          "a_order": 5,
          "b_price": 60162.0,
          "b_idx": 235,
          "b_order": 3,
          "c_price": 60325.0,
          "c_idx": 278,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59854.53,
          "a_price": 60557.8,
          "tp1_ad_382": 60123.18,
          "tp2_ad_618": 60289.15,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59854.53,
            "a_price": 60557.8,
            "tp1_ad_382": 60123.18,
            "tp2_ad_618": 60289.15,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59918.54,
            "a_price": 60557.8,
            "tp1_ad_382": 60162.74,
            "tp2_ad_618": 60313.6,
            "tp3_a_or_structure_liquidity": 60557.8,
            "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.394,
          "bearish": 0
        },
        "directional_score_total": 0.394,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"엄격한 bullish Bat 형성 PRZ가 $59,615.47-$60,093.59에 활성화되어 있으며 D 예상가는 $59,854.53, 점수는 0.963, XAD/BC_EXT/ABCD 3중 Fib 컨플루언스\",\n    \"엄격한 bullish Butterfly 형성 PRZ가 $59,743.46-$60,093.62에 겹쳐 있으며 D 예상가는 $59,918.54, 점수는 0.900, PRZ 폭은 0.584%\",\n    \"현재가 $59,596.20은 핵심 bullish PRZ 하단 $59,615.47 바로 아래이며, 인접 Crab PRZ $59,414.51-$59,809.34 내부/근처에 위치\",\n    \"하방에는 추가 bullish 반응 후보 구간이 $59,305.57-$59,667.60, $59,014.45-$59,460.82, $58,970.37-$59,596.81에 중첩\",\n    \"아직 PRZ 진입 후 명확한 rejection, sweep→reclaim, 15m/1h MSS·CHoCH, CVD divergence 또는 OI squeeze 확인은 없음\"\n  ],\n  \"reasoning\": \"현재 1시간 BTC는 $59,596.20으로, 고품질 strict bullish Bat PRZ $59,615.47-$60,093.59 및 bullish Butterfly PRZ $59,743.46-$60,093.62 바로 아래/내부 반응권에 있다. 두 패턴 모두 XAD, BC extension, AB=CD 3개 Fib family가 모인 high-confluence PRZ이며, Bat 점수 0.963, Butterfly 점수 0.900으로 품질은 높다. 다만 confirmed_reaction_prz_count가 0이고 validated_tp_ladder도 0이므로, 현재 harmonic은 구조 전환 신호가 아니라 선확인 bullish reversal-candidate setup에 불과하다. 구조적으로는 가격이 EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 아래에 있어 상방 확인 전까지 중립으로 보며, PRZ 반응이 확인될 경우 TP 후보는 $60,123.18, $60,289.15, $60,557.80 순서가 된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59615.47,\n      59414.51,\n      59305.57,\n      59014.45,\n      58970.37,\n      58030.0\n    ],\n    \"resistance\": [\n      60093.59,\n      60123.18,\n      60289.15,\n      60313.6,\n      60557.8,\n      60717.48,\n      61046.73\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,842.54\",\n  \"risk_scenario\": \"만약 $59,414-$59,615 PRZ 클러스터에서 반등하지 못하고 $58,842.54 아래로 1시간 종가 이탈이 발생하면 bullish Crab/Bat 하단 컨플루언스가 무효화되며, $58,030 7일 저점 재방문 또는 그 이하 유동성 사냥으로 확장될 수 있다. 반대로 $60,093.59를 회복하고 지지로 전환하면 PRZ 반응 확인 가능성이 커지며 $60,123-$60,313, 이후 $60,557-$60,580이 harmonic TP 영역이 된다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.76,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "현재가 $59,596.20가 ICT 단기 EQ $59,804.15 아래에 있어 균형선 하방 수용 상태",
        "최근 확정 bearish BOS 레벨 $59,714.80 아래에서 거래되어 1시간 구조 회복 실패 상태",
        "EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 모두 하회하여 단기·중기 추세 저항이 가격 위에 위치",
        "피보나치 하락 스윙 $60,758.30→$58,988.00의 0.382 되돌림 $59,664.25 아래에서 반등이 제한됨",
        "고밀도 저항 클러스터 $59,873.15~$60,093.62에 피보나치 0.5·0.618, EMA20, 하모닉 PRZ가 중첩",
        "Wyckoff상 활성 재분배 후보 구조에서 UTAD $60,758.30 이후 가격이 중단부 $59,596.20으로 재진입",
        "파생 포지셔닝은 롱 계정 비율 0.688로 롱 쏠림이 남아 있고, 24시간 OI -1.9730% 및 CVD -1854.5840로 방어 매수 약화"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 약세와 정렬되어 있다. 다만 하모닉은 $59,615.47~$60,093.62에 미확인 bullish PRZ를 제시하므로, 즉시 추격보다는 해당 반응권에서의 실패·수용 여부가 단기 실행 리스크다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 5,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        59570.0,
        59530.7,
        59405.79,
        59060.0,
        58988.0,
        58850.0,
        58388.0,
        58030.0,
        57500.0
      ],
      "resistance": [
        59714.8,
        59804.15,
        59985.12,
        60082.05,
        60400.96,
        60466.9,
        60758.3,
        61000.0,
        61100.0,
        61870.0,
        62272.1,
        63209.6
      ]
    },
    "confluences": [
      "ICT와 Wyckoff가 모두 $59,060.00을 핵심 구조 레벨로 제시한다. ICT에서는 이전 bearish BOS 레벨이고, Wyckoff에서는 prior SOW 저점으로 해석된다.",
      "ICT, Wyckoff, Candlestick, Derivatives가 모두 $58,030.00 부근을 주요 하단 구조 지지 또는 유동성 기준점으로 본다.",
      "ICT, Derivatives, Fibonacci, Candlestick, Wyckoff가 모두 EMA20 $59,985.12 부근을 단기 상방 저항으로 공유한다.",
      "Derivatives, ICT, Candlestick, Wyckoff가 EMA120 $60,400.96을 중기 구조 저항으로 제시하며, 현재가가 그 아래에 머물러 있다는 점에 동의한다.",
      "Fibonacci의 핵심 저항 클러스터 $59,873.15~$60,082.05와 ICT의 EQ $59,804.15, EMA20 $59,985.12가 같은 가격대에 밀집해 있다.",
      "Wyckoff의 활성 UTAD $60,758.30과 ICT의 range high $60,758.30이 동일해, 해당 가격은 현재 1시간 구조의 상단 실패 기준으로 강한 의미를 가진다.",
      "Derivatives의 상단 청산·저항 구간 $61,000~$61,100은 Harmonic의 watch-only bearish PRZ $60,620.89~$61,046.73과 겹쳐 상방 회복 시에도 공급 테스트 구간으로 작용할 수 있다."
    ],
    "conflicts": [
      "Harmonic Specialist는 $59,615.47~$60,093.62에 strict bullish Bat·Butterfly PRZ를 제시하지만, 반응 확인이 없고 구조 엔진이 아니므로 전체 bearish 구조를 뒤집지는 못한다.",
      "Fibonacci는 $59,405.79 위에 있는 한 즉각적인 하방 붕괴보다 저항 확인 국면을 강조하지만, ICT·Wyckoff·Derivatives는 이미 구조적 약세 수용을 더 강하게 본다.",
      "Candlestick은 bearish_engulfing 품질 0.629를 제시하지만 최근 bullish/bearish 패턴 점수가 균형이어서, 단독 신호로는 ICT·Wyckoff보다 확신도가 낮다.",
      "현재 가격은 discount 영역 및 하모닉 bullish PRZ 인근에 있어 단기 반등 조건이 존재하지만, 상위 구조는 여전히 분배·재분배형 약세로 판정된다."
    ],
    "executive_summary": "BTC/USDT 1시간 구조는 prior distribution이 $58,030.00 Phase E 저점까지 진행된 뒤, 현재는 $58,030.00 저점 이후 형성된 재분배 후보 구조 안에 있는 것으로 진단된다. 활성 구조에서는 AR $60,466.90, UT $60,557.80, UTAD $60,758.30 이후 가격이 $59,596.20까지 되밀려 상단부 수용 실패가 확인된 상태이며, ICT도 최근 bearish BOS $59,714.80 아래 수용을 근거로 구조 약세를 지지한다. 핵심 구조 저항은 $59,804.15~$60,093.62와 $60,400.96~$60,758.30에 밀집해 있고, 구조 지지 및 유동성 기준은 $59,060.00, $58,850.00, $58,030.00이다. 단기 리스크는 $59,615.47~$60,093.62의 미확인 bullish 하모닉 PRZ에서 반등 반응이 나올 수 있다는 점이지만, 아직 MSS·CHoCH나 파생 확인이 없어 구조 전환 신호로 보기는 어렵다. 현재 bearish 구조 판단은 $60,758.30 재수용 시 약화되고, $61,870.00 상회 시 더 큰 구조 무효화 위험이 발생한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.76,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"현재가 $59,596.20가 ICT 단기 EQ $59,804.15 아래에 있어 균형선 하방 수용 상태\",\n      \"최근 확정 bearish BOS 레벨 $59,714.80 아래에서 거래되어 1시간 구조 회복 실패 상태\",\n      \"EMA20 $59,985.12, EMA120 $60,400.96, EMA240 $61,374.93 모두 하회하여 단기·중기 추세 저항이 가격 위에 위치\",\n      \"피보나치 하락 스윙 $60,758.30→$58,988.00의 0.382 되돌림 $59,664.25 아래에서 반등이 제한됨\",\n      \"고밀도 저항 클러스터 $59,873.15~$60,093.62에 피보나치 0.5·0.618, EMA20, 하모닉 PRZ가 중첩\",\n      \"Wyckoff상 활성 재분배 후보 구조에서 UTAD $60,758.30 이후 가격이 중단부 $59,596.20으로 재진입\",\n      \"파생 포지셔닝은 롱 계정 비율 0.688로 롱 쏠림이 남아 있고, 24시간 OI -1.9730% 및 CVD -1854.5840로 방어 매수 약화\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 약세와 정렬되어 있다. 다만 하모닉은 $59,615.47~$60,093.62에 미확인 bullish PRZ를 제시하므로, 즉시 추격보다는 해당 반응권에서의 실패·수용 여부가 단기 실행 리스크다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 5,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      59570.0,\n      59530.7,\n      59405.79,\n      59060.0,\n      58988.0,\n      58850.0,\n      58388.0,\n      58030.0,\n      57500.0\n    ],\n    \"resistance\": [\n      59714.8,\n      59804.15,\n      59985.12,\n      60082.05,\n      60400.96,\n      60466.9,\n      60758.3,\n      61000.0,\n      61100.0,\n      61870.0,\n      62272.1,\n      63209.6\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Wyckoff가 모두 $59,060.00을 핵심 구조 레벨로 제시한다. ICT에서는 이전 bearish BOS 레벨이고, Wyckoff에서는 prior SOW 저점으로 해석된다.\",\n    \"ICT, Wyckoff, Candlestick, Derivatives가 모두 $58,030.00 부근을 주요 하단 구조 지지 또는 유동성 기준점으로 본다.\",\n    \"ICT, Derivatives, Fibonacci, Candlestick, Wyckoff가 모두 EMA20 $59,985.12 부근을 단기 상방 저항으로 공유한다.\",\n    \"Derivatives, ICT, Candlestick, Wyckoff가 EMA120 $60,400.96을 중기 구조 저항으로 제시하며, 현재가가 그 아래에 머물러 있다는 점에 동의한다.\",\n    \"Fibonacci의 핵심 저항 클러스터 $59,873.15~$60,082.05와 ICT의 EQ $59,804.15, EMA20 $59,985.12가 같은 가격대에 밀집해 있다.\",\n    \"Wyckoff의 활성 UTAD $60,758.30과 ICT의 range high $60,758.30이 동일해, 해당 가격은 현재 1시간 구조의 상단 실패 기준으로 강한 의미를 가진다.\",\n    \"Derivatives의 상단 청산·저항 구간 $61,000~$61,100은 Harmonic의 watch-only bearish PRZ $60,620.89~$61,046.73과 겹쳐 상방 회복 시에도 공급 테스트 구간으로 작용할 수 있다.\"\n  ],\n  \"conflicts\": [\n    \"Harmonic Specialist는 $59,615.47~$60,093.62에 strict bullish Bat·Butterfly PRZ를 제시하지만, 반응 확인이 없고 구조 엔진이 아니므로 전체 bearish 구조를 뒤집지는 못한다.\",\n    \"Fibonacci는 $59,405.79 위에 있는 한 즉각적인 하방 붕괴보다 저항 확인 국면을 강조하지만, ICT·Wyckoff·Derivatives는 이미 구조적 약세 수용을 더 강하게 본다.\",\n    \"Candlestick은 bearish_engulfing 품질 0.629를 제시하지만 최근 bullish/bearish 패턴 점수가 균형이어서, 단독 신호로는 ICT·Wyckoff보다 확신도가 낮다.\",\n    \"현재 가격은 discount 영역 및 하모닉 bullish PRZ 인근에 있어 단기 반등 조건이 존재하지만, 상위 구조는 여전히 분배·재분배형 약세로 판정된다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 최근 확정 bearish BOS $59,714.80, EQ $59,804.15 하방 수용, EMA20 $59,985.12 및 EMA120 $60,400.96 하회, 그리고 $59,570.00·$58,850.00·$58,030.00의 하단 유동성 레벨을 모두 정밀하게 제시해 구조·레벨·실행 조건의 일관성이 가장 높다. Wyckoff의 분배/재분배 해석도 이 ICT 구조 진단을 강하게 보강한다.\",\n  \"invalidation_level\": \"$60,758.30 위 1시간 종가 재수용 시 현재 활성 재분배 약세 구조가 훼손된다. 더 보수적으로는 $61,870.00 상회 시 bearish BOS 체계 자체의 무효화 위험이 커진다.\",\n  \"executive_summary\": \"BTC/USDT 1시간 구조는 prior distribution이 $58,030.00 Phase E 저점까지 진행된 뒤, 현재는 $58,030.00 저점 이후 형성된 재분배 후보 구조 안에 있는 것으로 진단된다. 활성 구조에서는 AR $60,466.90, UT $60,557.80, UTAD $60,758.30 이후 가격이 $59,596.20까지 되밀려 상단부 수용 실패가 확인된 상태이며, ICT도 최근 bearish BOS $59,714.80 아래 수용을 근거로 구조 약세를 지지한다. 핵심 구조 저항은 $59,804.15~$60,093.62와 $60,400.96~$60,758.30에 밀집해 있고, 구조 지지 및 유동성 기준은 $59,060.00, $58,850.00, $58,030.00이다. 단기 리스크는 $59,615.47~$60,093.62의 미확인 bullish 하모닉 PRZ에서 반등 반응이 나올 수 있다는 점이지만, 아직 MSS·CHoCH나 파생 확인이 없어 구조 전환 신호로 보기는 어렵다. 현재 bearish 구조 판단은 $60,758.30 재수용 시 약화되고, $61,870.00 상회 시 더 큰 구조 무효화 위험이 발생한다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.76,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 59988.35,
        "type": "resistance_test",
        "source": "fibonacci (strict confluence 0.85), harmonic (Bat 0.963 / Butterfly 0.900 PRZ $59,615.47-$60,093.62), ict (EQ $59,804.15 / EMA20 $59,985.12), derivatives (EMA20)",
        "description": "현재가 $59,596.20 바로 위 고밀도 공급대 테스트. 피보나치 0.5 $59,873.15·0.618 $60,082.05, EMA20 $59,985.12, 하모닉 미확인 bullish PRZ가 $59,873~$60,093에 중첩. 롱 쏠림(account_long 0.688) 되돌림성 반등이 이 구간을 시험할 수 있으나, confirmed_reaction_prz=0이고 EMA20/120 아래 수용·bearish_engulfing(0.629) 상태라 재수용 실패(공급 테스트)로 끝날 가능성이 높다. setup 레이어가 지목한 '즉시 추격 금지·반응권 실패 확인' 구간.",
        "est_hours": 3,
        "turning_zone": [
          59988.35,
          60093.0
        ],
        "likely_wick": 60082.05,
        "rejection_confirm": 59535.02,
        "invalid_overshoot": 60200.0,
        "calibration_reasoning": "컨플루언스 $59,988.35·EMA20 $59,985.12·피보 0.618 $60,082.05와 PRZ 상단 $60,093이 만든 조밀한 저항 클러스터로 존 경계를 잡음. bat/butterfly PRZ는 PRE_CONFIRMATION이라 위로 확장하지 않고 컨디셔널 TP 사다리($60,123+)도 앵커에서 제외해 폭이 ~0.23 ATR로 좁음. $60,000 라운드넘버 자력으로 likely_wick을 0.618과 겹치는 $60,082로 상향 편향했고, 하락 전환은 $59,535(피보 컨플루언스·체어맨 $59,530.7) 이탈로 확인."
      },
      {
        "seq": 2,
        "price": 59060.0,
        "type": "support_test",
        "source": "ict (이전 bearish BOS $59,060), wyckoff (prior SOW 저점), chairman confluence",
        "description": "공급대 거부 후 London 저점 $59,570·구조 저점 $59,530.70 이탈을 거쳐 도달하는 첫 핵심 하방 구조 레벨. ICT 이전 bearish BOS이자 Wyckoff prior SOW 저점으로 다중 엔진이 공유하는 구조 지지선이며, 수용 이탈 시 하방 가속 트리거.",
        "est_hours": 10,
        "turning_zone": [
          58940.0,
          59060.0
        ],
        "likely_wick": 58988.0,
        "rejection_confirm": 59405.79,
        "invalid_overshoot": 58850.0,
        "calibration_reasoning": "$59,060 구조 지지 바로 아래의 스윙 저점·피보 $58,988이 만든 조밀한 지지 클러스터가 존을 규정(폭 ~0.27 ATR). $59,000 라운드넘버를 스윕하며 스윙 저점 $58,988까지 일시 이탈하는 것이 likely_wick. 반등 확인은 $59,405.79(피보·체어맨) 재탈환, $58,850(체어맨 지지) 이탈 시 수용 실패로 WP3 가속이라 invalid로 설정."
      },
      {
        "seq": 3,
        "price": 58030.0,
        "type": "liquidity_sweep",
        "source": "ict (7일 저점 sell-side liquidity), wyckoff (Phase E 저점/활성 범위 저점), derivatives, candlestick",
        "description": "ICT·Wyckoff·Derivatives·Candlestick이 공통 지목한 활성 범위 저점이자 7일 저점, 분배/재분배 구조의 sell-side 유동성 목표. 중간 지지 $58,850(전일 저점)·$58,388을 거쳐 유동성 사냥. 스윕 시 $57,962(피보 컨플루언스)까지 일시 오버슈트 가능.",
        "est_hours": 22,
        "turning_zone": [
          57790.0,
          58030.0
        ],
        "likely_wick": 57961.98,
        "rejection_confirm": 58388.0,
        "invalid_overshoot": 57500.0,
        "calibration_reasoning": "셀사이드(하방) 유동성 스윕이므로 경로 맥락의 오버슈트($57,962)에 맞춰 존을 base 아래로 확장. ext_1.618/1.0 컨플루언스 $57,961.98이 핵심 오버슈트 앵커이자 $58,000 라운드넘버 직하단 스윕 지점이라 likely_wick으로 채택. 터미널 기준 폭을 ~0.54 ATR로 넓혀 $57,790까지 깊은 플러시를 허용했고, 반전 확인은 상실 구조 $58,388 재탈환·$57,500(체어맨) 이탈 시 스윕 실패로 invalid."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 59988.35,
        "expected_low": 59530.7,
        "high_first": false
      },
      "8h": {
        "expected_high": 59988.35,
        "expected_low": 59060.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 60082.05,
        "expected_low": 57961.98,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60400.96,
        "description": "EMA120 $60,400.96 재돌파·수용 시 단순 공급 테스트를 넘어선 반등으로, $60,758.30(UTAD/range high) 재수용으로 이어지면 약세 경로 약화."
      },
      "bearish": {
        "price": 59530.7,
        "description": "London 저점 $59,570·구조 저점 $59,530.70 단순 wick이 아닌 수용 이탈 시 $59,060 → $58,030 sell-side 유동성으로 하방 가속 확정."
      }
    },
    "scenario_invalidation": 60758.3,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59988.35,\n      \"type\": \"resistance_test\",\n      \"source\": \"fibonacci (strict confluence 0.85), harmonic (Bat 0.963 / Butterfly 0.900 PRZ $59,615.47-$60,093.62), ict (EQ $59,804.15 / EMA20 $59,985.12), derivatives (EMA20)\",\n      \"description\": \"현재가 $59,596.20 바로 위 고밀도 공급대 테스트. 피보나치 0.5 $59,873.15·0.618 $60,082.05, EMA20 $59,985.12, 하모닉 미확인 bullish PRZ가 $59,873~$60,093에 중첩. 롱 쏠림(account_long 0.688) 되돌림성 반등이 이 구간을 시험할 수 있으나, confirmed_reaction_prz=0이고 EMA20/120 아래 수용·bearish_engulfing(0.629) 상태라 재수용 실패(공급 테스트)로 끝날 가능성이 높다. setup 레이어가 지목한 '즉시 추격 금지·반응권 실패 확인' 구간.\",\n      \"est_hours\": 3\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59060.00,\n      \"type\": \"support_test\",\n      \"source\": \"ict (이전 bearish BOS $59,060), wyckoff (prior SOW 저점), chairman confluence\",\n      \"description\": \"공급대 거부 후 London 저점 $59,570·구조 저점 $59,530.70 이탈을 거쳐 도달하는 첫 핵심 하방 구조 레벨. ICT 이전 bearish BOS이자 Wyckoff prior SOW 저점으로 다중 엔진이 공유하는 구조 지지선이며, 수용 이탈 시 하방 가속 트리거.\",\n      \"est_hours\": 10\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58030.00,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ict (7일 저점 sell-side liquidity), wyckoff (Phase E 저점/활성 범위 저점), derivatives, candlestick\",\n      \"description\": \"ICT·Wyckoff·Derivatives·Candlestick이 공통 지목한 활성 범위 저점이자 7일 저점, 분배/재분배 구조의 sell-side 유동성 목표. 중간 지지 $58,850(전일 저점)·$58,388을 거쳐 유동성 사냥. 스윕 시 $57,962(피보 컨플루언스)까지 일시 오버슈트 가능.\",\n      \"est_hours\": 22\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 59988.35, \"expected_low\": 59530.70, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 59988.35, \"expected_low\": 59060.00, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60082.05, \"expected_low\": 57961.98, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60400.96, \"description\": \"EMA120 $60,400.96 재돌파·수용 시 단순 공급 테스트를 넘어선 반등으로, $60,758.30(UTAD/range high) 재수용으로 이어지면 약세 경로 약화.\"},\n    \"bearish\": {\"price\": 59530.70, \"description\": \"London 저점 $59,570·구조 저점 $59,530.70 단순 wick이 아닌 수용 이탈 시 $59,060 → $58,030 sell-side 유동성으로 하방 가속 확정.\"}\n  },\n  \"scenario_invalidation\": 60758.30\n}\n```\n\n**경로 요약 (한국어):** 구조(BEARISH 76%)와 실행 셋업(BEARISH 74%)이 방향에서 일치하므로 하방이 주된 흐름이다. 다만 현재가가 하모닉 미확인 bullish PRZ 하단($59,615.47)에 붙어 있고 setup 레이어가 \"즉시 추격보다 반응권 실패 확인\"을 명시했기에, **WP1은 공급대 반등 테스트($59,988.35, 유일한 strict 후보)** → **WP2 구조 지지 이탈($59,060)** → **WP3 sell-side 유동성 사냥($58,030)** 순의 complex 경로로 설정했다.\n\n핵심 리스크 두 가지: (1) WP1 반등이 $60,400.96(EMA120)을 수용 돌파하면 경로 자체가 약화되고 $60,758.30 재수용 시 무효화, (2) 24h $58,030 도달은 강세 시나리오 기준이라 중간 지지($58,850/$58,388)에서 감속 가능성이 있어 confidence를 0.62로 제한했다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59988.35,
        "turning_zone": [
          59988.35,
          60093.0
        ],
        "likely_wick": 60082.05,
        "rejection_confirm": 59535.02,
        "invalid_overshoot": 60200.0,
        "calibration_reasoning": "컨플루언스 $59,988.35·EMA20 $59,985.12·피보 0.618 $60,082.05와 PRZ 상단 $60,093이 만든 조밀한 저항 클러스터로 존 경계를 잡음. bat/butterfly PRZ는 PRE_CONFIRMATION이라 위로 확장하지 않고 컨디셔널 TP 사다리($60,123+)도 앵커에서 제외해 폭이 ~0.23 ATR로 좁음. $60,000 라운드넘버 자력으로 likely_wick을 0.618과 겹치는 $60,082로 상향 편향했고, 하락 전환은 $59,535(피보 컨플루언스·체어맨 $59,530.7) 이탈로 확인."
      },
      {
        "seq": 2,
        "base_target": 59060.0,
        "turning_zone": [
          58940.0,
          59060.0
        ],
        "likely_wick": 58988.0,
        "rejection_confirm": 59405.79,
        "invalid_overshoot": 58850.0,
        "calibration_reasoning": "$59,060 구조 지지 바로 아래의 스윙 저점·피보 $58,988이 만든 조밀한 지지 클러스터가 존을 규정(폭 ~0.27 ATR). $59,000 라운드넘버를 스윕하며 스윙 저점 $58,988까지 일시 이탈하는 것이 likely_wick. 반등 확인은 $59,405.79(피보·체어맨) 재탈환, $58,850(체어맨 지지) 이탈 시 수용 실패로 WP3 가속이라 invalid로 설정."
      },
      {
        "seq": 3,
        "base_target": 58030.0,
        "turning_zone": [
          57790.0,
          58030.0
        ],
        "likely_wick": 57961.98,
        "rejection_confirm": 58388.0,
        "invalid_overshoot": 57500.0,
        "calibration_reasoning": "셀사이드(하방) 유동성 스윕이므로 경로 맥락의 오버슈트($57,962)에 맞춰 존을 base 아래로 확장. ext_1.618/1.0 컨플루언스 $57,961.98이 핵심 오버슈트 앵커이자 $58,000 라운드넘버 직하단 스윕 지점이라 likely_wick으로 채택. 터미널 기준 폭을 ~0.54 ATR로 넓혀 $57,790까지 깊은 플러시를 허용했고, 반전 확인은 상실 구조 $58,388 재탈환·$57,500(체어맨) 이탈 시 스윕 실패로 invalid."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59988.35,\n      \"turning_zone\": [59988.35, 60093.00],\n      \"likely_wick\": 60082.05,\n      \"rejection_confirm\": 59535.02,\n      \"invalid_overshoot\": 60200.00,\n      \"calibration_reasoning\": \"컨플루언스 $59,988.35·EMA20 $59,985.12·피보 0.618 $60,082.05와 PRZ 상단 $60,093이 만든 조밀한 저항 클러스터로 존 경계를 잡음. bat/butterfly PRZ는 PRE_CONFIRMATION이라 위로 확장하지 않고 컨디셔널 TP 사다리($60,123+)도 앵커에서 제외해 폭이 ~0.23 ATR로 좁음. $60,000 라운드넘버 자력으로 likely_wick을 0.618과 겹치는 $60,082로 상향 편향했고, 하락 전환은 $59,535(피보 컨플루언스·체어맨 $59,530.7) 이탈로 확인.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59060.00,\n      \"turning_zone\": [58940.00, 59060.00],\n      \"likely_wick\": 58988.00,\n      \"rejection_confirm\": 59405.79,\n      \"invalid_overshoot\": 58850.00,\n      \"calibration_reasoning\": \"$59,060 구조 지지 바로 아래의 스윙 저점·피보 $58,988이 만든 조밀한 지지 클러스터가 존을 규정(폭 ~0.27 ATR). $59,000 라운드넘버를 스윕하며 스윙 저점 $58,988까지 일시 이탈하는 것이 likely_wick. 반등 확인은 $59,405.79(피보·체어맨) 재탈환, $58,850(체어맨 지지) 이탈 시 수용 실패로 WP3 가속이라 invalid로 설정.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58030.00,\n      \"turning_zone\": [57790.00, 58030.00],\n      \"likely_wick\": 57961.98,\n      \"rejection_confirm\": 58388.00,\n      \"invalid_overshoot\": 57500.00,\n      \"calibration_reasoning\": \"셀사이드(하방) 유동성 스윕이므로 경로 맥락의 오버슈트($57,962)에 맞춰 존을 base 아래로 확장. ext_1.618/1.0 컨플루언스 $57,961.98이 핵심 오버슈트 앵커이자 $58,000 라운드넘버 직하단 스윕 지점이라 likely_wick으로 채택. 터미널 기준 폭을 ~0.54 ATR로 넓혀 $57,790까지 깊은 플러시를 허용했고, 반전 확인은 상실 구조 $58,388 재탈환·$57,500(체어맨) 이탈 시 스윕 실패로 invalid.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 52.9,
      "chairman": 82.5,
      "operating_path": 317.9,
      "tp_calibrator": 258.8
    },
    "agents": {},
    "total_s": 712.2
  }
}