{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-28 05:00 KST",
  "last_price": 60149.9,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.917,
      "setup_signals": [
        "현재가 $60,149.90가 EQ $60,487.35 아래의 discount 영역에 위치",
        "최근 구조상 bullish BOS 레벨 $60,245.00 및 $60,557.80이 존재하나, 현재는 되돌림 구간",
        "전일 고가 $60,697.60을 이미 상향 돌파한 뒤 깊은 되돌림 발생",
        "현재 retracement 114.7%로 과매도성 discount 재진입",
        "하단 후보 bullish OB가 $58,288.00~$58,944.00에 위치해 있으나 아직 active/confirmed는 아님"
      ],
      "reasoning": "확정 구조 관점에서는 마지막 이벤트가 $60,162.00에서의 CHoCH_bearish이고 현재가 $60,149.90로 그 아래에 있어 단기 structure_bias는 bearish로 판단한다. 다만 setup 관점에서는 가격이 EQ $60,487.35 아래 discount에 있으며, 전일 고가 $60,697.60 돌파 이후 깊은 되돌림 114.7%가 발생해 재상승을 노리는 bullish pre-confirmation 조건이 강하다. 현재 range low $60,050.00에 매우 근접해 있어 이 구간을 방어하고 $60,162.00 및 $60,245.00을 회복하면 bullish setup이 구조 전환으로 이어질 수 있다. 반대로 $60,050.00이 무너지면 $59,530.70 전일 저가 및 $58,944.00~$58,288.00 후보 bullish OB까지 유동성 탐색이 열릴 수 있다.",
      "key_levels": {
        "support": [
          60050.0,
          59530.7,
          58944.0,
          58288.0,
          58030.0
        ],
        "resistance": [
          60162.0,
          60245.0,
          60487.35,
          60557.8,
          60697.6,
          60924.7,
          61256.0,
          61931.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,050.00",
      "risk_scenario": "$60,050.00 range low가 15분봉 기준으로 명확히 이탈되면 현재 bullish setup은 실패로 보고, $59,530.70 전일 저가를 향한 sell-side liquidity 사냥이 우선 시나리오가 된다. 그 아래에서는 $58,944.00~$58,288.00 후보 bullish OB까지 하락 확장 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 58288.0,
          "top": 58944.0,
          "quality": "candidate",
          "score": 0.577
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 62,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 61256.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 60648.0
          },
          {
            "type": "BOS_bullish",
            "level": 60245.0
          },
          {
            "type": "BOS_bullish",
            "level": 60557.8
          },
          {
            "type": "CHoCH_bearish",
            "level": 60162.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 60487.35,
        "range_high": 60924.7,
        "range_low": 60050.0,
        "bull_score": 9.8,
        "bear_score": 4.4,
        "setup_bias": "bullish",
        "setup_score": 0.917,
        "setup_signals": [
          "bullish BOS above $61,256.00",
          "bullish BOS above $60,245.00",
          "bullish BOS above $60,557.80",
          "deep retracement 114.7% in discount zone",
          "broken previous day high $60,697.60"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 114.7,
        "deepest_retracement_pct": 114.7,
        "previous_day_high": 60697.6,
        "previous_day_low": 59530.7,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.917,\n  \"setup_signals\": [\n    \"현재가 $60,149.90가 EQ $60,487.35 아래의 discount 영역에 위치\",\n    \"최근 구조상 bullish BOS 레벨 $60,245.00 및 $60,557.80이 존재하나, 현재는 되돌림 구간\",\n    \"전일 고가 $60,697.60을 이미 상향 돌파한 뒤 깊은 되돌림 발생\",\n    \"현재 retracement 114.7%로 과매도성 discount 재진입\",\n    \"하단 후보 bullish OB가 $58,288.00~$58,944.00에 위치해 있으나 아직 active/confirmed는 아님\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 마지막 이벤트가 $60,162.00에서의 CHoCH_bearish이고 현재가 $60,149.90로 그 아래에 있어 단기 structure_bias는 bearish로 판단한다. 다만 setup 관점에서는 가격이 EQ $60,487.35 아래 discount에 있으며, 전일 고가 $60,697.60 돌파 이후 깊은 되돌림 114.7%가 발생해 재상승을 노리는 bullish pre-confirmation 조건이 강하다. 현재 range low $60,050.00에 매우 근접해 있어 이 구간을 방어하고 $60,162.00 및 $60,245.00을 회복하면 bullish setup이 구조 전환으로 이어질 수 있다. 반대로 $60,050.00이 무너지면 $59,530.70 전일 저가 및 $58,944.00~$58,288.00 후보 bullish OB까지 유동성 탐색이 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60050.0,\n      59530.7,\n      58944.0,\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60162.0,\n      60245.0,\n      60487.35,\n      60557.8,\n      60697.6,\n      60924.7,\n      61256.0,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,050.00\",\n  \"risk_scenario\": \"$60,050.00 range low가 15분봉 기준으로 명확히 이탈되면 현재 bullish setup은 실패로 보고, $59,530.70 전일 저가를 향한 sell-side liquidity 사냥이 우선 시나리오가 된다. 그 아래에서는 $58,944.00~$58,288.00 후보 bullish OB까지 하락 확장 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $60,149.90가 7일 범위 EQ $59,980.55 위에 있어 약한 프리미엄 구간에 위치",
        "현재가가 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 아래에 있어 단기 동적 저항 하단 수용",
        "최근 strict 등급 bearish_engulfing 발생, 품질 0.674 및 고거래량 동반",
        "최근 5개 캔들 흐름이 약세 우위이며 마지막 구간에 -0.4%, -0.2% 하락 캔들이 포함",
        "doji 3개 이후 고거래량 bearish_engulfing이 출현해 단기 매수세 소진 가능성"
      ],
      "reasoning": "현재 BTC는 $60,149.90으로 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39를 모두 하회하고 있어 단기 반등 실패 신호가 우세합니다. 최근 패턴 중 가장 신뢰도 높은 것은 고거래량 bearish_engulfing이며, 품질 0.674로 bullish_engulfing 품질 0.530보다 강합니다. 다만 7일 고점 $61,931.10과 저점 $58,030.00 사이의 EQ인 $59,980.55를 아직 명확히 이탈하지 않았기 때문에 확정 구조는 bearish가 아니라 neutral로 봅니다. setup 측면에서는 프리미엄 상단에서 EMA 저항을 회복하지 못하고 약세 장악형 캔들이 나온 상태라 단기 하방 시나리오가 더 유리합니다.",
      "key_levels": {
        "support": [
          59980.55,
          58030.0
        ],
        "resistance": [
          60180.39,
          60288.27,
          60476.03,
          61931.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,476.03 상향 회복",
      "risk_scenario": "반대로 가격이 EMA240 $60,180.39와 EMA120 $60,288.27을 빠르게 회복한 뒤 EMA20 $60,476.03 위에서 15분봉 종가를 형성하면, 고거래량 bearish_engulfing은 실패 신호가 되고 $61,931.10 7일 고점 방향으로 숏 커버링 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 150,
        "recent_patterns": 5,
        "pattern_list": [
          "bullish_engulfing@294",
          "bearish_engulfing@297",
          "doji@292",
          "doji@293",
          "doji@295"
        ],
        "atr_value": 147.02,
        "vol_avg_20": 1229.64,
        "high_volume_patterns": [
          "bearish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.674,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.53,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.674,
        "bull_score": 0.75,
        "bear_score": 0.85
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $60,149.90가 7일 범위 EQ $59,980.55 위에 있어 약한 프리미엄 구간에 위치\",\n    \"현재가가 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 아래에 있어 단기 동적 저항 하단 수용\",\n    \"최근 strict 등급 bearish_engulfing 발생, 품질 0.674 및 고거래량 동반\",\n    \"최근 5개 캔들 흐름이 약세 우위이며 마지막 구간에 -0.4%, -0.2% 하락 캔들이 포함\",\n    \"doji 3개 이후 고거래량 bearish_engulfing이 출현해 단기 매수세 소진 가능성\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,149.90으로 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39를 모두 하회하고 있어 단기 반등 실패 신호가 우세합니다. 최근 패턴 중 가장 신뢰도 높은 것은 고거래량 bearish_engulfing이며, 품질 0.674로 bullish_engulfing 품질 0.530보다 강합니다. 다만 7일 고점 $61,931.10과 저점 $58,030.00 사이의 EQ인 $59,980.55를 아직 명확히 이탈하지 않았기 때문에 확정 구조는 bearish가 아니라 neutral로 봅니다. setup 측면에서는 프리미엄 상단에서 EMA 저항을 회복하지 못하고 약세 장악형 캔들이 나온 상태라 단기 하방 시나리오가 더 유리합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59980.55,\n      58030.0\n    ],\n    \"resistance\": [\n      60180.39,\n      60288.27,\n      60476.03,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,476.03 상향 회복\",\n  \"risk_scenario\": \"반대로 가격이 EMA240 $60,180.39와 EMA120 $60,288.27을 빠르게 회복한 뒤 EMA20 $60,476.03 위에서 15분봉 종가를 형성하면, 고거래량 bearish_engulfing은 실패 신호가 되고 $61,931.10 7일 고점 방향으로 숏 커버링 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $60,149.90가 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 아래에 위치해 단기 수용 실패",
        "롱 계정 비율 0.664, account_long_crowding 1.000으로 롱 포지셔닝 과밀",
        "24시간 OI 변화율 -2.30%로 신규 추세 포지션 유입보다 언와인딩 성격 우세",
        "선물 basis -0.0433%로 현물 대비 선물 디스카운트, 파생시장 수요 약화",
        "가까운 하방 청산 밀집 구간 $59,600 / $59,300이 현재가 바로 아래에 위치",
        "CVD divergence 0.850 및 CVD 변화 +$2,673.11은 하락 추격의 약화를 시사하지만 아직 구조 전환 확인은 없음"
      ],
      "reasoning": "구조적으로는 7일 고점 $61,931.10과 저점 $58,030.00 사이의 박스권 내부이며, 현재가 $60,149.90는 주요 EMA들 바로 아래에 있어 명확한 BOS나 CHoCH가 확인된 상태는 아니므로 structure_bias는 중립이다. 다만 셋업 관점에서는 롱 계정 비율이 0.664이고 account_long_crowding이 1.000으로 과밀 롱이 유지되는 가운데, OI가 24시간 -2.30% 감소해 강한 신규 매수 유입보다는 포지션 축소가 나타난다. 선물 basis가 -0.0433%로 음수인 점도 파생시장 프리미엄 부재를 보여주며, 가까운 하방 청산 레벨 $59,600과 $59,300이 자석처럼 작동할 수 있다. 반면 CVD divergence 0.850과 CVD +$2,673.11은 매도 압력이 완전히 우세하지 않음을 보여주므로, 공격적 추세 숏보다는 4-8시간 내 하방 유동성 테스트 가능성이 높은 약세 셋업으로 해석한다.",
      "key_levels": {
        "support": [
          60180.39,
          59600,
          59300,
          58100,
          58030
        ],
        "resistance": [
          60288.27,
          60476.03,
          61400,
          61800,
          61931.1,
          63000
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,800",
      "risk_scenario": "반대로 가격이 $61,400을 회복한 뒤 $61,800 위에서 수용되면, 과밀 롱이더라도 하방 청산 사냥 실패로 해석되며 $61,931.10 7일 고점과 $63,000 상단 청산 구간까지 숏 커버링 랠리가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 2673.107,
        "oi_trend": 0.498,
        "oi_change_pct_24h": -0.023,
        "oi_latest": 103749.234,
        "funding_pressure": 0.456,
        "funding_avg": 4.427e-05,
        "funding_change_24h": -1.513e-05,
        "long_account_ratio": 0.672,
        "short_account_ratio": 0.328,
        "long_account_latest": 0.664,
        "short_account_latest": 0.336,
        "long_account_change_24h": -0.0102,
        "short_account_change_24h": 0.0102,
        "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.489,
        "spot_futures_basis_pct": -0.0433,
        "basis_change_lookback": -0.0022,
        "aggregate_score": 0.459,
        "bull_signals": 1,
        "bear_signals": 1,
        "liq_below": [
          [
            59600,
            1282.4664157500001
          ],
          [
            59300,
            1089.2558137499998
          ],
          [
            58100,
            1713.2594560000002
          ]
        ],
        "liq_above": [
          [
            61400,
            1112.67202875
          ],
          [
            61800,
            1278.0282929999998
          ],
          [
            63000,
            1788.2874570000001
          ]
        ],
        "strongest_liq_level": 54500,
        "fragility_score": 0.896,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $60,149.90가 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 아래에 위치해 단기 수용 실패\",\n    \"롱 계정 비율 0.664, account_long_crowding 1.000으로 롱 포지셔닝 과밀\",\n    \"24시간 OI 변화율 -2.30%로 신규 추세 포지션 유입보다 언와인딩 성격 우세\",\n    \"선물 basis -0.0433%로 현물 대비 선물 디스카운트, 파생시장 수요 약화\",\n    \"가까운 하방 청산 밀집 구간 $59,600 / $59,300이 현재가 바로 아래에 위치\",\n    \"CVD divergence 0.850 및 CVD 변화 +$2,673.11은 하락 추격의 약화를 시사하지만 아직 구조 전환 확인은 없음\"\n  ],\n  \"reasoning\": \"구조적으로는 7일 고점 $61,931.10과 저점 $58,030.00 사이의 박스권 내부이며, 현재가 $60,149.90는 주요 EMA들 바로 아래에 있어 명확한 BOS나 CHoCH가 확인된 상태는 아니므로 structure_bias는 중립이다. 다만 셋업 관점에서는 롱 계정 비율이 0.664이고 account_long_crowding이 1.000으로 과밀 롱이 유지되는 가운데, OI가 24시간 -2.30% 감소해 강한 신규 매수 유입보다는 포지션 축소가 나타난다. 선물 basis가 -0.0433%로 음수인 점도 파생시장 프리미엄 부재를 보여주며, 가까운 하방 청산 레벨 $59,600과 $59,300이 자석처럼 작동할 수 있다. 반면 CVD divergence 0.850과 CVD +$2,673.11은 매도 압력이 완전히 우세하지 않음을 보여주므로, 공격적 추세 숏보다는 4-8시간 내 하방 유동성 테스트 가능성이 높은 약세 셋업으로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60180.39,\n      59600,\n      59300,\n      58100,\n      58030\n    ],\n    \"resistance\": [\n      60288.27,\n      60476.03,\n      61400,\n      61800,\n      61931.1,\n      63000\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,800\",\n  \"risk_scenario\": \"반대로 가격이 $61,400을 회복한 뒤 $61,800 위에서 수용되면, 과밀 롱이더라도 하방 청산 사냥 실패로 해석되며 $61,931.10 7일 고점과 $63,000 상단 청산 구간까지 숏 커버링 랠리가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "분배 구조 확정형 시퀀스: BC $61,188.00 → AR $60,752.80 → ST $61,931.10 → UTAD $60,924.70 → LPSY $60,576.90 → SOW $60,202.40 → Phase E $60,050.00",
        "현재가 $60,149.90는 메인 분배 하단 AR $60,752.80 아래에 위치해 있으며, 이는 레인지 내부 회복보다 하방 이탈 후 약세 수용에 가깝다",
        "LPSY $60,576.90 이후 SOW $60,202.40가 발생했고, 현재가가 SOW 저점 $60,202.40 아래에 머물러 단기 반등 시 공급 재출현 가능성이 높다",
        "UTAD $60,924.70 실패 이후 가격이 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 아래로 밀려 단기 구조 회복이 아직 확인되지 않았다",
        "Phase E 저점 $60,050.00 부근을 테스트 중이며, 이탈 시 이전 SOW_IN_PHASE_B 저점 $58,030.00 방향의 유동성 탐색 가능성이 열린다"
      ],
      "reasoning": "현재 regime은 DIS이며 regime_fitness 1.000, dis_score 100.0으로 분배 구조가 우세하다. 핵심 앵커는 BC $61,188.00와 AR $60,752.80이며, 이후 ST $61,931.10, UTAD $60,924.70, LPSY $60,576.90, SOW $60,202.40, Phase E $60,050.00 순서가 형성되어 구조적 편향은 bearish로 판단한다. 현재가 $60,149.90는 AR 하단 $60,752.80 및 LPSY $60,576.90 아래에 있어 레인지 회복보다 Phase E 진행 중 하방 압력이 우세하다. 다만 즉시 추가 하락만 단정하기보다는, $60,202.40~$60,576.90 구간으로의 되돌림이 공급 재확인 구간으로 작동하는지가 중요하다.",
      "key_levels": {
        "support": [
          60050.0,
          58030.0
        ],
        "resistance": [
          60202.4,
          60576.9,
          60752.8,
          60924.7,
          61188.0,
          61931.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60924.70",
      "risk_scenario": "반대 시나리오는 현재 Phase E 약세가 실패하고 가격이 SOW $60,202.40 및 LPSY $60,576.90를 회복한 뒤 UTAD $60,924.70 위로 재수용되는 경우다. 이 경우 분배 Phase E 진행 해석은 약화되며, $61,188.00 BC 및 $61,931.10 ST 고점 재테스트로 이어질 수 있다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 100.0,
        "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",
          "LPSY",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 15,
            "price": 61188.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 22,
            "price": 60752.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 58,
            "price": 61931.1,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 83,
            "price": 58030.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 154,
            "price": 60734.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 282,
            "price": 60924.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 296,
            "price": 60576.9,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 297,
            "price": 60202.4,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 298,
            "price": 60050.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 15,
            "end_idx": 298,
            "phase_count": 9,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 15,
                "price": 61188.0,
                "color": "#ffd166",
                "dt": "2026-06-25 05:45:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 22,
                "price": 60752.8,
                "color": "#06d6a0",
                "dt": "2026-06-25 07:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 58,
                "price": 61931.1,
                "color": "#118ab2",
                "dt": "2026-06-25 16:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 83,
                "price": 58030.0,
                "color": "#ef476f",
                "dt": "2026-06-25 22:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 154,
                "price": 60734.0,
                "color": "#f9844a",
                "dt": "2026-06-26 16:30:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 282,
                "price": 60924.7,
                "color": "#f9844a",
                "dt": "2026-06-28 00:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 296,
                "price": 60576.9,
                "color": "#8338ec",
                "dt": "2026-06-28 04:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 297,
                "price": 60202.4,
                "color": "#ef476f",
                "dt": "2026-06-28 04:15:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 298,
                "price": 60050.0,
                "color": "#7209b7",
                "dt": "2026-06-28 04:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 60752.8,
        "main_range_high": 61188.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"분배 구조 확정형 시퀀스: BC $61,188.00 → AR $60,752.80 → ST $61,931.10 → UTAD $60,924.70 → LPSY $60,576.90 → SOW $60,202.40 → Phase E $60,050.00\",\n    \"현재가 $60,149.90는 메인 분배 하단 AR $60,752.80 아래에 위치해 있으며, 이는 레인지 내부 회복보다 하방 이탈 후 약세 수용에 가깝다\",\n    \"LPSY $60,576.90 이후 SOW $60,202.40가 발생했고, 현재가가 SOW 저점 $60,202.40 아래에 머물러 단기 반등 시 공급 재출현 가능성이 높다\",\n    \"UTAD $60,924.70 실패 이후 가격이 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 아래로 밀려 단기 구조 회복이 아직 확인되지 않았다\",\n    \"Phase E 저점 $60,050.00 부근을 테스트 중이며, 이탈 시 이전 SOW_IN_PHASE_B 저점 $58,030.00 방향의 유동성 탐색 가능성이 열린다\"\n  ],\n  \"reasoning\": \"현재 regime은 DIS이며 regime_fitness 1.000, dis_score 100.0으로 분배 구조가 우세하다. 핵심 앵커는 BC $61,188.00와 AR $60,752.80이며, 이후 ST $61,931.10, UTAD $60,924.70, LPSY $60,576.90, SOW $60,202.40, Phase E $60,050.00 순서가 형성되어 구조적 편향은 bearish로 판단한다. 현재가 $60,149.90는 AR 하단 $60,752.80 및 LPSY $60,576.90 아래에 있어 레인지 회복보다 Phase E 진행 중 하방 압력이 우세하다. 다만 즉시 추가 하락만 단정하기보다는, $60,202.40~$60,576.90 구간으로의 되돌림이 공급 재확인 구간으로 작동하는지가 중요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      60050.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60202.4,\n      60576.9,\n      60752.8,\n      60924.7,\n      61188.0,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60924.70\",\n  \"risk_scenario\": \"반대 시나리오는 현재 Phase E 약세가 실패하고 가격이 SOW $60,202.40 및 LPSY $60,576.90를 회복한 뒤 UTAD $60,924.70 위로 재수용되는 경우다. 이 경우 분배 Phase E 진행 해석은 약화되며, $61,188.00 BC 및 $61,931.10 ST 고점 재테스트로 이어질 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $60,149.90가 하락 스윙 High $60,925 → Low $60,383 기준 ext_1.414 $60,158.74 바로 아래에서 거래 중",
        "ext_1.414 $60,158.74 재탈환 실패 시 ext_1.618 $60,048.23 및 ext_2.0 $59,841.30까지 하방 확장 목표가 열림",
        "가격이 EQ/ret_0.5 $60,653.85 아래의 할인 구간에 있으나, 아직 $60,158.74 위 구조적 수용이 없어 반등 확인 전 단계",
        "EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 모두 현재가 위에 위치해 단기 상단 압력 형성",
        "가장 강한 상단 회복 기준은 ret_0.382 $60,589.93 및 golden ratio ret_0.618 $60,717.77 구간"
      ],
      "reasoning": "현재 BTC는 하락 스윙 $60,925 → $60,383 이후 확장 구간에서 거래되고 있으며, 가장 가까운 피보나치 레벨은 ext_1.414 $60,158.74로 현재가 $60,149.90와 거의 동일한 테스트 구간입니다. 구조적으로는 가격이 ret_0.236 $60,510.84, ret_0.382 $60,589.93, ret_0.5 $60,653.85 및 핵심 golden ratio ret_0.618 $60,717.77 아래에 있어 아직 하락 구조가 우세합니다. 단기적으로 $60,158.74를 회복하지 못하면 ext_1.618 $60,048.23, ext_2.0 $59,841.30, 이후 $59,506.53까지 하방 확장 가능성이 높습니다. 반대로 $60,235.66 및 $60,383.00 위로 회복하면 단기 하락 확장 실패로 보고 $60,510.84~$60,717.77 되돌림 반등을 재평가해야 합니다.",
      "key_levels": {
        "support": [
          60048.23,
          59841.3,
          59506.53
        ],
        "resistance": [
          60158.74,
          60235.66,
          60383.0,
          60589.93,
          60717.77
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,383.00",
      "risk_scenario": "$60,158.74를 빠르게 회복하고 $60,235.66을 돌파한 뒤 $60,383.00 위에서 수용되면, 현재의 하락 확장 시나리오는 약화됩니다. 이 경우 숏 커버링성 반등이 ret_0.236 $60,510.84, ret_0.382 $60,589.93, ret_0.5 $60,653.85까지 이어질 수 있으며, 특히 golden ratio ret_0.618 $60,717.77 회복 시 단기 구조는 중립 또는 반등 우위로 전환될 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,925 → $60,383",
        "direction": "down",
        "nearest_fib": "ext_1.414",
        "nearest_fib_price": 60158.74,
        "nearest_fib_distance": 0.01,
        "golden_ratio_level": 60717.77,
        "fib_ret_382": 60589.93,
        "fib_ret_618": 60717.77,
        "confluence_zones": [
          {
            "price": 60656.23,
            "count": 5,
            "levels": [
              "ret_0.236",
              "ret_0.382",
              "ret_0.5",
              "ret_0.618",
              "ret_0.786"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60304.57,
            "count": 4,
            "levels": [
              "ext_1.414",
              "ext_1.272",
              "ext_1.0",
              "ret_0.618"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59956.69,
            "count": 3,
            "levels": [
              "ext_2.0",
              "ret_0.5",
              "ext_1.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 59513.37,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60048.229400000004,
          59841.3,
          59506.52940000001
        ],
        "resistance_levels": [
          60158.7362,
          60235.6576,
          60383.0
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60510.84,
            "distance_pct": 0.6,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60589.93,
            "distance_pct": 0.73,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 60653.85,
            "distance_pct": 0.84,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60717.77,
            "distance_pct": 0.94,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 60808.78,
            "distance_pct": 1.1,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 60383.0,
            "distance_pct": 0.39,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 60235.66,
            "distance_pct": 0.14,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 60158.74,
            "distance_pct": 0.01,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 60048.23,
            "distance_pct": 0.17,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 59841.3,
            "distance_pct": 0.51,
            "is_support": true,
            "cluster_score": 0.85
          }
        ],
        "confluence_quality": 1.0,
        "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.58,\n  \"setup_signals\": [\n    \"현재가 $60,149.90가 하락 스윙 High $60,925 → Low $60,383 기준 ext_1.414 $60,158.74 바로 아래에서 거래 중\",\n    \"ext_1.414 $60,158.74 재탈환 실패 시 ext_1.618 $60,048.23 및 ext_2.0 $59,841.30까지 하방 확장 목표가 열림\",\n    \"가격이 EQ/ret_0.5 $60,653.85 아래의 할인 구간에 있으나, 아직 $60,158.74 위 구조적 수용이 없어 반등 확인 전 단계\",\n    \"EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39 모두 현재가 위에 위치해 단기 상단 압력 형성\",\n    \"가장 강한 상단 회복 기준은 ret_0.382 $60,589.93 및 golden ratio ret_0.618 $60,717.77 구간\"\n  ],\n  \"reasoning\": \"현재 BTC는 하락 스윙 $60,925 → $60,383 이후 확장 구간에서 거래되고 있으며, 가장 가까운 피보나치 레벨은 ext_1.414 $60,158.74로 현재가 $60,149.90와 거의 동일한 테스트 구간입니다. 구조적으로는 가격이 ret_0.236 $60,510.84, ret_0.382 $60,589.93, ret_0.5 $60,653.85 및 핵심 golden ratio ret_0.618 $60,717.77 아래에 있어 아직 하락 구조가 우세합니다. 단기적으로 $60,158.74를 회복하지 못하면 ext_1.618 $60,048.23, ext_2.0 $59,841.30, 이후 $59,506.53까지 하방 확장 가능성이 높습니다. 반대로 $60,235.66 및 $60,383.00 위로 회복하면 단기 하락 확장 실패로 보고 $60,510.84~$60,717.77 되돌림 반등을 재평가해야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60048.23,\n      59841.3,\n      59506.53\n    ],\n    \"resistance\": [\n      60158.74,\n      60235.66,\n      60383.0,\n      60589.93,\n      60717.77\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,383.00\",\n  \"risk_scenario\": \"$60,158.74를 빠르게 회복하고 $60,235.66을 돌파한 뒤 $60,383.00 위에서 수용되면, 현재의 하락 확장 시나리오는 약화됩니다. 이 경우 숏 커버링성 반등이 ret_0.236 $60,510.84, ret_0.382 $60,589.93, ret_0.5 $60,653.85까지 이어질 수 있으며, 특히 golden ratio ret_0.618 $60,717.77 회복 시 단기 구조는 중립 또는 반등 우위로 전환될 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.55,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,149.90은 고컨플루언스 활성 PRZ 밀집 구간 $59,979.84-$60,298.08 내부에 있으며, strict high bearish Shark의 D 예상가 $60,138.96와 거의 일치",
        "상단에 bearish Bat 활성 PRZ $60,116.23-$60,487.38, bearish Butterfly 활성 PRZ $60,200.52-$60,445.38, bearish Gartley 활성 PRZ $60,179.37-$60,549.45가 중첩되어 단기 공급/반응 구간 형성",
        "확인된 bearish Bat 완료 패턴은 D $60,466.50, PRZ $60,217.82-$60,510.71에서 반응 확인, TP1 $60,055.51 및 TP2 $59,864.76이 하방 waypoint로 유효",
        "확인된 bearish Gartley 완료 패턴은 PRZ $60,184.90-$60,506.94에서 반응 확인, TP1 $60,034.51 및 TP2 $59,842.11을 제시",
        "반대편으로 confirmed bullish Gartley PRZ $60,109.93-$60,258.36도 활성 상태이므로 하방 신호는 단독 추세 전환이 아니라 PRZ 반응 리스크 중심의 약한 우위"
      ],
      "reasoning": "15분 BTC/USDT는 현재 $60,149.90으로 여러 활성 PRZ가 겹친 중립-충돌 구간에 있지만, harmonic directional score는 bearish 2.432 대 bullish 1.341로 하방 쪽이 우세합니다. 특히 bearish Shark 형성 PRZ $59,979.84-$60,298.08의 중심 D $60,138.96와 현재가가 거의 동일하고, 상단 $60,200-$60,550에는 bearish Bat/Butterfly/Gartley PRZ가 밀집해 있습니다. 다만 confirmed bullish Gartley가 $60,109.93-$60,258.36에서 이미 반응 확인되었고 TP1 $60,326.88, TP2 $60,415.06을 제시하므로, 구조 자체를 bearish로 확정할 수는 없습니다. 따라서 structure_bias는 confirmed BOS/CHoCH 부재로 neutral, setup_bias만 상단 PRZ 방어 기반의 bearish로 평가합니다.",
      "key_levels": {
        "support": [
          60109.93,
          60060.32,
          60011.74,
          59933.1,
          59840.9,
          59556.0
        ],
        "resistance": [
          60258.36,
          60298.08,
          60326.88,
          60415.06,
          60557.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,557.80",
      "risk_scenario": "가격이 $60,258.36 위로 재진입 후 $60,326.88-$60,415.06 bullish Gartley TP 구간을 회수하면 하방 PRZ 반응은 실패로 전환될 수 있으며, $60,557.80 상방 수용 시 bearish setup은 무효화되고 $60,697.60 또는 $60,757.88 쪽 상단 유동성 테스트가 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 67,
        "completed_patterns_found": 24,
        "forming_d_prz_found": 43,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 29,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 17,
          "medium": 29,
          "low": 21
        },
        "prz_status_counts": {
          "active": 23,
          "nearby": 10,
          "watch": 15,
          "far": 19,
          "forming": 15
        },
        "high_confluence_prz_count": 39,
        "strict_patterns_found": 35,
        "candidate_patterns_found": 32,
        "active_patterns_at_prz": 23,
        "nearby_patterns": 10,
        "all_patterns": [
          "shark",
          "gartley",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "bat",
          "bat",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "crab",
          "crab",
          "bat",
          "gartley",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "shark",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.98,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 60138.96,
        "price_to_prz": -0.02,
        "prz_range": [
          59979.84,
          60298.08
        ],
        "council_relevant_prz_count": 13,
        "directional_influence_prz_count": 13,
        "confirmed_reaction_prz_count": 4,
        "validated_harmonic_tp_count": 4,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0569,
            "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": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 245,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60048.51,
            "prz_range": [
              59903.3,
              60193.72
            ],
            "prz_width_pct": 0.484,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.17,
            "price_to_prz_pct_raw": -0.1686,
            "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": 60048.51,
              "a_price": 60557.8,
              "tp1_ad_382": 60243.06,
              "tp2_ad_618": 60363.25,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4171,
              "ABC": 0.6924
            },
            "x_price": 59846.2,
            "x_idx": 222,
            "x_order": 5,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60138.96,
            "prz_range": [
              59979.84,
              60298.08
            ],
            "prz_width_pct": 0.529,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.02,
            "price_to_prz_pct_raw": -0.0182,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60138.96,
              "a_price": 59933.1,
              "tp1_ad_382": 60060.32,
              "tp2_ad_618": 60011.74,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5227,
              "ABC": 1.551
            },
            "x_price": 60234.8,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.25,
            "price_to_prz_pct_raw": 0.2525,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 206,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60322.95,
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_width_pct": 0.406,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2877,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.3962
            },
            "x_price": 60234.8,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 60074.5,
            "c_idx": 245,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.95,
            "ratio_score": 0.956,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60228.15,
            "prz_range": [
              60066.51,
              60389.79
            ],
            "prz_width_pct": 0.537,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1301,
            "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": 60228.15,
              "a_price": 60472.2,
              "tp1_ad_382": 60321.38,
              "tp2_ad_618": 60378.97,
              "tp3_a_or_structure_liquidity": 60472.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6254,
              "ABC": 1.4957
            },
            "x_price": 60134.5,
            "x_idx": 233,
            "x_order": 3,
            "a_price": 60472.2,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60576.9,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3566,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 199,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 228,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0569,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 245,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": 266
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0569,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 245,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": 266
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3564,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 206,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": 261
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.87,
            "ratio_score": 0.929,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60472.2,
            "prz_range": [
              60217.77,
              60757.88
            ],
            "prz_width_pct": 0.893,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.56,
            "price_to_prz_pct_raw": 0.5618,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.422,
                "adverse_move_ratio_ad": 0.021,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60487.82,
              "a_price": 59530.7,
              "tp1_ad_382": 60122.2,
              "tp2_ad_618": 59896.32,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7533,
              "ABC": 0.4367,
              "BCD": 2.5593,
              "XAD": 1.2663
            },
            "x_price": 60274.2,
            "x_idx": 180,
            "x_order": 3,
            "a_price": 59530.7,
            "a_idx": 199,
            "a_order": 8,
            "b_price": 60090.8,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": 237
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.811,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60387.8,
            "prz_range": [
              60184.9,
              60506.94
            ],
            "prz_width_pct": 0.534,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3259,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.355,
                "adverse_move_ratio_ad": 0.098,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60345.92,
              "a_price": 59530.7,
              "tp1_ad_382": 60034.51,
              "tp2_ad_618": 59842.11,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.5044,
              "BCD": 1.6867,
              "XAD": 0.8168
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 199,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": 232
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0569,
            "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": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 245,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60138.96,
            "prz_range": [
              59979.84,
              60298.08
            ],
            "prz_width_pct": 0.529,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.02,
            "price_to_prz_pct_raw": -0.0182,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60138.96,
              "a_price": 59933.1,
              "tp1_ad_382": 60060.32,
              "tp2_ad_618": 60011.74,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5227,
              "ABC": 1.551
            },
            "x_price": 60234.8,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60048.51,
            "prz_range": [
              59903.3,
              60193.72
            ],
            "prz_width_pct": 0.484,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.17,
            "price_to_prz_pct_raw": -0.1686,
            "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": 60048.51,
              "a_price": 60557.8,
              "tp1_ad_382": 60243.06,
              "tp2_ad_618": 60363.25,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4171,
              "ABC": 0.6924
            },
            "x_price": 59846.2,
            "x_idx": 222,
            "x_order": 5,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.25,
            "price_to_prz_pct_raw": 0.2525,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 206,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60322.95,
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_width_pct": 0.406,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2877,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.3962
            },
            "x_price": 60234.8,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 60074.5,
            "c_idx": 245,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.95,
            "ratio_score": 0.956,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60228.15,
            "prz_range": [
              60066.51,
              60389.79
            ],
            "prz_width_pct": 0.537,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1301,
            "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": 60228.15,
              "a_price": 60472.2,
              "tp1_ad_382": 60321.38,
              "tp2_ad_618": 60378.97,
              "tp3_a_or_structure_liquidity": 60472.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6254,
              "ABC": 1.4957
            },
            "x_price": 60134.5,
            "x_idx": 233,
            "x_order": 3,
            "a_price": 60472.2,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60576.9,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0569,
            "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": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 245,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60048.51,
            "prz_range": [
              59903.3,
              60193.72
            ],
            "prz_width_pct": 0.484,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.17,
            "price_to_prz_pct_raw": -0.1686,
            "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": 60048.51,
              "a_price": 60557.8,
              "tp1_ad_382": 60243.06,
              "tp2_ad_618": 60363.25,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4171,
              "ABC": 0.6924
            },
            "x_price": 59846.2,
            "x_idx": 222,
            "x_order": 5,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60138.96,
            "prz_range": [
              59979.84,
              60298.08
            ],
            "prz_width_pct": 0.529,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.02,
            "price_to_prz_pct_raw": -0.0182,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60138.96,
              "a_price": 59933.1,
              "tp1_ad_382": 60060.32,
              "tp2_ad_618": 60011.74,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5227,
              "ABC": 1.551
            },
            "x_price": 60234.8,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.25,
            "price_to_prz_pct_raw": 0.2525,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 206,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60322.95,
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_width_pct": 0.406,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2877,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.3962
            },
            "x_price": 60234.8,
            "x_idx": 141,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 60074.5,
            "c_idx": 245,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.95,
            "ratio_score": 0.956,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60228.15,
            "prz_range": [
              60066.51,
              60389.79
            ],
            "prz_width_pct": 0.537,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1301,
            "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": 60228.15,
              "a_price": 60472.2,
              "tp1_ad_382": 60321.38,
              "tp2_ad_618": 60378.97,
              "tp3_a_or_structure_liquidity": 60472.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6254,
              "ABC": 1.4957
            },
            "x_price": 60134.5,
            "x_idx": 233,
            "x_order": 3,
            "a_price": 60472.2,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60576.9,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3566,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 199,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 228,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0569,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 245,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 257,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": 266
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.36,
            "price_to_prz_pct_raw": 0.3564,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 206,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": 261
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.893,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.63,
            "price_to_prz_pct_raw": 0.6258,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 154,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 206,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 220,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 222,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.891,
            "ratio_score": 0.898,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59643.64,
            "prz_range": [
              59487.63,
              59799.65
            ],
            "prz_width_pct": 0.523,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.84,
            "price_to_prz_pct_raw": -0.8417,
            "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": 59643.64,
              "a_price": 60580.0,
              "tp1_ad_382": 60001.33,
              "tp2_ad_618": 60222.31,
              "tp3_a_or_structure_liquidity": 60580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6009,
              "ABC": 0.7381
            },
            "x_price": 59358.8,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 60580.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 59846.2,
            "b_idx": 222,
            "b_order": 5,
            "c_price": 60387.8,
            "c_idx": 232,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.864,
            "ratio_score": 0.695,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60127.18,
            "prz_range": [
              59967.13,
              60287.22
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0378,
            "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": 60127.18,
              "a_price": 60697.6,
              "tp1_ad_382": 60345.08,
              "tp2_ad_618": 60479.7,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7206,
              "ABC": 0.6163
            },
            "x_price": 60261.0,
            "x_idx": 257,
            "x_order": 5,
            "a_price": 60697.6,
            "a_idx": 276,
            "a_order": 3,
            "b_price": 60383.0,
            "b_idx": 288,
            "b_order": 8,
            "c_price": 60576.9,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "prz_proximity": "active",
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.06,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,109.93-$60,258.36: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "prz_proximity": "active",
            "prz_range": [
              59903.3,
              60193.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.17,
            "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": 60048.51,
              "a_price": 60557.8,
              "tp1_ad_382": 60243.06,
              "tp2_ad_618": 60363.25,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,903.30-$60,193.72: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "prz_proximity": "active",
            "prz_range": [
              59979.84,
              60298.08
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.02,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60138.96,
              "a_price": 59933.1,
              "tp1_ad_382": 60060.32,
              "tp2_ad_618": 60011.74,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $59,979.84-$60,298.08: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "prz_proximity": "active",
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.25,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,116.23-$60,487.38: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.955,
            "prz_proximity": "active",
            "prz_range": [
              60200.52,
              60445.38
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.29,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60322.95,
              "a_price": 59933.1,
              "tp1_ad_382": 60174.03,
              "tp2_ad_618": 60082.02,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $60,200.52-$60,445.38: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.95,
            "prz_proximity": "active",
            "prz_range": [
              60066.51,
              60389.79
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.13,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 60228.15,
              "a_price": 60472.2,
              "tp1_ad_382": 60321.38,
              "tp2_ad_618": 60378.97,
              "tp3_a_or_structure_liquidity": 60472.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $60,066.51-$60,389.79: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.975,
          "ratio_score": 0.977,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 60184.14,
          "prz_range": [
            60109.93,
            60258.36
          ],
          "prz_width_pct": 0.247,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.06,
          "price_to_prz_pct_raw": 0.0569,
          "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": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6141,
            "ABC": 0.6924
          },
          "x_price": 60074.5,
          "x_idx": 245,
          "x_order": 8,
          "a_price": 60557.8,
          "a_idx": 251,
          "a_order": 8,
          "b_price": 60261.0,
          "b_idx": 257,
          "b_order": 5,
          "c_price": 60466.5,
          "c_idx": 261,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 60184.14,
          "a_price": 60557.8,
          "tp1_ad_382": 60326.88,
          "tp2_ad_618": 60415.06,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 60184.14,
          "a_price": 60557.8,
          "tp1_ad_382": 60326.88,
          "tp2_ad_618": 60415.06,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60048.51,
            "a_price": 60557.8,
            "tp1_ad_382": 60243.06,
            "tp2_ad_618": 60363.25,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "shark",
            "d_price": 60138.96,
            "a_price": 59933.1,
            "tp1_ad_382": 60060.32,
            "tp2_ad_618": 60011.74,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60301.81,
            "a_price": 59556.0,
            "tp1_ad_382": 60016.91,
            "tp2_ad_618": 59840.9,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 60322.95,
            "a_price": 59933.1,
            "tp1_ad_382": 60174.03,
            "tp2_ad_618": 60082.02,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "shark",
            "d_price": 60228.15,
            "a_price": 60472.2,
            "tp1_ad_382": 60321.38,
            "tp2_ad_618": 60378.97,
            "tp3_a_or_structure_liquidity": 60472.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60364.26,
            "a_price": 59556.0,
            "tp1_ad_382": 60055.51,
            "tp2_ad_618": 59864.76,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 60487.82,
            "a_price": 59530.7,
            "tp1_ad_382": 60122.2,
            "tp2_ad_618": 59896.32,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60345.92,
            "a_price": 59530.7,
            "tp1_ad_382": 60034.51,
            "tp2_ad_618": 59842.11,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 1.341,
          "bearish": 2.432
        },
        "directional_score_total": 3.773,
        "directional_dominance": 0.289
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,149.90은 고컨플루언스 활성 PRZ 밀집 구간 $59,979.84-$60,298.08 내부에 있으며, strict high bearish Shark의 D 예상가 $60,138.96와 거의 일치\",\n    \"상단에 bearish Bat 활성 PRZ $60,116.23-$60,487.38, bearish Butterfly 활성 PRZ $60,200.52-$60,445.38, bearish Gartley 활성 PRZ $60,179.37-$60,549.45가 중첩되어 단기 공급/반응 구간 형성\",\n    \"확인된 bearish Bat 완료 패턴은 D $60,466.50, PRZ $60,217.82-$60,510.71에서 반응 확인, TP1 $60,055.51 및 TP2 $59,864.76이 하방 waypoint로 유효\",\n    \"확인된 bearish Gartley 완료 패턴은 PRZ $60,184.90-$60,506.94에서 반응 확인, TP1 $60,034.51 및 TP2 $59,842.11을 제시\",\n    \"반대편으로 confirmed bullish Gartley PRZ $60,109.93-$60,258.36도 활성 상태이므로 하방 신호는 단독 추세 전환이 아니라 PRZ 반응 리스크 중심의 약한 우위\"\n  ],\n  \"reasoning\": \"15분 BTC/USDT는 현재 $60,149.90으로 여러 활성 PRZ가 겹친 중립-충돌 구간에 있지만, harmonic directional score는 bearish 2.432 대 bullish 1.341로 하방 쪽이 우세합니다. 특히 bearish Shark 형성 PRZ $59,979.84-$60,298.08의 중심 D $60,138.96와 현재가가 거의 동일하고, 상단 $60,200-$60,550에는 bearish Bat/Butterfly/Gartley PRZ가 밀집해 있습니다. 다만 confirmed bullish Gartley가 $60,109.93-$60,258.36에서 이미 반응 확인되었고 TP1 $60,326.88, TP2 $60,415.06을 제시하므로, 구조 자체를 bearish로 확정할 수는 없습니다. 따라서 structure_bias는 confirmed BOS/CHoCH 부재로 neutral, setup_bias만 상단 PRZ 방어 기반의 bearish로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60109.93,\n      60060.32,\n      60011.74,\n      59933.1,\n      59840.9,\n      59556.0\n    ],\n    \"resistance\": [\n      60258.36,\n      60298.08,\n      60326.88,\n      60415.06,\n      60557.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,557.80\",\n  \"risk_scenario\": \"가격이 $60,258.36 위로 재진입 후 $60,326.88-$60,415.06 bullish Gartley TP 구간을 회수하면 하방 PRZ 반응은 실패로 전환될 수 있으며, $60,557.80 상방 수용 시 bearish setup은 무효화되고 $60,697.60 또는 $60,757.88 쪽 상단 유동성 테스트가 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.68,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.7,
      "active_setups": [
        "현재가 $60,149.90이 Wyckoff SOW $60,202.40 아래에 위치하며, LPSY $60,576.90 이후 Phase E 저점 $60,050.00 근처에서 약세 수용 중",
        "현재가가 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39를 모두 하회하여 단기 동적 저항 아래에 머무름",
        "strict 등급 고거래량 bearish engulfing이 확인되었고 품질 점수 0.674로 최근 bullish engulfing 품질 0.530보다 우세",
        "피보나치 하락 확장 ext_1.414 $60,158.74 바로 아래에서 거래 중이며, $60,048.23 / $59,841.30 / $59,506.53이 하방 구조 레벨로 정렬",
        "파생시장에서는 롱 계정 비율 0.664와 롱 과밀 상태가 유지되는 반면, 24시간 OI는 -2.30% 감소하여 신규 추세 매수보다 포지션 언와인딩 성격이 강함",
        "하모닉은 $59,979.84-$60,298.08 활성 PRZ 내부에서 bearish Shark D $60,138.96과 현재가가 거의 일치하며, 상단 $60,200-$60,550에 bearish Bat/Butterfly/Gartley PRZ가 중첩",
        "반대 조건으로 ICT는 현재가가 EQ $60,487.35 아래 discount 영역이며, $60,050.00 방어와 $60,162.00 / $60,245.00 회복 시 bullish setup으로 전환될 수 있다고 평가"
      ],
      "setup_vs_structure": "구조적 판단과 실행 셋업은 대체로 약세 방향으로 정렬되어 있다. 다만 현재가가 $60,050.00 전후의 저점·PRZ·피보나치 지지 클러스터에 매우 근접해 있어, 즉시 추격보다는 반등 실패 또는 구조 회복 실패 여부를 확인해야 하는 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 3,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        60050.0,
        60048.23,
        59980.55,
        59841.3,
        59600.0,
        59530.7,
        59300.0,
        58030.0
      ],
      "resistance": [
        60158.74,
        60162.0,
        60202.4,
        60245.0,
        60288.27,
        60476.03,
        60487.35,
        60557.8,
        60576.9,
        60752.8,
        60924.7,
        61931.1
      ]
    },
    "confluences": [
      "ICT의 range low $60,050.00, Wyckoff Phase E $60,050.00, Fibonacci ext_1.618 $60,048.23, Harmonic bullish Bat D $60,048.51이 모두 $60,048-$60,050 구간을 핵심 단기 구조 지지로 지목한다.",
      "ICT의 bearish CHoCH 레벨 $60,162.00과 Fibonacci ext_1.414 $60,158.74, Harmonic bullish Gartley 완료 D $60,162.00 및 bearish Shark D $60,138.96이 $60,140-$60,162 구간에서 구조 충돌을 형성한다.",
      "Wyckoff SOW $60,202.40, ICT bullish BOS $60,245.00, Fibonacci ext_1.272 $60,235.66, Harmonic PRZ $60,200.52-$60,445.38이 $60,200-$60,245 구간을 1차 회복·실패 판단 구간으로 겹쳐 제시한다.",
      "Candlestick EMA20 $60,476.03, ICT EQ $60,487.35, Harmonic bearish Bat PRZ 상단 $60,487.38이 $60,476-$60,487 부근을 강한 단기 저항 클러스터로 만든다.",
      "ICT bullish BOS $60,557.80, Wyckoff LPSY $60,576.90, Fibonacci ret_0.382 $60,589.93이 $60,558-$60,590 구간을 구조적 공급 재출현 구간으로 일치시킨다.",
      "Wyckoff AR $60,752.80, Fibonacci golden ratio $60,717.77, ICT 전일 고가 $60,697.60 및 UTAD $60,924.70이 $60,700-$60,925 구간을 상위 구조 회복 여부의 핵심 저항대로 제시한다.",
      "Derivatives의 하방 청산 레벨 $59,600 / $59,300은 ICT 전일 저가 $59,530.70 및 Harmonic bearish TP 영역 $59,840-$59,865와 함께 하단 유동성 밀집 구간을 형성한다."
    ],
    "conflicts": [
      "ICT는 구조상 마지막 이벤트를 $60,162.00 bearish CHoCH로 보아 structure_bias는 bearish로 두지만, 현재가가 EQ $60,487.35 아래 discount이고 $60,050.00 근처라는 이유로 setup_bias는 강한 bullish로 평가한다.",
      "Wyckoff는 BC $61,188.00 → ST $61,931.10 → UTAD $60,924.70 → LPSY $60,576.90 → SOW $60,202.40 → Phase E $60,050.00의 분배 진행을 핵심 구조로 보지만, Candlestick·Derivatives·Harmonic은 확정 구조 자체는 neutral로 보며 실행 조건만 약세로 본다.",
      "Harmonic 내부에서는 bearish Shark PRZ $59,979.84-$60,298.08과 상단 bearish PRZ들이 우세하지만, 동시에 confirmed bullish Gartley PRZ $60,109.93-$60,258.36 및 bullish Bat PRZ $59,903.30-$60,193.72가 존재해 현 가격대는 방향성보다 반응 구간 성격이 강하다.",
      "Derivatives는 롱 과밀과 OI 감소를 약세로 해석하지만, CVD 변화 +$2,673.11 및 높은 CVD divergence는 매도 우위가 완전히 확정되지 않았음을 시사한다.",
      "Candlestick은 7일 범위 EQ $59,980.55 위라 약한 프리미엄이라고 보지만, ICT는 자체 dealing range EQ $60,487.35 아래라 discount로 판단한다. 이는 사용하는 구조 범위가 달라 발생한 해석 차이다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 중립 박스가 아니라 Wyckoff 기준 분배 구조의 후반부, 즉 LPSY $60,576.90 이후 SOW $60,202.40가 발생하고 Phase E $60,050.00 부근으로 진입한 약세 구조로 진단된다. ICT와 Fibonacci도 각각 $60,162.00 bearish CHoCH 및 ext_1.414 $60,158.74 하회로 단기 구조가 약화되었음을 지지하며, Candlestick과 Derivatives는 EMA 하회·고거래량 bearish engulfing·롱 과밀/OI 감소로 실행 조건상 약세 압력을 보강한다. 다만 $60,048-$60,050 구간은 ICT range low, Wyckoff Phase E, Fibonacci 확장 지지, Harmonic PRZ가 겹치는 고반응 구간이므로 구조적으로는 약세이나 즉시 하방 추격 리스크가 높은 위치다. 핵심 조건은 $60,202.40 회복 실패 시 분배 하단 수용이 유지되는 것이며, $60,752.80 이상 회복 수용은 현재 bearish 구조 진단의 1차 무효화 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.68,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.70,\n    \"active_setups\": [\n      \"현재가 $60,149.90이 Wyckoff SOW $60,202.40 아래에 위치하며, LPSY $60,576.90 이후 Phase E 저점 $60,050.00 근처에서 약세 수용 중\",\n      \"현재가가 EMA20 $60,476.03, EMA120 $60,288.27, EMA240 $60,180.39를 모두 하회하여 단기 동적 저항 아래에 머무름\",\n      \"strict 등급 고거래량 bearish engulfing이 확인되었고 품질 점수 0.674로 최근 bullish engulfing 품질 0.530보다 우세\",\n      \"피보나치 하락 확장 ext_1.414 $60,158.74 바로 아래에서 거래 중이며, $60,048.23 / $59,841.30 / $59,506.53이 하방 구조 레벨로 정렬\",\n      \"파생시장에서는 롱 계정 비율 0.664와 롱 과밀 상태가 유지되는 반면, 24시간 OI는 -2.30% 감소하여 신규 추세 매수보다 포지션 언와인딩 성격이 강함\",\n      \"하모닉은 $59,979.84-$60,298.08 활성 PRZ 내부에서 bearish Shark D $60,138.96과 현재가가 거의 일치하며, 상단 $60,200-$60,550에 bearish Bat/Butterfly/Gartley PRZ가 중첩\",\n      \"반대 조건으로 ICT는 현재가가 EQ $60,487.35 아래 discount 영역이며, $60,050.00 방어와 $60,162.00 / $60,245.00 회복 시 bullish setup으로 전환될 수 있다고 평가\"\n    ],\n    \"setup_vs_structure\": \"구조적 판단과 실행 셋업은 대체로 약세 방향으로 정렬되어 있다. 다만 현재가가 $60,050.00 전후의 저점·PRZ·피보나치 지지 클러스터에 매우 근접해 있어, 즉시 추격보다는 반등 실패 또는 구조 회복 실패 여부를 확인해야 하는 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 3,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      60050.0,\n      60048.23,\n      59980.55,\n      59841.3,\n      59600.0,\n      59530.7,\n      59300.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60158.74,\n      60162.0,\n      60202.4,\n      60245.0,\n      60288.27,\n      60476.03,\n      60487.35,\n      60557.8,\n      60576.9,\n      60752.8,\n      60924.7,\n      61931.1\n    ]\n  },\n  \"confluences\": [\n    \"ICT의 range low $60,050.00, Wyckoff Phase E $60,050.00, Fibonacci ext_1.618 $60,048.23, Harmonic bullish Bat D $60,048.51이 모두 $60,048-$60,050 구간을 핵심 단기 구조 지지로 지목한다.\",\n    \"ICT의 bearish CHoCH 레벨 $60,162.00과 Fibonacci ext_1.414 $60,158.74, Harmonic bullish Gartley 완료 D $60,162.00 및 bearish Shark D $60,138.96이 $60,140-$60,162 구간에서 구조 충돌을 형성한다.\",\n    \"Wyckoff SOW $60,202.40, ICT bullish BOS $60,245.00, Fibonacci ext_1.272 $60,235.66, Harmonic PRZ $60,200.52-$60,445.38이 $60,200-$60,245 구간을 1차 회복·실패 판단 구간으로 겹쳐 제시한다.\",\n    \"Candlestick EMA20 $60,476.03, ICT EQ $60,487.35, Harmonic bearish Bat PRZ 상단 $60,487.38이 $60,476-$60,487 부근을 강한 단기 저항 클러스터로 만든다.\",\n    \"ICT bullish BOS $60,557.80, Wyckoff LPSY $60,576.90, Fibonacci ret_0.382 $60,589.93이 $60,558-$60,590 구간을 구조적 공급 재출현 구간으로 일치시킨다.\",\n    \"Wyckoff AR $60,752.80, Fibonacci golden ratio $60,717.77, ICT 전일 고가 $60,697.60 및 UTAD $60,924.70이 $60,700-$60,925 구간을 상위 구조 회복 여부의 핵심 저항대로 제시한다.\",\n    \"Derivatives의 하방 청산 레벨 $59,600 / $59,300은 ICT 전일 저가 $59,530.70 및 Harmonic bearish TP 영역 $59,840-$59,865와 함께 하단 유동성 밀집 구간을 형성한다.\"\n  ],\n  \"conflicts\": [\n    \"ICT는 구조상 마지막 이벤트를 $60,162.00 bearish CHoCH로 보아 structure_bias는 bearish로 두지만, 현재가가 EQ $60,487.35 아래 discount이고 $60,050.00 근처라는 이유로 setup_bias는 강한 bullish로 평가한다.\",\n    \"Wyckoff는 BC $61,188.00 → ST $61,931.10 → UTAD $60,924.70 → LPSY $60,576.90 → SOW $60,202.40 → Phase E $60,050.00의 분배 진행을 핵심 구조로 보지만, Candlestick·Derivatives·Harmonic은 확정 구조 자체는 neutral로 보며 실행 조건만 약세로 본다.\",\n    \"Harmonic 내부에서는 bearish Shark PRZ $59,979.84-$60,298.08과 상단 bearish PRZ들이 우세하지만, 동시에 confirmed bullish Gartley PRZ $60,109.93-$60,258.36 및 bullish Bat PRZ $59,903.30-$60,193.72가 존재해 현 가격대는 방향성보다 반응 구간 성격이 강하다.\",\n    \"Derivatives는 롱 과밀과 OI 감소를 약세로 해석하지만, CVD 변화 +$2,673.11 및 높은 CVD divergence는 매도 우위가 완전히 확정되지 않았음을 시사한다.\",\n    \"Candlestick은 7일 범위 EQ $59,980.55 위라 약한 프리미엄이라고 보지만, ICT는 자체 dealing range EQ $60,487.35 아래라 discount로 판단한다. 이는 사용하는 구조 범위가 달라 발생한 해석 차이다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 분배 구조 적합도가 가장 높고, BC $61,188.00, AR $60,752.80, ST $61,931.10, UTAD $60,924.70, LPSY $60,576.90, SOW $60,202.40, Phase E $60,050.00으로 이어지는 가격·시간 순서가 가장 명확하다. 특히 현재가 $60,149.90이 SOW $60,202.40 및 AR $60,752.80 아래에 있어 단순 조정이 아니라 분배 하단 이탈 이후 약세 수용이라는 구조 진단을 뒷받침한다.\",\n  \"invalidation_level\": \"$60,752.80 상방 수용 회복이 1차 구조 무효화 조건이며, $60,924.70 UTAD 레벨까지 회복하면 현재 분배 Phase E 약세 구조의 신뢰도는 크게 훼손된다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 중립 박스가 아니라 Wyckoff 기준 분배 구조의 후반부, 즉 LPSY $60,576.90 이후 SOW $60,202.40가 발생하고 Phase E $60,050.00 부근으로 진입한 약세 구조로 진단된다. ICT와 Fibonacci도 각각 $60,162.00 bearish CHoCH 및 ext_1.414 $60,158.74 하회로 단기 구조가 약화되었음을 지지하며, Candlestick과 Derivatives는 EMA 하회·고거래량 bearish engulfing·롱 과밀/OI 감소로 실행 조건상 약세 압력을 보강한다. 다만 $60,048-$60,050 구간은 ICT range low, Wyckoff Phase E, Fibonacci 확장 지지, Harmonic PRZ가 겹치는 고반응 구간이므로 구조적으로는 약세이나 즉시 하방 추격 리스크가 높은 위치다. 핵심 조건은 $60,202.40 회복 실패 시 분배 하단 수용이 유지되는 것이며, $60,752.80 이상 회복 수용은 현재 bearish 구조 진단의 1차 무효화 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 60304.57,
        "type": "resistance_test",
        "source": "Fibonacci(fib_confluence strict, score 1.0), Wyckoff(공급 재확인 구간 $60,202.40~$60,576.90), Harmonic(Shark PRZ 상단 $60,298.08·Gartley TP1 $60,326.88·bearish Bat/Butterfly/Gartley PRZ 중첩), ICT(BOS $60,245.00)",
        "description": "고거래량 bearish engulfing 직후 $60,048~$60,050 지지 클러스터 위에서의 반등이 공급 재확인 구간 $60,200~$60,305로 진입. 가장 근접한 strict fib_confluence $60,304.57은 하모닉 Shark PRZ 상단 $60,298.08과 Gartley TP1 $60,326.88 사이로, SOW $60,202.40·BOS $60,245.00 위로의 일시 회복이 수용 실패하며 공급 재출현으로 거절될 1차 반응 구간. 즉시 추격 대신 반등 실패를 확인하라는 council 가이드와 정렬.",
        "est_hours": 3.0,
        "turning_zone": [
          60288.27,
          60358.0
        ],
        "likely_wick": 60326.88,
        "rejection_confirm": 60245.0,
        "invalid_overshoot": 60415.06,
        "calibration_reasoning": "검증된 Gartley TP1 AD0.382($60,326.88)와 4중 피보 컨플루언스($60,304.57)를 상단 앵커로, Chairman 저항 $60,288.27을 존 하단으로 설정(폭 약 0.47×ATR). likely_wick은 강한 하모닉 타깃 TP1에 정렬했고, BOS $60,245.00 하향 회복 실패가 거절 확인, Gartley TP2 $60,415.06 돌파 시 무효화."
      },
      {
        "seq": 2,
        "price": 60050.0,
        "type": "support_test",
        "source": "ICT(range low $60,050.00), Wyckoff(Phase E $60,050.00), Fibonacci(ext_1.618 $60,048.23), Harmonic(bullish Bat D $60,048.51)",
        "description": "공급 거절 후 핵심 고반응 지지 클러스터 $60,048~$60,050 재테스트. ICT range low·Wyckoff Phase E·Fib ext_1.618·Harmonic Bat D가 중첩된 1차 방어선으로, 여기서의 수용 실패(이탈)가 분배 하단 약세 수용을 확정. ICT의 bullish setup($60,050 방어)과 약세 마크다운이 충돌하는 결정 지점.",
        "est_hours": 7.0,
        "turning_zone": [
          59990.0,
          60055.51
        ],
        "likely_wick": 60010.0,
        "rejection_confirm": 60122.2,
        "invalid_overshoot": 59956.69,
        "calibration_reasoning": "검증된 Bat TP1 AD0.382($60,055.51)와 Chairman 지지 클러스터 $60,048~$60,050을 상단으로, 7일 EQ $59,980.55 위·$60,000 라운드 자석을 반영해 하단 $59,990 설정(폭 약 0.45×ATR). likely_wick은 지지 하단 스톱헌트+라운드 자석으로 $60,010, Butterfly TP1 $60,122.20 회복이 반등 확인, 피보 컨플루언스 $59,956.69 이탈 시 무효화(WP3로 마크다운)."
      },
      {
        "seq": 3,
        "price": 59841.3,
        "type": "extension",
        "source": "Fibonacci(ext_2.0 $59,841.30), Harmonic(bearish TP2 영역 $59,864.76), Chairman(support $59,841.30)",
        "description": "$60,048~$60,050 클러스터 하향 이탈 시 Phase E 마크다운 가속. 중간 레벨 $59,956.69·7일 EQ $59,980.55를 관통하며 Fib ext_2.0 $59,841.30 및 하모닉 bearish TP2 $59,864.76로 1차 확장 목표 도달.",
        "est_hours": 13.0,
        "turning_zone": [
          59797.0,
          59864.76
        ],
        "likely_wick": 59830.0,
        "rejection_confirm": 59896.32,
        "invalid_overshoot": 59750.0,
        "calibration_reasoning": "하방 확장 타깃이므로 존은 base 아래로 확장. 피보 ext_2.0($59,841.30)과 검증된 Bat TP2 AD0.618($59,864.76)이 반응 밴드를 구성(폭 약 0.46×ATR). likely_wick은 피보 레벨 직하 소폭 오버슈트($59,830), Butterfly TP2 $59,896.32 회복이 턴 확인, $59,750 하향 돌파 시 WP4로 연장되며 무효화."
      },
      {
        "seq": 4,
        "price": 59600.0,
        "type": "liquidity_sweep",
        "source": "Derivatives(하방 청산 레벨 $59,600 자석 효과, OI -2.30% 언와인딩), ICT(전일 저가 $59,530.70 근접)",
        "description": "롱 계정 비율 0.664·account_long_crowding 1.000 과밀과 OI 감소 언와인딩 하에서 파생 청산 자석 $59,600 스윕, 전일 저가 $59,530.70 유동성 밀집 구간 접근. CVD +$2,673.11이 잔존해 추가 급락보다 유동성 테스트 성격의 24시간 하단.",
        "est_hours": 19.0,
        "turning_zone": [
          59506.53,
          59600.0
        ],
        "likely_wick": 59513.37,
        "rejection_confirm": 59660.0,
        "invalid_overshoot": 59470.0,
        "calibration_reasoning": "종착 웨이포인트로 존 확대(약 0.64×ATR). 유동성/청산 풀인 전일 저가 $59,530.70(=Butterfly TP3)·Bat TP3 $59,556.0·피보 컨플루언스 $59,513.37·피보 지지 $59,506.53을 포함하도록 하단 확장. likely_wick은 전일 저가 스윕 후 $59,500 라운드 자석 부근 $59,513.37(CVD 잔존 고려 얕은 유동성 테스트), $59,600 재탈환이 반전 확인, $59,470 하회 시 스윕이 아닌 붕괴로 무효화."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60304.57,
        "expected_low": 60100.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 60304.57,
        "expected_low": 60048.23,
        "high_first": true
      },
      "24h": {
        "expected_high": 60304.57,
        "expected_low": 59600.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60487.35,
        "description": "EMA20 $60,476.03 / ICT EQ $60,487.35 클러스터 위로 15분 종가 수용 시 반등이 반전으로 전환되어 할인→프리미엄 플립. $60,557.80·LPSY $60,576.90이 개방되며 약세 마크다운 경로 약화 경고."
      },
      "bearish": {
        "price": 60048.23,
        "description": "$60,048~$60,050 지지 클러스터(Fib ext_1.618 $60,048.23·Wyckoff Phase E·ICT range low·Harmonic Bat D) 아래 15분 종가 확정 시 Phase E 마크다운 가속, $59,841.30·$59,600 목표 직행."
      }
    },
    "scenario_invalidation": 60752.8,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60304.57,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(fib_confluence strict, score 1.0), Wyckoff(공급 재확인 구간 $60,202.40~$60,576.90), Harmonic(Shark PRZ 상단 $60,298.08·Gartley TP1 $60,326.88·bearish Bat/Butterfly/Gartley PRZ 중첩), ICT(BOS $60,245.00)\",\n      \"description\": \"고거래량 bearish engulfing 직후 $60,048~$60,050 지지 클러스터 위에서의 반등이 공급 재확인 구간 $60,200~$60,305로 진입. 가장 근접한 strict fib_confluence $60,304.57은 하모닉 Shark PRZ 상단 $60,298.08과 Gartley TP1 $60,326.88 사이로, SOW $60,202.40·BOS $60,245.00 위로의 일시 회복이 수용 실패하며 공급 재출현으로 거절될 1차 반응 구간. 즉시 추격 대신 반등 실패를 확인하라는 council 가이드와 정렬.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60050.0,\n      \"type\": \"support_test\",\n      \"source\": \"ICT(range low $60,050.00), Wyckoff(Phase E $60,050.00), Fibonacci(ext_1.618 $60,048.23), Harmonic(bullish Bat D $60,048.51)\",\n      \"description\": \"공급 거절 후 핵심 고반응 지지 클러스터 $60,048~$60,050 재테스트. ICT range low·Wyckoff Phase E·Fib ext_1.618·Harmonic Bat D가 중첩된 1차 방어선으로, 여기서의 수용 실패(이탈)가 분배 하단 약세 수용을 확정. ICT의 bullish setup($60,050 방어)과 약세 마크다운이 충돌하는 결정 지점.\",\n      \"est_hours\": 7.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59841.3,\n      \"type\": \"extension\",\n      \"source\": \"Fibonacci(ext_2.0 $59,841.30), Harmonic(bearish TP2 영역 $59,864.76), Chairman(support $59,841.30)\",\n      \"description\": \"$60,048~$60,050 클러스터 하향 이탈 시 Phase E 마크다운 가속. 중간 레벨 $59,956.69·7일 EQ $59,980.55를 관통하며 Fib ext_2.0 $59,841.30 및 하모닉 bearish TP2 $59,864.76로 1차 확장 목표 도달.\",\n      \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59600.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives(하방 청산 레벨 $59,600 자석 효과, OI -2.30% 언와인딩), ICT(전일 저가 $59,530.70 근접)\",\n      \"description\": \"롱 계정 비율 0.664·account_long_crowding 1.000 과밀과 OI 감소 언와인딩 하에서 파생 청산 자석 $59,600 스윕, 전일 저가 $59,530.70 유동성 밀집 구간 접근. CVD +$2,673.11이 잔존해 추가 급락보다 유동성 테스트 성격의 24시간 하단.\",\n      \"est_hours\": 19.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\": {\"expected_high\": 60304.57, \"expected_low\": 60100.0, \"high_first\": true},\n    \"8h\": {\"expected_high\": 60304.57, \"expected_low\": 60048.23, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60304.57, \"expected_low\": 59600.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60487.35, \"description\": \"EMA20 $60,476.03 / ICT EQ $60,487.35 클러스터 위로 15분 종가 수용 시 반등이 반전으로 전환되어 할인→프리미엄 플립. $60,557.80·LPSY $60,576.90이 개방되며 약세 마크다운 경로 약화 경고.\"},\n    \"bearish\": {\"price\": 60048.23, \"description\": \"$60,048~$60,050 지지 클러스터(Fib ext_1.618 $60,048.23·Wyckoff Phase E·ICT range low·Harmonic Bat D) 아래 15분 종가 확정 시 Phase E 마크다운 가속, $59,841.30·$59,600 목표 직행.\"}\n  },\n  \"scenario_invalidation\": 60752.8\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60304.57,
        "turning_zone": [
          60288.27,
          60358.0
        ],
        "likely_wick": 60326.88,
        "rejection_confirm": 60245.0,
        "invalid_overshoot": 60415.06,
        "calibration_reasoning": "검증된 Gartley TP1 AD0.382($60,326.88)와 4중 피보 컨플루언스($60,304.57)를 상단 앵커로, Chairman 저항 $60,288.27을 존 하단으로 설정(폭 약 0.47×ATR). likely_wick은 강한 하모닉 타깃 TP1에 정렬했고, BOS $60,245.00 하향 회복 실패가 거절 확인, Gartley TP2 $60,415.06 돌파 시 무효화."
      },
      {
        "seq": 2,
        "base_target": 60050.0,
        "turning_zone": [
          59990.0,
          60055.51
        ],
        "likely_wick": 60010.0,
        "rejection_confirm": 60122.2,
        "invalid_overshoot": 59956.69,
        "calibration_reasoning": "검증된 Bat TP1 AD0.382($60,055.51)와 Chairman 지지 클러스터 $60,048~$60,050을 상단으로, 7일 EQ $59,980.55 위·$60,000 라운드 자석을 반영해 하단 $59,990 설정(폭 약 0.45×ATR). likely_wick은 지지 하단 스톱헌트+라운드 자석으로 $60,010, Butterfly TP1 $60,122.20 회복이 반등 확인, 피보 컨플루언스 $59,956.69 이탈 시 무효화(WP3로 마크다운)."
      },
      {
        "seq": 3,
        "base_target": 59841.3,
        "turning_zone": [
          59797.0,
          59864.76
        ],
        "likely_wick": 59830.0,
        "rejection_confirm": 59896.32,
        "invalid_overshoot": 59750.0,
        "calibration_reasoning": "하방 확장 타깃이므로 존은 base 아래로 확장. 피보 ext_2.0($59,841.30)과 검증된 Bat TP2 AD0.618($59,864.76)이 반응 밴드를 구성(폭 약 0.46×ATR). likely_wick은 피보 레벨 직하 소폭 오버슈트($59,830), Butterfly TP2 $59,896.32 회복이 턴 확인, $59,750 하향 돌파 시 WP4로 연장되며 무효화."
      },
      {
        "seq": 4,
        "base_target": 59600.0,
        "turning_zone": [
          59506.53,
          59600.0
        ],
        "likely_wick": 59513.37,
        "rejection_confirm": 59660.0,
        "invalid_overshoot": 59470.0,
        "calibration_reasoning": "종착 웨이포인트로 존 확대(약 0.64×ATR). 유동성/청산 풀인 전일 저가 $59,530.70(=Butterfly TP3)·Bat TP3 $59,556.0·피보 컨플루언스 $59,513.37·피보 지지 $59,506.53을 포함하도록 하단 확장. likely_wick은 전일 저가 스윕 후 $59,500 라운드 자석 부근 $59,513.37(CVD 잔존 고려 얕은 유동성 테스트), $59,600 재탈환이 반전 확인, $59,470 하회 시 스윕이 아닌 붕괴로 무효화."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60304.57,\n      \"turning_zone\": [60288.27, 60358.00],\n      \"likely_wick\": 60326.88,\n      \"rejection_confirm\": 60245.00,\n      \"invalid_overshoot\": 60415.06,\n      \"calibration_reasoning\": \"검증된 Gartley TP1 AD0.382($60,326.88)와 4중 피보 컨플루언스($60,304.57)를 상단 앵커로, Chairman 저항 $60,288.27을 존 하단으로 설정(폭 약 0.47×ATR). likely_wick은 강한 하모닉 타깃 TP1에 정렬했고, BOS $60,245.00 하향 회복 실패가 거절 확인, Gartley TP2 $60,415.06 돌파 시 무효화.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60050.00,\n      \"turning_zone\": [59990.00, 60055.51],\n      \"likely_wick\": 60010.00,\n      \"rejection_confirm\": 60122.20,\n      \"invalid_overshoot\": 59956.69,\n      \"calibration_reasoning\": \"검증된 Bat TP1 AD0.382($60,055.51)와 Chairman 지지 클러스터 $60,048~$60,050을 상단으로, 7일 EQ $59,980.55 위·$60,000 라운드 자석을 반영해 하단 $59,990 설정(폭 약 0.45×ATR). likely_wick은 지지 하단 스톱헌트+라운드 자석으로 $60,010, Butterfly TP1 $60,122.20 회복이 반등 확인, 피보 컨플루언스 $59,956.69 이탈 시 무효화(WP3로 마크다운).\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59841.30,\n      \"turning_zone\": [59797.00, 59864.76],\n      \"likely_wick\": 59830.00,\n      \"rejection_confirm\": 59896.32,\n      \"invalid_overshoot\": 59750.00,\n      \"calibration_reasoning\": \"하방 확장 타깃이므로 존은 base 아래로 확장. 피보 ext_2.0($59,841.30)과 검증된 Bat TP2 AD0.618($59,864.76)이 반응 밴드를 구성(폭 약 0.46×ATR). likely_wick은 피보 레벨 직하 소폭 오버슈트($59,830), Butterfly TP2 $59,896.32 회복이 턴 확인, $59,750 하향 돌파 시 WP4로 연장되며 무효화.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59600.00,\n      \"turning_zone\": [59506.53, 59600.00],\n      \"likely_wick\": 59513.37,\n      \"rejection_confirm\": 59660.00,\n      \"invalid_overshoot\": 59470.00,\n      \"calibration_reasoning\": \"종착 웨이포인트로 존 확대(약 0.64×ATR). 유동성/청산 풀인 전일 저가 $59,530.70(=Butterfly TP3)·Bat TP3 $59,556.0·피보 컨플루언스 $59,513.37·피보 지지 $59,506.53을 포함하도록 하단 확장. likely_wick은 전일 저가 스윕 후 $59,500 라운드 자석 부근 $59,513.37(CVD 잔존 고려 얕은 유동성 테스트), $59,600 재탈환이 반전 확인, $59,470 하회 시 스윕이 아닌 붕괴로 무효화.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 49.9,
      "chairman": 107.4,
      "operating_path": 271.8,
      "tp_calibrator": 284.0
    },
    "agents": {},
    "total_s": 713.1
  }
}