{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-07-01 13:00 KST",
  "last_price": 59169.7,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.52,
      "setup_signals": [
        "현재가 $59,169.70가 7일 범위 EQ $59,258.45 아래에 있어 소폭 discount zone에 위치",
        "현재가가 EMA20 $58,797.90 및 EMA120 $59,023.06 위에 재진입하여 단기 매수 반응 확인",
        "최근 morning_star@299 후보가 발생했으나 품질 0.429로 확정 강도는 약함",
        "doji@298 및 bullish_harami@298 이후 마지막 5개 캔들 중 최근 캔들이 +0.4% 상승 마감",
        "고거래량 패턴이 없어 매수 전환 신뢰도는 제한적"
      ],
      "reasoning": "현재 BTC는 $59,169.70으로 EMA20 $58,797.90와 EMA120 $59,023.06 위에 있어 단기 반등 setup은 살아 있지만, EMA240 $59,341.24 아래에 있어 구조적 상승 전환은 아직 확인되지 않았습니다. 최근 패턴은 evening_star@296이 품질 0.675로 가장 강한 bearish 패턴이지만, 이후 doji@298, bullish_harami@298, morning_star@299 후보가 이어지며 단기 매도 압력이 둔화된 모습입니다. 7일 고점 $60,758.30과 저점 $57,758.60의 중간값인 EQ $59,258.45 바로 아래에서 거래되고 있어, 이 구간을 상향 수용하면 EMA240 $59,341.24 테스트 가능성이 커집니다. 다만 모든 최근 패턴에 high_volume 확인이 없고 morning star 품질도 0.429에 그쳐, 현재 판단은 확정 구조가 아닌 선행 bullish setup에 가깝습니다.",
      "key_levels": {
        "support": [
          59023.06,
          58797.9,
          57758.6
        ],
        "resistance": [
          59258.45,
          59341.24,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,797.90",
      "risk_scenario": "반대로 $59,023.06 EMA120을 이탈하고 $58,797.90 EMA20 아래에서 15분봉 종가가 형성되면, 최근 morning star와 harami 기반의 bullish setup은 실패로 판단됩니다. 이 경우 evening_star@296의 bearish 신호가 다시 우세해지며 $57,758.60 7일 저점 재테스트 위험이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 151,
        "recent_patterns": 5,
        "pattern_list": [
          "evening_star@296",
          "morning_star@299",
          "doji@298",
          "bullish_harami@292",
          "bullish_harami@298"
        ],
        "atr_value": 248.62,
        "vol_avg_20": 2891.86,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.675,
            "tier": "strict",
            "high_volume": false
          },
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.429,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.419,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.387,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.675,
        "bull_score": 2.0,
        "bear_score": 0.8
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.52,\n  \"setup_signals\": [\n    \"현재가 $59,169.70가 7일 범위 EQ $59,258.45 아래에 있어 소폭 discount zone에 위치\",\n    \"현재가가 EMA20 $58,797.90 및 EMA120 $59,023.06 위에 재진입하여 단기 매수 반응 확인\",\n    \"최근 morning_star@299 후보가 발생했으나 품질 0.429로 확정 강도는 약함\",\n    \"doji@298 및 bullish_harami@298 이후 마지막 5개 캔들 중 최근 캔들이 +0.4% 상승 마감\",\n    \"고거래량 패턴이 없어 매수 전환 신뢰도는 제한적\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,169.70으로 EMA20 $58,797.90와 EMA120 $59,023.06 위에 있어 단기 반등 setup은 살아 있지만, EMA240 $59,341.24 아래에 있어 구조적 상승 전환은 아직 확인되지 않았습니다. 최근 패턴은 evening_star@296이 품질 0.675로 가장 강한 bearish 패턴이지만, 이후 doji@298, bullish_harami@298, morning_star@299 후보가 이어지며 단기 매도 압력이 둔화된 모습입니다. 7일 고점 $60,758.30과 저점 $57,758.60의 중간값인 EQ $59,258.45 바로 아래에서 거래되고 있어, 이 구간을 상향 수용하면 EMA240 $59,341.24 테스트 가능성이 커집니다. 다만 모든 최근 패턴에 high_volume 확인이 없고 morning star 품질도 0.429에 그쳐, 현재 판단은 확정 구조가 아닌 선행 bullish setup에 가깝습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59023.06,\n      58797.9,\n      57758.6\n    ],\n    \"resistance\": [\n      59258.45,\n      59341.24,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,797.90\",\n  \"risk_scenario\": \"반대로 $59,023.06 EMA120을 이탈하고 $58,797.90 EMA20 아래에서 15분봉 종가가 형성되면, 최근 morning star와 harami 기반의 bullish setup은 실패로 판단됩니다. 이 경우 evening_star@296의 bearish 신호가 다시 우세해지며 $57,758.60 7일 저점 재테스트 위험이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $59,169.70는 EQ $58,528.50 위의 premium zone에 위치하여 숏 셋업에 유리",
        "미체결 bearish OB 후보가 $59,552.60-$60,758.30에 활성 상태이며 현재가가 OB 하단에 근접",
        "bearish OB 내부에 FVG 흔적 $60,025.90-$60,383.80가 있어 상방 유동성 유도 후 매도 반응 가능",
        "EMA240 $59,341.24 아래에 위치하여 중기 저항이 현재가 위에 존재",
        "이전 저점 $58,200.00은 이미 하향 돌파되었고, 현재 반등은 $59,552.60 공급 구간 진입 전 프리미엄 되돌림 성격"
      ],
      "reasoning": "구조적으로는 $60,037.00 하향 BOS, $59,712.80 bearish CHoCH, $59,329.20 및 $58,160.00 추가 bearish BOS가 확인되어 아직 bearish structure가 우세하다. 최근 $58,850.00 bullish CHoCH가 발생했지만, 이후 명확한 bullish BOS 연속성이 없고 현재가는 $59,552.60-$60,758.30 bearish OB 하단 아래에 머물러 있어 구조 전환 확정으로 보기 어렵다. 셋업 관점에서는 현재가 $59,169.70가 EQ $58,528.50 위 premium에 있고, EMA240 $59,341.24 및 bearish OB $59,552.60-$60,758.30가 바로 위에 있어 기관 매도 유동성 구간에 가깝다. 따라서 단기적으로는 $59,552.60-$60,155.45 구간 반응 후 $58,557.10, $58,200.00, $57,758.60 재방문 가능성을 우선 본다.",
      "key_levels": {
        "support": [
          58557.1,
          58200.0,
          57758.6
        ],
        "resistance": [
          59341.24,
          59552.6,
          60155.45,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,758.30",
      "risk_scenario": "반대로 가격이 $59,552.60 bearish OB 하단을 강하게 돌파하고 $60,155.45 OB midpoint 위에서 수용되면 숏 셋업의 신뢰도는 크게 약화된다. 특히 $60,758.30 상단까지 돌파하면 bearish OB가 무효화되며, 이전 고점 유동성 회수 이후 bullish continuation 구조로 전환될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 1,
        "nearest_bull_ob_range": {
          "bottom": 57758.6,
          "top": 58557.1,
          "quality": "candidate",
          "score": 0.698
        },
        "nearest_bear_ob_range": {
          "bottom": 59552.6,
          "top": 60758.3,
          "quality": "candidate",
          "score": 0.54
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [
          {
            "type": "bearish_ob",
            "idx": 140,
            "top": 60758.3,
            "bottom": 59552.6,
            "mid": 60155.45,
            "quality": "candidate",
            "score": 0.54,
            "displacement_score": 0.258,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 60025.9,
              "top": 60383.8
            },
            "swept_level": null,
            "source_move_idx": 140,
            "proximity": "nearby"
          }
        ],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 52,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 60037.0
          },
          {
            "type": "BOS_bullish",
            "level": 60325.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 59712.8
          },
          {
            "type": "BOS_bearish",
            "level": 59329.2
          },
          {
            "type": "BOS_bearish",
            "level": 58160.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 58850.0
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 58528.5,
        "range_high": 59298.4,
        "range_low": 57758.6,
        "bull_score": 4.7,
        "bear_score": 13.124,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $60,037.00",
          "bearish CHoCH below $59,712.80",
          "bearish BOS below $59,329.20",
          "bearish BOS below $58,160.00",
          "bearish OB candidate $59,552.60-$60,758.30 (nearby, score=0.54)"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 125.3,
        "deepest_retracement_pct": 127.7,
        "previous_day_high": 60666.6,
        "previous_day_low": 58200.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 59298.4,
            "low": 57758.6
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $59,169.70는 EQ $58,528.50 위의 premium zone에 위치하여 숏 셋업에 유리\",\n    \"미체결 bearish OB 후보가 $59,552.60-$60,758.30에 활성 상태이며 현재가가 OB 하단에 근접\",\n    \"bearish OB 내부에 FVG 흔적 $60,025.90-$60,383.80가 있어 상방 유동성 유도 후 매도 반응 가능\",\n    \"EMA240 $59,341.24 아래에 위치하여 중기 저항이 현재가 위에 존재\",\n    \"이전 저점 $58,200.00은 이미 하향 돌파되었고, 현재 반등은 $59,552.60 공급 구간 진입 전 프리미엄 되돌림 성격\"\n  ],\n  \"reasoning\": \"구조적으로는 $60,037.00 하향 BOS, $59,712.80 bearish CHoCH, $59,329.20 및 $58,160.00 추가 bearish BOS가 확인되어 아직 bearish structure가 우세하다. 최근 $58,850.00 bullish CHoCH가 발생했지만, 이후 명확한 bullish BOS 연속성이 없고 현재가는 $59,552.60-$60,758.30 bearish OB 하단 아래에 머물러 있어 구조 전환 확정으로 보기 어렵다. 셋업 관점에서는 현재가 $59,169.70가 EQ $58,528.50 위 premium에 있고, EMA240 $59,341.24 및 bearish OB $59,552.60-$60,758.30가 바로 위에 있어 기관 매도 유동성 구간에 가깝다. 따라서 단기적으로는 $59,552.60-$60,155.45 구간 반응 후 $58,557.10, $58,200.00, $57,758.60 재방문 가능성을 우선 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      58557.1,\n      58200.0,\n      57758.6\n    ],\n    \"resistance\": [\n      59341.24,\n      59552.6,\n      60155.45,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,758.30\",\n  \"risk_scenario\": \"반대로 가격이 $59,552.60 bearish OB 하단을 강하게 돌파하고 $60,155.45 OB midpoint 위에서 수용되면 숏 셋업의 신뢰도는 크게 약화된다. 특히 $60,758.30 상단까지 돌파하면 bearish OB가 무효화되며, 이전 고점 유동성 회수 이후 bullish continuation 구조로 전환될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "롱 계정 비중 0.710, long_account_ratio 0.728로 계정 포지셔닝이 롱 쪽에 과밀되어 있으며 account_long_crowding=1.000",
        "24시간 OI가 +6.4370% 증가했지만 가격은 24시간 -0.72%로 약세라 신규 레버리지 포지션이 가격 상승을 확인하지 못함",
        "CVD 변화가 -9836.4520으로 음수이며 cvd_divergence=0.150으로 매수 참여가 약함",
        "현재가 $59,169.70이 EMA240 $59,341.24 아래에 있어 상단 구조 저항을 아직 회복하지 못함",
        "근접 상방 청산 밀집 $59,500 규모 3392.23이 있어 단기 위꼬리 유동성 스윕 후 되밀림 가능성",
        "하방 주요 청산/유동성 $57,700 규모 3072.06 및 7일 저점 $57,758.60이 다음 자석 구간"
      ],
      "reasoning": "현재 BTC는 $59,169.70으로 EMA20 $58,797.90과 EMA120 $59,023.06 위에 있지만 EMA240 $59,341.24 아래에 있어 구조적으로는 명확한 BOS나 CHoCH가 확인되지 않은 중립 구간입니다. 그러나 파생 포지셔닝은 약세 셋업입니다. OI가 24시간 +6.4370% 증가하는 동안 가격은 -0.72% 하락했고, CVD도 -9836.4520으로 매도 우위라 신규 레버리지가 가격을 위로 밀지 못하고 있습니다. 특히 롱 계정 비중이 0.710까지 올라 account_long_crowding=1.000을 기록해 롱 포지션이 혼잡하며, $59,500 상방 유동성 스윕 이후 $57,700-$57,758.60 하방 유동성으로 되밀릴 위험이 큽니다.",
      "key_levels": {
        "support": [
          59023.06,
          58797.9,
          57758.6,
          57700,
          56500,
          56000
        ],
        "resistance": [
          59341.24,
          59500,
          60758.3,
          64000,
          64200
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "60758.30",
      "risk_scenario": "$59,500 상방 청산 구간을 단순 스윕하지 않고 강하게 수용한 뒤 EMA240 $59,341.24 위에서 유지되면 숏 압박이 약해지고, $60,758.30 7일 고점 돌파 시 구조가 상승 쪽으로 전환될 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -9836.452,
        "oi_trend": 1.0,
        "oi_change_pct_24h": 6.437,
        "oi_latest": 108627.583,
        "funding_pressure": 0.443,
        "funding_avg": 5.736e-05,
        "funding_change_24h": -2.817e-05,
        "long_account_ratio": 0.728,
        "short_account_ratio": 0.272,
        "long_account_latest": 0.71,
        "short_account_latest": 0.29,
        "long_account_change_24h": 0.0185,
        "short_account_change_24h": -0.0185,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.488,
        "spot_futures_basis_pct": -0.0463,
        "basis_change_lookback": 0.0085,
        "aggregate_score": 0.416,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            57700,
            3072.05784555
          ],
          [
            56500,
            2199.7779400000004
          ],
          [
            56000,
            2267.8812190000003
          ]
        ],
        "liq_above": [
          [
            59500,
            3392.2265967
          ],
          [
            64000,
            2194.6509575
          ],
          [
            64200,
            2719.14584
          ]
        ],
        "strongest_liq_level": 53000,
        "fragility_score": 0.791,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"롱 계정 비중 0.710, long_account_ratio 0.728로 계정 포지셔닝이 롱 쪽에 과밀되어 있으며 account_long_crowding=1.000\",\n    \"24시간 OI가 +6.4370% 증가했지만 가격은 24시간 -0.72%로 약세라 신규 레버리지 포지션이 가격 상승을 확인하지 못함\",\n    \"CVD 변화가 -9836.4520으로 음수이며 cvd_divergence=0.150으로 매수 참여가 약함\",\n    \"현재가 $59,169.70이 EMA240 $59,341.24 아래에 있어 상단 구조 저항을 아직 회복하지 못함\",\n    \"근접 상방 청산 밀집 $59,500 규모 3392.23이 있어 단기 위꼬리 유동성 스윕 후 되밀림 가능성\",\n    \"하방 주요 청산/유동성 $57,700 규모 3072.06 및 7일 저점 $57,758.60이 다음 자석 구간\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,169.70으로 EMA20 $58,797.90과 EMA120 $59,023.06 위에 있지만 EMA240 $59,341.24 아래에 있어 구조적으로는 명확한 BOS나 CHoCH가 확인되지 않은 중립 구간입니다. 그러나 파생 포지셔닝은 약세 셋업입니다. OI가 24시간 +6.4370% 증가하는 동안 가격은 -0.72% 하락했고, CVD도 -9836.4520으로 매도 우위라 신규 레버리지가 가격을 위로 밀지 못하고 있습니다. 특히 롱 계정 비중이 0.710까지 올라 account_long_crowding=1.000을 기록해 롱 포지션이 혼잡하며, $59,500 상방 유동성 스윕 이후 $57,700-$57,758.60 하방 유동성으로 되밀릴 위험이 큽니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59023.06,\n      58797.9,\n      57758.6,\n      57700,\n      56500,\n      56000\n    ],\n    \"resistance\": [\n      59341.24,\n      59500,\n      60758.3,\n      64000,\n      64200\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"60758.30\",\n  \"risk_scenario\": \"$59,500 상방 청산 구간을 단순 스윕하지 않고 강하게 수용한 뒤 EMA240 $59,341.24 위에서 유지되면 숏 압박이 약해지고, $60,758.30 7일 고점 돌파 시 구조가 상승 쪽으로 전환될 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.45,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.56,
      "setup_signals": [
        "가격이 하락 스윙 $58,720 → $57,758.60의 0.786 되돌림 $58,514.26 및 스윙 고점 $58,720을 상회하여 단기 하락 스윙은 되돌림 초과 상태",
        "현재가 $59,169.70은 EQ/0.5 되돌림 $58,239.30보다 약 1.60% 위의 프리미엄 영역",
        "가장 가까운 피보나치 지지 ret_0.786 $58,514.26까지 1.11% 괴리가 있어 단기 되돌림 여지가 존재",
        "골든비율 0.618 지지 $58,352.75와 confluence cluster $58,239.30 부근이 미충족 하방 재테스트 후보",
        "EMA240 $59,341.24가 현재가 위에 있어 상단 추세 저항이 아직 완전히 해소되지 않음"
      ],
      "reasoning": "현재가 $59,169.70은 하락 스윙 고점 $58,720을 상회하고 있어 기존 $58,720 → $57,758.60 하락 파동의 0.786 되돌림 $58,514.26을 이미 넘긴 상태이며, 구조적으로는 단기 하락 구조가 약화되고 bullish 전환 쪽으로 기울어 있다. 다만 가격은 EQ/0.5 레벨 $58,239.30 및 골든비율 0.618 $58,352.75보다 상당히 위에 위치해 프리미엄 영역에 있으며, 가장 가까운 유의미한 피보나치 지지는 $58,514.26로 현재가 대비 1.11% 아래다. confluence_quality가 0.850으로 높고 $58,239.30 구간에 ret_0.382/0.5/0.618 클러스터가 형성되어 있어, 추격 매수보다는 $58,514.26 → $58,352.75 → $58,239.30 재테스트 반응을 확인하는 것이 확률적으로 유리하다. 따라서 확인된 구조는 bullish이나, 사전 실행 setup은 프리미엄 위치와 EMA240 $59,341.24 근접 저항 때문에 단기 bearish pullback 성격이 강해 전체 신호는 neutral로 판단한다.",
      "key_levels": {
        "support": [
          58514.26,
          58352.75,
          58239.3,
          58125.85,
          57758.6,
          57497.1,
          57164.45,
          56797.2
        ],
        "resistance": [
          59341.24,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,758.30",
      "risk_scenario": "가격이 $60,758.30 7일 고점을 강하게 돌파하고 안착하면 프리미엄 구간의 단기 되돌림 setup은 무효화되며, $58,514.26 재테스트 없이 1.272/1.618 상방 확장 시나리오로 전환될 수 있다. 반대로 $58,352.75 골든비율을 하향 이탈하면 $58,239.30 클러스터와 $57,758.60 스윙 저점 재검증 리스크가 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $58,720 → $57,759",
        "direction": "down",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 58514.26,
        "nearest_fib_distance": 1.11,
        "golden_ratio_level": 58352.75,
        "fib_ret_382": 58125.85,
        "fib_ret_618": 58352.75,
        "confluence_zones": [
          {
            "price": 57834.23,
            "count": 3,
            "levels": [
              "ext_1.0",
              "ext_1.0",
              "ret_0.236"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 58239.3,
            "count": 3,
            "levels": [
              "ret_0.382",
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 56656.96,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 57053.57,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 57428.84,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          58514.2604,
          58352.7452,
          58239.3
        ],
        "resistance_levels": [],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 57985.49,
            "distance_pct": 2.0,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 58125.85,
            "distance_pct": 1.76,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 58239.3,
            "distance_pct": 1.57,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 58352.75,
            "distance_pct": 1.38,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 58514.26,
            "distance_pct": 1.11,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.0",
            "price": 57758.6,
            "distance_pct": 2.38,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.272",
            "price": 57497.1,
            "distance_pct": 2.83,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 57360.58,
            "distance_pct": 3.06,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 57164.45,
            "distance_pct": 3.39,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 56797.2,
            "distance_pct": 4.01,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "approaching",
        "reaction_probability": 0.45
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.45,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"가격이 하락 스윙 $58,720 → $57,758.60의 0.786 되돌림 $58,514.26 및 스윙 고점 $58,720을 상회하여 단기 하락 스윙은 되돌림 초과 상태\",\n    \"현재가 $59,169.70은 EQ/0.5 되돌림 $58,239.30보다 약 1.60% 위의 프리미엄 영역\",\n    \"가장 가까운 피보나치 지지 ret_0.786 $58,514.26까지 1.11% 괴리가 있어 단기 되돌림 여지가 존재\",\n    \"골든비율 0.618 지지 $58,352.75와 confluence cluster $58,239.30 부근이 미충족 하방 재테스트 후보\",\n    \"EMA240 $59,341.24가 현재가 위에 있어 상단 추세 저항이 아직 완전히 해소되지 않음\"\n  ],\n  \"reasoning\": \"현재가 $59,169.70은 하락 스윙 고점 $58,720을 상회하고 있어 기존 $58,720 → $57,758.60 하락 파동의 0.786 되돌림 $58,514.26을 이미 넘긴 상태이며, 구조적으로는 단기 하락 구조가 약화되고 bullish 전환 쪽으로 기울어 있다. 다만 가격은 EQ/0.5 레벨 $58,239.30 및 골든비율 0.618 $58,352.75보다 상당히 위에 위치해 프리미엄 영역에 있으며, 가장 가까운 유의미한 피보나치 지지는 $58,514.26로 현재가 대비 1.11% 아래다. confluence_quality가 0.850으로 높고 $58,239.30 구간에 ret_0.382/0.5/0.618 클러스터가 형성되어 있어, 추격 매수보다는 $58,514.26 → $58,352.75 → $58,239.30 재테스트 반응을 확인하는 것이 확률적으로 유리하다. 따라서 확인된 구조는 bullish이나, 사전 실행 setup은 프리미엄 위치와 EMA240 $59,341.24 근접 저항 때문에 단기 bearish pullback 성격이 강해 전체 신호는 neutral로 판단한다.\",\n  \"key_levels\": {\n    \"support\": [\n      58514.26,\n      58352.75,\n      58239.3,\n      58125.85,\n      57758.6,\n      57497.1,\n      57164.45,\n      56797.2\n    ],\n    \"resistance\": [\n      59341.24,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,758.30\",\n  \"risk_scenario\": \"가격이 $60,758.30 7일 고점을 강하게 돌파하고 안착하면 프리미엄 구간의 단기 되돌림 setup은 무효화되며, $58,514.26 재테스트 없이 1.272/1.618 상방 확장 시나리오로 전환될 수 있다. 반대로 $58,352.75 골든비율을 하향 이탈하면 $58,239.30 클러스터와 $57,758.60 스윙 저점 재검증 리스크가 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.42,
      "setup_signals": [
        "활성 구조 15m_cycle_2가 분배 국면으로 판정되었고 BC $59,672.10 → AR $59,423.30 이후 SOW_IN_PHASE_B $58,200.00, UTAD $59,152.00, SOW $58,965.20, Phase E $58,823.90 순서가 형성됨",
        "현재가 $59,169.70는 UTAD $59,152.00을 소폭 상회하여 즉각적인 하방 지속 신호는 약화되었으나, 아직 AR $59,423.30 및 BC $59,672.10 아래에 머물러 분배 구조를 되돌렸다고 보기 어려움",
        "이전 완료 구조 15m_cycle_1도 BC $60,543.30, UT $60,565.60, LPSY $60,024.90, SOW $59,719.60, Phase E $57,758.60로 확인된 bearish 분배 구조",
        "단기 리클레임 기준은 UTAD $59,152.00 유지 여부이며, 이 위에서 버티면 $59,423.30~$59,672.10 재테스트 가능성이 열림",
        "하방 재확인은 $58,965.20 SOW 및 $58,823.90 Phase E 저점 재이탈"
      ],
      "reasoning": "메트릭상 regime은 DIS, regime_fitness는 1.000이며, 활성 구조 15m_cycle_2는 분배 후보이지만 is_confirmed=true로 표시되어 구조적 편향은 bearish이다. 현재 활성 체인은 BC $59,672.10, AR $59,423.30, SOW_IN_PHASE_B $58,200.00, UT $58,850.00, UTAD $59,152.00, SOW $58,965.20, Phase E $58,823.90로 이어져 분배 후 약세 진행 구조에 가깝다. 다만 현재가 $59,169.70는 UTAD $59,152.00을 근소하게 회복한 상태라, 즉각적인 실행 관점에서는 하방 확정 추격보다 $59,152.00 유지/실패 확인이 우선이다. $59,423.30 AR 및 $59,672.10 BC 아래에서 재차 거절되면 분배 Phase E 해석이 유지되며, $58,965.20과 $58,823.90 재이탈 시 하방 구조가 다시 강화된다.",
      "key_levels": {
        "support": [
          58965.2,
          58823.9,
          58200.0,
          57758.6
        ],
        "resistance": [
          59152.0,
          59423.3,
          59672.1,
          60024.9,
          60565.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "59672.10",
      "risk_scenario": "반대 시나리오는 현재가가 UTAD $59,152.00 위에서 계속 유지된 뒤 AR $59,423.30을 회복하고, 최종적으로 활성 BC $59,672.10 위에서 수용되는 경우이다. 이 경우 15분 활성 분배 Phase E 해석은 실패로 기울며, $60,024.90 LPSY 및 $60,543.30~$60,565.60 상단 유동성 재테스트가 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 95.7,
        "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",
          "LPSY",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 30,
            "price": 60543.3,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 37,
            "price": 60037.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 84,
            "price": 59883.2,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 149,
            "price": 58988.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 179,
            "price": 60565.6,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 194,
            "price": 60024.9,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 197,
            "price": 59719.6,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 288,
            "price": 57758.6,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 30,
            "end_idx": 288,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 30,
                "price": 60543.3,
                "color": "#ffd166",
                "dt": "2026-06-28 17:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 37,
                "price": 60037.0,
                "color": "#06d6a0",
                "dt": "2026-06-28 19:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 84,
                "price": 59883.2,
                "color": "#118ab2",
                "dt": "2026-06-29 07:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 149,
                "price": 58988.0,
                "color": "#ef476f",
                "dt": "2026-06-29 23:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 179,
                "price": 60565.6,
                "color": "#f9844a",
                "dt": "2026-06-30 06:45:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 194,
                "price": 60024.9,
                "color": "#8338ec",
                "dt": "2026-06-30 10:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 197,
                "price": 59719.6,
                "color": "#ef476f",
                "dt": "2026-06-30 11:15:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 288,
                "price": 57758.6,
                "color": "#7209b7",
                "dt": "2026-07-01 10:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "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": 206,
            "end_idx": 298,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 206,
                "price": 59672.1,
                "color": "#ffd166",
                "dt": "2026-06-30 13:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 216,
                "price": 59423.3,
                "color": "#06d6a0",
                "dt": "2026-06-30 16:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 228,
                "price": 59403.0,
                "color": "#118ab2",
                "dt": "2026-06-30 19:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 242,
                "price": 58200.0,
                "color": "#ef476f",
                "dt": "2026-06-30 22:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 268,
                "price": 58850.0,
                "color": "#f9844a",
                "dt": "2026-07-01 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 295,
                "price": 59152.0,
                "color": "#f9844a",
                "dt": "2026-07-01 11:45:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 296,
                "price": 58965.2,
                "color": "#ef476f",
                "dt": "2026-07-01 12:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 298,
                "price": 58823.9,
                "color": "#7209b7",
                "dt": "2026-07-01 12:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 60037.0,
        "main_range_high": 60543.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.42,\n  \"setup_signals\": [\n    \"활성 구조 15m_cycle_2가 분배 국면으로 판정되었고 BC $59,672.10 → AR $59,423.30 이후 SOW_IN_PHASE_B $58,200.00, UTAD $59,152.00, SOW $58,965.20, Phase E $58,823.90 순서가 형성됨\",\n    \"현재가 $59,169.70는 UTAD $59,152.00을 소폭 상회하여 즉각적인 하방 지속 신호는 약화되었으나, 아직 AR $59,423.30 및 BC $59,672.10 아래에 머물러 분배 구조를 되돌렸다고 보기 어려움\",\n    \"이전 완료 구조 15m_cycle_1도 BC $60,543.30, UT $60,565.60, LPSY $60,024.90, SOW $59,719.60, Phase E $57,758.60로 확인된 bearish 분배 구조\",\n    \"단기 리클레임 기준은 UTAD $59,152.00 유지 여부이며, 이 위에서 버티면 $59,423.30~$59,672.10 재테스트 가능성이 열림\",\n    \"하방 재확인은 $58,965.20 SOW 및 $58,823.90 Phase E 저점 재이탈\"\n  ],\n  \"reasoning\": \"메트릭상 regime은 DIS, regime_fitness는 1.000이며, 활성 구조 15m_cycle_2는 분배 후보이지만 is_confirmed=true로 표시되어 구조적 편향은 bearish이다. 현재 활성 체인은 BC $59,672.10, AR $59,423.30, SOW_IN_PHASE_B $58,200.00, UT $58,850.00, UTAD $59,152.00, SOW $58,965.20, Phase E $58,823.90로 이어져 분배 후 약세 진행 구조에 가깝다. 다만 현재가 $59,169.70는 UTAD $59,152.00을 근소하게 회복한 상태라, 즉각적인 실행 관점에서는 하방 확정 추격보다 $59,152.00 유지/실패 확인이 우선이다. $59,423.30 AR 및 $59,672.10 BC 아래에서 재차 거절되면 분배 Phase E 해석이 유지되며, $58,965.20과 $58,823.90 재이탈 시 하방 구조가 다시 강화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      58965.2,\n      58823.9,\n      58200.0,\n      57758.6\n    ],\n    \"resistance\": [\n      59152.0,\n      59423.3,\n      59672.1,\n      60024.9,\n      60565.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"59672.10\",\n  \"risk_scenario\": \"반대 시나리오는 현재가가 UTAD $59,152.00 위에서 계속 유지된 뒤 AR $59,423.30을 회복하고, 최종적으로 활성 BC $59,672.10 위에서 수용되는 경우이다. 이 경우 15분 활성 분배 Phase E 해석은 실패로 기울며, $60,024.90 LPSY 및 $60,543.30~$60,565.60 상단 유동성 재테스트가 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.57,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $59,169.70이 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74 내부에 있으며, D=$59,152.00 부근에서 PRZ 터치/진입 후 반응 확인됨",
        "완료 bearish Bat의 반응 점수는 0.65이며 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached, PRZ_center_reclaimed_or_rejected",
        "최고 점수 forming bearish Bat PRZ $58,955.57-$59,316.17, D=$59,135.87, score=0.969, XAD/BC_EXT/ABCD 3중 Fib confluence가 현재가와 -0.06% 거리",
        "forming bearish Gartley PRZ $58,875.49-$59,185.91도 현재가와 -0.23% 거리에서 겹치며, bearish TP 후보가 $58,778.37, $58,557.50, $58,200.00으로 제시됨",
        "다만 bullish Crab PRZ $58,665.96-$59,012.34 및 bullish Gartley PRZ $59,050.31-$59,384.83도 겹쳐 있어, 하락 신호는 단독 구조 전환이 아니라 PRZ 반응 기반의 선행 셋업임"
      ],
      "reasoning": "15분 BTC/USDT는 현재 $59,169.70으로 여러 고품질 PRZ가 중첩된 구간에 있으며, 가장 중요한 확인 패턴은 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74입니다. 이 Bat은 XAB=0.5029, BCD=2.2281, XAD=0.8846으로 Bat 요건에 근접하고, PRZ 진입 후 AD 0.236 반응이 확인되어 post-confirmation vote-eligible 상태지만 단독으로 구조를 뒤집을 권한은 없습니다. 방향 점수는 bearish 1.01, bullish 0.676으로 하방 우위이나 directional_dominance가 0.198에 불과해 강한 추세 신호보다는 단기 반응/되돌림 셋업으로 해석해야 합니다. 구조적으로는 BOS/CHoCH/수용 확인 데이터가 없으므로 structure_bias는 neutral이며, setup_bias만 PRZ 방어와 확인된 bearish Bat 반응 때문에 bearish입니다.",
      "key_levels": {
        "support": [
          59012.34,
          58802.07,
          58778.37,
          58606.52,
          58557.5,
          58290.0,
          58200.0
        ],
        "resistance": [
          59293.74,
          59316.17,
          59384.83,
          59445.96,
          59704.32,
          59825.66
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,384.83 위 15분 종가 수용",
      "risk_scenario": "가격이 $59,293.74-$59,316.17 상단을 회수하고 특히 bullish Gartley PRZ 상단 $59,384.83 위에서 15분 수용을 만들면, bearish Bat 반응은 실패 PRZ로 전환될 수 있습니다. 그 경우 상단의 bullish Bat/Shark PRZ $59,445.96-$59,825.66이 다음 반응 구간이 되며, bullish TP 후보는 $59,525.97, $59,716.50, $60,024.90 또는 $59,992.08-$60,249.66까지 열립니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 104,
        "completed_patterns_found": 42,
        "forming_d_prz_found": 62,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 60,
        "swing_highs_scanned": 31,
        "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": 14,
          "medium": 35,
          "low": 55
        },
        "prz_status_counts": {
          "active": 42,
          "nearby": 13,
          "watch": 17,
          "far": 32,
          "forming": 25
        },
        "high_confluence_prz_count": 42,
        "strict_patterns_found": 41,
        "candidate_patterns_found": 63,
        "active_patterns_at_prz": 42,
        "nearby_patterns": 13,
        "all_patterns": [
          "bat",
          "gartley",
          "bat",
          "crab",
          "bat",
          "gartley",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "bat",
          "bat",
          "shark",
          "bat",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "gartley",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "gartley",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "crab",
          "crab",
          "bat",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "crab",
          "bat",
          "gartley",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "gartley",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "shark"
        ],
        "all_signals": [
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.969,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 59194.51,
        "price_to_prz": 0.04,
        "prz_range": [
          58918.71,
          59470.3
        ],
        "council_relevant_prz_count": 7,
        "directional_influence_prz_count": 7,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.969,
            "ratio_score": 1.0,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59135.87,
            "prz_range": [
              58955.57,
              59316.17
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.06,
            "price_to_prz_pct_raw": -0.0572,
            "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": 59135.87,
              "a_price": 58200.0,
              "tp1_ad_382": 58778.37,
              "tp2_ad_618": 58557.5,
              "tp3_a_or_structure_liquidity": 58200.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4868,
              "ABC": 0.535
            },
            "x_price": 59403.0,
            "x_idx": 228,
            "x_order": 5,
            "a_price": 58200.0,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 58785.6,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 58472.3,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.951,
            "ratio_score": 0.96,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59030.7,
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_width_pct": 0.526,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.23,
            "price_to_prz_pct_raw": -0.2349,
            "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": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6248,
              "ABC": 0.5474
            },
            "x_price": 59264.4,
            "x_idx": 244,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 249,
            "a_order": 8,
            "b_price": 58850.0,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 58472.3,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59575.14,
            "prz_range": [
              59445.96,
              59704.32
            ],
            "prz_width_pct": 0.434,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.69,
            "price_to_prz_pct_raw": 0.6852,
            "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": 59575.14,
              "a_price": 60666.6,
              "tp1_ad_382": 59992.08,
              "tp2_ad_618": 60249.66,
              "tp3_a_or_structure_liquidity": 60666.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.4849
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 60666.6,
            "a_idx": 162,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 176,
            "b_order": 5,
            "c_price": 60021.4,
            "c_idx": 199,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.947,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58839.15,
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5586,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 176,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59152.0,
            "prz_range": [
              58943.45,
              59293.74
            ],
            "prz_width_pct": 0.593,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.09,
            "price_to_prz_pct_raw": -0.0864,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.381,
                "adverse_move_ratio_ad": 0.17,
                "bars_after_d": 4,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59118.6,
              "a_price": 58290.0,
              "tp1_ad_382": 58802.07,
              "tp2_ad_618": 58606.52,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5029,
              "ABC": 0.6182,
              "BCD": 2.2281,
              "XAD": 0.8846
            },
            "x_price": 59264.4,
            "x_idx": 244,
            "x_order": 8,
            "a_price": 58290.0,
            "a_idx": 259,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 277,
            "b_order": 5,
            "c_price": 58477.1,
            "c_idx": 278,
            "c_order": 3,
            "d_idx": 295
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59217.57,
            "prz_range": [
              59050.31,
              59384.83
            ],
            "prz_width_pct": 0.565,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.08,
            "price_to_prz_pct_raw": 0.0809,
            "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": 59217.57,
              "a_price": 60024.9,
              "tp1_ad_382": 59525.97,
              "tp2_ad_618": 59716.5,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.4783
            },
            "x_price": 58988.0,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60024.9,
            "a_idx": 194,
            "a_order": 3,
            "b_price": 59400.0,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 59698.9,
            "c_idx": 213,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.926,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59652.07,
            "prz_range": [
              59478.48,
              59825.66
            ],
            "prz_width_pct": 0.582,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.82,
            "price_to_prz_pct_raw": 0.8152,
            "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": 59652.07,
              "a_price": 59939.2,
              "tp1_ad_382": 59761.75,
              "tp2_ad_618": 59829.52,
              "tp3_a_or_structure_liquidity": 59939.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.568,
              "ABC": 1.3743
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 59939.2,
            "a_idx": 155,
            "a_order": 3,
            "b_price": 59719.6,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 60021.4,
            "c_idx": 199,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.885,
            "ratio_score": 0.999,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58386.26,
            "prz_range": [
              58303.63,
              58468.88
            ],
            "prz_width_pct": 0.283,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.32,
            "price_to_prz_pct_raw": -1.3241,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 58386.26,
              "a_price": 58780.0,
              "tp1_ad_382": 58536.67,
              "tp2_ad_618": 58629.59,
              "tp3_a_or_structure_liquidity": 58780.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6182,
              "ABC": 0.8019
            },
            "x_price": 58290.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 58780.0,
            "a_idx": 277,
            "a_order": 5,
            "b_price": 58477.1,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 58720.0,
            "c_idx": 284,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59152.0,
            "prz_range": [
              58943.45,
              59293.74
            ],
            "prz_width_pct": 0.593,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.09,
            "price_to_prz_pct_raw": -0.0864,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.381,
                "adverse_move_ratio_ad": 0.17,
                "bars_after_d": 4,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59118.6,
              "a_price": 58290.0,
              "tp1_ad_382": 58802.07,
              "tp2_ad_618": 58606.52,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5029,
              "ABC": 0.6182,
              "BCD": 2.2281,
              "XAD": 0.8846
            },
            "x_price": 59264.4,
            "x_idx": 244,
            "x_order": 8,
            "a_price": 58290.0,
            "a_idx": 259,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 277,
            "b_order": 5,
            "c_price": 58477.1,
            "c_idx": 278,
            "c_order": 3,
            "d_idx": 295
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.969,
            "ratio_score": 1.0,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59135.87,
            "prz_range": [
              58955.57,
              59316.17
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.06,
            "price_to_prz_pct_raw": -0.0572,
            "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": 59135.87,
              "a_price": 58200.0,
              "tp1_ad_382": 58778.37,
              "tp2_ad_618": 58557.5,
              "tp3_a_or_structure_liquidity": 58200.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4868,
              "ABC": 0.535
            },
            "x_price": 59403.0,
            "x_idx": 228,
            "x_order": 5,
            "a_price": 58200.0,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 58785.6,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 58472.3,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.951,
            "ratio_score": 0.96,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59030.7,
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_width_pct": 0.526,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.23,
            "price_to_prz_pct_raw": -0.2349,
            "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": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6248,
              "ABC": 0.5474
            },
            "x_price": 59264.4,
            "x_idx": 244,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 249,
            "a_order": 8,
            "b_price": 58850.0,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 58472.3,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59575.14,
            "prz_range": [
              59445.96,
              59704.32
            ],
            "prz_width_pct": 0.434,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.69,
            "price_to_prz_pct_raw": 0.6852,
            "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": 59575.14,
              "a_price": 60666.6,
              "tp1_ad_382": 59992.08,
              "tp2_ad_618": 60249.66,
              "tp3_a_or_structure_liquidity": 60666.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.4849
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 60666.6,
            "a_idx": 162,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 176,
            "b_order": 5,
            "c_price": 60021.4,
            "c_idx": 199,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.947,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58839.15,
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5586,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 176,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59217.57,
            "prz_range": [
              59050.31,
              59384.83
            ],
            "prz_width_pct": 0.565,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.08,
            "price_to_prz_pct_raw": 0.0809,
            "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": 59217.57,
              "a_price": 60024.9,
              "tp1_ad_382": 59525.97,
              "tp2_ad_618": 59716.5,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.4783
            },
            "x_price": 58988.0,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60024.9,
            "a_idx": 194,
            "a_order": 3,
            "b_price": 59400.0,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 59698.9,
            "c_idx": 213,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.926,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59652.07,
            "prz_range": [
              59478.48,
              59825.66
            ],
            "prz_width_pct": 0.582,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.82,
            "price_to_prz_pct_raw": 0.8152,
            "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": 59652.07,
              "a_price": 59939.2,
              "tp1_ad_382": 59761.75,
              "tp2_ad_618": 59829.52,
              "tp3_a_or_structure_liquidity": 59939.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.568,
              "ABC": 1.3743
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 59939.2,
            "a_idx": 155,
            "a_order": 3,
            "b_price": 59719.6,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 60021.4,
            "c_idx": 199,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.969,
            "ratio_score": 1.0,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59135.87,
            "prz_range": [
              58955.57,
              59316.17
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.06,
            "price_to_prz_pct_raw": -0.0572,
            "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": 59135.87,
              "a_price": 58200.0,
              "tp1_ad_382": 58778.37,
              "tp2_ad_618": 58557.5,
              "tp3_a_or_structure_liquidity": 58200.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4868,
              "ABC": 0.535
            },
            "x_price": 59403.0,
            "x_idx": 228,
            "x_order": 5,
            "a_price": 58200.0,
            "a_idx": 242,
            "a_order": 5,
            "b_price": 58785.6,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 58472.3,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.951,
            "ratio_score": 0.96,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59030.7,
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_width_pct": 0.526,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.23,
            "price_to_prz_pct_raw": -0.2349,
            "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": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6248,
              "ABC": 0.5474
            },
            "x_price": 59264.4,
            "x_idx": 244,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 249,
            "a_order": 8,
            "b_price": 58850.0,
            "b_idx": 268,
            "b_order": 8,
            "c_price": 58472.3,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59575.14,
            "prz_range": [
              59445.96,
              59704.32
            ],
            "prz_width_pct": 0.434,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.69,
            "price_to_prz_pct_raw": 0.6852,
            "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": 59575.14,
              "a_price": 60666.6,
              "tp1_ad_382": 59992.08,
              "tp2_ad_618": 60249.66,
              "tp3_a_or_structure_liquidity": 60666.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.39,
              "ABC": 0.4849
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 60666.6,
            "a_idx": 162,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 176,
            "b_order": 5,
            "c_price": 60021.4,
            "c_idx": 199,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.947,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58839.15,
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.56,
            "price_to_prz_pct_raw": -0.5586,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 176,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59152.0,
            "prz_range": [
              58943.45,
              59293.74
            ],
            "prz_width_pct": 0.593,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.09,
            "price_to_prz_pct_raw": -0.0864,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.381,
                "adverse_move_ratio_ad": 0.17,
                "bars_after_d": 4,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59118.6,
              "a_price": 58290.0,
              "tp1_ad_382": 58802.07,
              "tp2_ad_618": 58606.52,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5029,
              "ABC": 0.6182,
              "BCD": 2.2281,
              "XAD": 0.8846
            },
            "x_price": 59264.4,
            "x_idx": 244,
            "x_order": 8,
            "a_price": 58290.0,
            "a_idx": 259,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 277,
            "b_order": 5,
            "c_price": 58477.1,
            "c_idx": 278,
            "c_order": 3,
            "d_idx": 295
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59217.57,
            "prz_range": [
              59050.31,
              59384.83
            ],
            "prz_width_pct": 0.565,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.08,
            "price_to_prz_pct_raw": 0.0809,
            "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": 59217.57,
              "a_price": 60024.9,
              "tp1_ad_382": 59525.97,
              "tp2_ad_618": 59716.5,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.4783
            },
            "x_price": 58988.0,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60024.9,
            "a_idx": 194,
            "a_order": 3,
            "b_price": 59400.0,
            "b_idx": 204,
            "b_order": 3,
            "c_price": 59698.9,
            "c_idx": 213,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.926,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59652.07,
            "prz_range": [
              59478.48,
              59825.66
            ],
            "prz_width_pct": 0.582,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.82,
            "price_to_prz_pct_raw": 0.8152,
            "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": 59652.07,
              "a_price": 59939.2,
              "tp1_ad_382": 59761.75,
              "tp2_ad_618": 59829.52,
              "tp3_a_or_structure_liquidity": 59939.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.568,
              "ABC": 1.3743
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 59939.2,
            "a_idx": 155,
            "a_order": 3,
            "b_price": 59719.6,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 60021.4,
            "c_idx": 199,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.885,
            "ratio_score": 0.999,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58386.26,
            "prz_range": [
              58303.63,
              58468.88
            ],
            "prz_width_pct": 0.283,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.32,
            "price_to_prz_pct_raw": -1.3241,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 58386.26,
              "a_price": 58780.0,
              "tp1_ad_382": 58536.67,
              "tp2_ad_618": 58629.59,
              "tp3_a_or_structure_liquidity": 58780.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6182,
              "ABC": 0.8019
            },
            "x_price": 58290.0,
            "x_idx": 259,
            "x_order": 3,
            "a_price": 58780.0,
            "a_idx": 277,
            "a_order": 5,
            "b_price": 58477.1,
            "b_idx": 278,
            "b_order": 3,
            "c_price": 58720.0,
            "c_idx": 284,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.835,
            "ratio_score": 0.743,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59159.0,
            "prz_range": [
              58979.54,
              59304.8
            ],
            "prz_width_pct": 0.55,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.05,
            "price_to_prz_pct_raw": -0.0465,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.282,
                "adverse_move_ratio_ad": 0.068,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_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": 59142.17,
              "a_price": 60024.9,
              "tp1_ad_382": 59479.37,
              "tp2_ad_618": 59687.7,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6709,
              "ABC": 0.5314,
              "BCD": 1.4604,
              "XAD": 0.8351
            },
            "x_price": 58988.0,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60024.9,
            "a_idx": 194,
            "a_order": 3,
            "b_price": 59329.2,
            "b_idx": 208,
            "b_order": 8,
            "c_price": 59698.9,
            "c_idx": 213,
            "c_order": 8,
            "d_idx": 223
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.812,
            "ratio_score": 0.641,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 58722.54,
            "prz_range": [
              58622.23,
              58822.84
            ],
            "prz_width_pct": 0.342,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.76,
            "price_to_prz_pct_raw": -0.7557,
            "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": 58722.54,
              "a_price": 58223.3,
              "tp1_ad_382": 58531.83,
              "tp2_ad_618": 58414.01,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6785,
              "ABC": 0.8252
            },
            "x_price": 58785.6,
            "x_idx": 251,
            "x_order": 3,
            "a_price": 58223.3,
            "a_idx": 253,
            "a_order": 3,
            "b_price": 58604.8,
            "b_idx": 256,
            "b_order": 3,
            "c_price": 58290.0,
            "c_idx": 259,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 0.876,
            "prz_score": 0.953,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59037.44,
            "prz_range": [
              58824.78,
              59250.1
            ],
            "prz_width_pct": 0.72,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.22,
            "price_to_prz_pct_raw": -0.2235,
            "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": 59037.44,
              "a_price": 59698.9,
              "tp1_ad_382": 59290.12,
              "tp2_ad_618": 59446.22,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 176,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 216,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.901,
            "ratio_score": 1.0,
            "prz_score": 0.861,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59575.19,
            "prz_range": [
              59289.85,
              59860.53
            ],
            "prz_width_pct": 0.958,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.69,
            "price_to_prz_pct_raw": 0.6853,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59575.19,
              "a_price": 59939.2,
              "tp1_ad_382": 59714.24,
              "tp2_ad_618": 59800.15,
              "tp3_a_or_structure_liquidity": 59939.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4868,
              "ABC": 0.5446
            },
            "x_price": 59552.6,
            "x_idx": 140,
            "x_order": 5,
            "a_price": 59939.2,
            "a_idx": 155,
            "a_order": 3,
            "b_price": 60127.4,
            "b_idx": 168,
            "b_order": 5,
            "c_price": 60024.9,
            "c_idx": 194,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.969,
            "prz_proximity": "active",
            "prz_range": [
              58955.57,
              59316.17
            ],
            "prz_reversal_direction": "down",
            "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": "bearish",
              "source": "bat",
              "d_price": 59135.87,
              "a_price": 58200.0,
              "tp1_ad_382": 58778.37,
              "tp2_ad_618": 58557.5,
              "tp3_a_or_structure_liquidity": 58200.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $58,955.57-$59,316.17: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.951,
            "prz_proximity": "active",
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.23,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $58,875.49-$59,185.91: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "prz_proximity": "nearby",
            "prz_range": [
              59445.96,
              59704.32
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.69,
            "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": 59575.14,
              "a_price": 60666.6,
              "tp1_ad_382": 59992.08,
              "tp2_ad_618": 60249.66,
              "tp3_a_or_structure_liquidity": 60666.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,445.96-$59,704.32: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.947,
            "prz_proximity": "active",
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.56,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $58,665.96-$59,012.34: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.946,
            "prz_proximity": "active",
            "prz_range": [
              58943.45,
              59293.74
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.09,
            "high_confluence_prz": true,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.381,
                "adverse_move_ratio_ad": 0.17,
                "bars_after_d": 4,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59118.6,
              "a_price": 58290.0,
              "tp1_ad_382": 58802.07,
              "tp2_ad_618": 58606.52,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED HIGH PRZ $58,943.45-$59,293.74: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "prz_proximity": "active",
            "prz_range": [
              59050.31,
              59384.83
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.08,
            "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": 59217.57,
              "a_price": 60024.9,
              "tp1_ad_382": 59525.97,
              "tp2_ad_618": 59716.5,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,050.31-$59,384.83: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bearish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.969,
          "ratio_score": 1.0,
          "prz_score": 0.996,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59135.87,
          "prz_range": [
            58955.57,
            59316.17
          ],
          "prz_width_pct": 0.61,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.06,
          "price_to_prz_pct_raw": -0.0572,
          "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": 59135.87,
            "a_price": 58200.0,
            "tp1_ad_382": 58778.37,
            "tp2_ad_618": 58557.5,
            "tp3_a_or_structure_liquidity": 58200.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4868,
            "ABC": 0.535
          },
          "x_price": 59403.0,
          "x_idx": 228,
          "x_order": 5,
          "a_price": 58200.0,
          "a_idx": 242,
          "a_order": 5,
          "b_price": 58785.6,
          "b_idx": 251,
          "b_order": 3,
          "c_price": 58472.3,
          "c_idx": 273,
          "c_order": 8,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bearish",
          "source": "bat",
          "d_price": 59135.87,
          "a_price": 58200.0,
          "tp1_ad_382": 58778.37,
          "tp2_ad_618": 58557.5,
          "tp3_a_or_structure_liquidity": 58200.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bearish",
          "source": "bat",
          "d_price": 59118.6,
          "a_price": 58290.0,
          "tp1_ad_382": 58802.07,
          "tp2_ad_618": 58606.52,
          "tp3_a_or_structure_liquidity": 58290.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 59135.87,
            "a_price": 58200.0,
            "tp1_ad_382": 58778.37,
            "tp2_ad_618": 58557.5,
            "tp3_a_or_structure_liquidity": 58200.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 59030.7,
            "a_price": 58160.0,
            "tp1_ad_382": 58698.09,
            "tp2_ad_618": 58492.61,
            "tp3_a_or_structure_liquidity": 58160.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59575.14,
            "a_price": 60666.6,
            "tp1_ad_382": 59992.08,
            "tp2_ad_618": 60249.66,
            "tp3_a_or_structure_liquidity": 60666.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 58839.15,
            "a_price": 59698.9,
            "tp1_ad_382": 59167.57,
            "tp2_ad_618": 59370.48,
            "tp3_a_or_structure_liquidity": 59698.9,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 59118.6,
            "a_price": 58290.0,
            "tp1_ad_382": 58802.07,
            "tp2_ad_618": 58606.52,
            "tp3_a_or_structure_liquidity": 58290.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59217.57,
            "a_price": 60024.9,
            "tp1_ad_382": 59525.97,
            "tp2_ad_618": 59716.5,
            "tp3_a_or_structure_liquidity": 60024.9,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 59118.6,
            "a_price": 58290.0,
            "tp1_ad_382": 58802.07,
            "tp2_ad_618": 58606.52,
            "tp3_a_or_structure_liquidity": 58290.0,
            "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": 0.676,
          "bearish": 1.01
        },
        "directional_score_total": 1.686,
        "directional_dominance": 0.198
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.57,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $59,169.70이 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74 내부에 있으며, D=$59,152.00 부근에서 PRZ 터치/진입 후 반응 확인됨\",\n    \"완료 bearish Bat의 반응 점수는 0.65이며 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached, PRZ_center_reclaimed_or_rejected\",\n    \"최고 점수 forming bearish Bat PRZ $58,955.57-$59,316.17, D=$59,135.87, score=0.969, XAD/BC_EXT/ABCD 3중 Fib confluence가 현재가와 -0.06% 거리\",\n    \"forming bearish Gartley PRZ $58,875.49-$59,185.91도 현재가와 -0.23% 거리에서 겹치며, bearish TP 후보가 $58,778.37, $58,557.50, $58,200.00으로 제시됨\",\n    \"다만 bullish Crab PRZ $58,665.96-$59,012.34 및 bullish Gartley PRZ $59,050.31-$59,384.83도 겹쳐 있어, 하락 신호는 단독 구조 전환이 아니라 PRZ 반응 기반의 선행 셋업임\"\n  ],\n  \"reasoning\": \"15분 BTC/USDT는 현재 $59,169.70으로 여러 고품질 PRZ가 중첩된 구간에 있으며, 가장 중요한 확인 패턴은 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74입니다. 이 Bat은 XAB=0.5029, BCD=2.2281, XAD=0.8846으로 Bat 요건에 근접하고, PRZ 진입 후 AD 0.236 반응이 확인되어 post-confirmation vote-eligible 상태지만 단독으로 구조를 뒤집을 권한은 없습니다. 방향 점수는 bearish 1.01, bullish 0.676으로 하방 우위이나 directional_dominance가 0.198에 불과해 강한 추세 신호보다는 단기 반응/되돌림 셋업으로 해석해야 합니다. 구조적으로는 BOS/CHoCH/수용 확인 데이터가 없으므로 structure_bias는 neutral이며, setup_bias만 PRZ 방어와 확인된 bearish Bat 반응 때문에 bearish입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59012.34,\n      58802.07,\n      58778.37,\n      58606.52,\n      58557.5,\n      58290.0,\n      58200.0\n    ],\n    \"resistance\": [\n      59293.74,\n      59316.17,\n      59384.83,\n      59445.96,\n      59704.32,\n      59825.66\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,384.83 위 15분 종가 수용\",\n  \"risk_scenario\": \"가격이 $59,293.74-$59,316.17 상단을 회수하고 특히 bullish Gartley PRZ 상단 $59,384.83 위에서 15분 수용을 만들면, bearish Bat 반응은 실패 PRZ로 전환될 수 있습니다. 그 경우 상단의 bullish Bat/Shark PRZ $59,445.96-$59,825.66이 다음 반응 구간이 되며, bullish TP 후보는 $59,525.97, $59,716.50, $60,024.90 또는 $59,992.08-$60,249.66까지 열립니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.67,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.76,
      "active_setups": [
        "ICT 기준 현재가 $59,169.70는 단기 EQ $58,528.50 위의 프리미엄 영역에 있어 매도 셋업 우위",
        "ICT bearish OB 후보 $59,552.60-$60,758.30가 활성 상태이며, 내부에 $60,025.90-$60,383.80 FVG 흔적 존재",
        "Derivatives 기준 24시간 OI +6.4370% 증가에도 가격은 -0.72% 약세, CVD 변화 -9836.4520으로 매수 주도권 부족",
        "롱 계정 비중 0.710, long account ratio 0.728로 롱 포지셔닝이 과밀되어 롱 청산 취약성 확대",
        "Harmonic 기준 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74 내부에서 반응 확인, 추가 forming bearish Bat PRZ $58,955.57-$59,316.17가 현재가와 중첩",
        "Fibonacci 기준 현재가가 EQ/0.5 $58,239.30보다 위의 프리미엄 영역이며, 추격 매수보다 $58,514.26-$58,239.30 재검증 구간이 구조적으로 중요",
        "Candlestick은 가격이 EMA20 $58,797.90 및 EMA120 $59,023.06 위에 재진입했으나, EMA240 $59,341.24 아래라 구조 전환 확인은 미완료"
      ],
      "setup_vs_structure": "구조적 편향과 실행 셋업은 모두 약세 쪽으로 정렬되어 있다. 다만 캔들·피보나치 일부는 단기 반등 또는 하락 스윙 되돌림 초과를 지적하므로, 즉시 하방 확정보다는 $59,258-$59,552 저항대 수용 여부가 실행 리스크의 핵심이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        59023.06,
        58965.2,
        58823.9,
        58802.07,
        58797.9,
        58557.1,
        58514.26,
        58200.0,
        57758.6
      ],
      "resistance": [
        59258.45,
        59293.74,
        59316.17,
        59341.24,
        59423.3,
        59552.6,
        59672.1,
        60025.9,
        60758.3
      ]
    },
    "confluences": [
      "ICT와 Wyckoff가 모두 구조적 약세를 지지한다: ICT는 $60,037.00, $59,712.80, $59,329.20, $58,160.00 부근의 약세 구조 이벤트를 제시했고, Wyckoff는 현재 15m 구조를 분배 Phase E로 해석한다.",
      "저항 클러스터가 $59,258-$59,341에 집중된다: 7일 EQ $59,258.45, Harmonic bearish Bat PRZ 상단 $59,293.74/$59,316.17, EMA240 $59,341.24가 같은 구간에 위치한다.",
      "상위 저항은 $59,423-$59,672에 중첩된다: Wyckoff AR $59,423.30, ICT bearish OB 하단 $59,552.60, Wyckoff BC $59,672.10이 근접해 있어 분배 구조의 방어 구간으로 해석된다.",
      "하방 구조 지지·목표 클러스터는 $58,557-$58,606에 형성된다: ICT 지지 $58,557.10, Harmonic bearish Bat TP2 $58,606.52/$58,557.50, Fibonacci ret_0.786 $58,514.26이 인접한다.",
      "$58,200.00은 다중 구조 기준점이다: ICT 지지, Wyckoff SOW_IN_PHASE_B, Harmonic TP3 및 Fibonacci 하위 클러스터가 모두 이 가격대를 중요하게 본다.",
      "$57,758.60은 7일 저점이자 Wyckoff prior Phase E 저점, ICT 지지, Fibonacci 확장 기준으로 반복 확인되는 핵심 구조 저점이다.",
      "Derivatives와 ICT가 약세 실행 리스크에 동의한다: 롱 과밀과 CVD 음수, OI 증가 속 가격 약세가 프리미엄 영역 및 bearish OB 저항 논리와 정렬된다.",
      "Harmonic의 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74는 Wyckoff UTAD $59,152.00 및 현재가 $59,169.70과 거의 중첩되어 단기 반응 구간으로 작동 중이다."
    ],
    "conflicts": [
      "Candlestick은 EMA20 $58,797.90 및 EMA120 $59,023.06 위 재진입과 약한 morning star 후보를 근거로 단기 bullish setup을 제시하지만, EMA240 $59,341.24 아래에 있어 구조적 상승 전환으로 보기에는 부족하다.",
      "Fibonacci는 $58,720-$57,758.60 하락 스윙의 0.786 되돌림 $58,514.26을 초과했기 때문에 단기 구조 약화를 bullish로 평가하지만, ICT와 Wyckoff는 더 큰 분배·약세 구조가 유지된다고 본다.",
      "Harmonic 내부에는 bearish Bat PRZ $58,943.45-$59,293.74와 bullish Gartley PRZ $59,050.31-$59,384.83가 동시에 존재해 PRZ 자체는 양방향 반응 위험을 포함한다. 다만 확인 반응이 있는 strict/high bearish Bat 쪽이 실행 가중치가 더 높다.",
      "Wyckoff는 현재가가 UTAD $59,152.00을 소폭 상회해 즉각적인 하방 지속 신호가 약해졌다고 보지만, AR $59,423.30 및 BC $59,672.10 아래에서는 분배 구조가 아직 무효화되지 않았다고 판단한다."
    ],
    "executive_summary": "현재 15분 BTC 구조는 중립적 단기 반등이 섞여 있지만, 체계적으로는 Wyckoff 분배 Phase E와 ICT 약세 구조가 우세한 bearish regime으로 진단된다. 가격은 Wyckoff UTAD $59,152.00을 근소하게 상회했으나 AR $59,423.30, BC $59,672.10, ICT bearish OB $59,552.60-$60,758.30 아래에 있어 분배 구조의 무효화는 아직 확인되지 않았다. $59,258-$59,341에는 7일 EQ, bearish harmonic PRZ, EMA240이 겹쳐 구조 저항 클러스터를 이루며, $58,557-$58,200-$57,758.60은 다중 분석이 공유하는 하방 구조 기준선이다. 구조적 리스크는 롱 과밀, OI 증가 속 가격 약세, CVD 음수, 그리고 PRZ 내부 양방향 반응 위험이며, 약세 구조의 본격 무효화는 $60,758.30 상향 수용으로 판단한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.67,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.76,\n    \"active_setups\": [\n      \"ICT 기준 현재가 $59,169.70는 단기 EQ $58,528.50 위의 프리미엄 영역에 있어 매도 셋업 우위\",\n      \"ICT bearish OB 후보 $59,552.60-$60,758.30가 활성 상태이며, 내부에 $60,025.90-$60,383.80 FVG 흔적 존재\",\n      \"Derivatives 기준 24시간 OI +6.4370% 증가에도 가격은 -0.72% 약세, CVD 변화 -9836.4520으로 매수 주도권 부족\",\n      \"롱 계정 비중 0.710, long account ratio 0.728로 롱 포지셔닝이 과밀되어 롱 청산 취약성 확대\",\n      \"Harmonic 기준 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74 내부에서 반응 확인, 추가 forming bearish Bat PRZ $58,955.57-$59,316.17가 현재가와 중첩\",\n      \"Fibonacci 기준 현재가가 EQ/0.5 $58,239.30보다 위의 프리미엄 영역이며, 추격 매수보다 $58,514.26-$58,239.30 재검증 구간이 구조적으로 중요\",\n      \"Candlestick은 가격이 EMA20 $58,797.90 및 EMA120 $59,023.06 위에 재진입했으나, EMA240 $59,341.24 아래라 구조 전환 확인은 미완료\"\n    ],\n    \"setup_vs_structure\": \"구조적 편향과 실행 셋업은 모두 약세 쪽으로 정렬되어 있다. 다만 캔들·피보나치 일부는 단기 반등 또는 하락 스윙 되돌림 초과를 지적하므로, 즉시 하방 확정보다는 $59,258-$59,552 저항대 수용 여부가 실행 리스크의 핵심이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      59023.06,\n      58965.2,\n      58823.9,\n      58802.07,\n      58797.9,\n      58557.1,\n      58514.26,\n      58200.0,\n      57758.6\n    ],\n    \"resistance\": [\n      59258.45,\n      59293.74,\n      59316.17,\n      59341.24,\n      59423.3,\n      59552.6,\n      59672.1,\n      60025.9,\n      60758.3\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Wyckoff가 모두 구조적 약세를 지지한다: ICT는 $60,037.00, $59,712.80, $59,329.20, $58,160.00 부근의 약세 구조 이벤트를 제시했고, Wyckoff는 현재 15m 구조를 분배 Phase E로 해석한다.\",\n    \"저항 클러스터가 $59,258-$59,341에 집중된다: 7일 EQ $59,258.45, Harmonic bearish Bat PRZ 상단 $59,293.74/$59,316.17, EMA240 $59,341.24가 같은 구간에 위치한다.\",\n    \"상위 저항은 $59,423-$59,672에 중첩된다: Wyckoff AR $59,423.30, ICT bearish OB 하단 $59,552.60, Wyckoff BC $59,672.10이 근접해 있어 분배 구조의 방어 구간으로 해석된다.\",\n    \"하방 구조 지지·목표 클러스터는 $58,557-$58,606에 형성된다: ICT 지지 $58,557.10, Harmonic bearish Bat TP2 $58,606.52/$58,557.50, Fibonacci ret_0.786 $58,514.26이 인접한다.\",\n    \"$58,200.00은 다중 구조 기준점이다: ICT 지지, Wyckoff SOW_IN_PHASE_B, Harmonic TP3 및 Fibonacci 하위 클러스터가 모두 이 가격대를 중요하게 본다.\",\n    \"$57,758.60은 7일 저점이자 Wyckoff prior Phase E 저점, ICT 지지, Fibonacci 확장 기준으로 반복 확인되는 핵심 구조 저점이다.\",\n    \"Derivatives와 ICT가 약세 실행 리스크에 동의한다: 롱 과밀과 CVD 음수, OI 증가 속 가격 약세가 프리미엄 영역 및 bearish OB 저항 논리와 정렬된다.\",\n    \"Harmonic의 완료된 strict/high bearish Bat PRZ $58,943.45-$59,293.74는 Wyckoff UTAD $59,152.00 및 현재가 $59,169.70과 거의 중첩되어 단기 반응 구간으로 작동 중이다.\"\n  ],\n  \"conflicts\": [\n    \"Candlestick은 EMA20 $58,797.90 및 EMA120 $59,023.06 위 재진입과 약한 morning star 후보를 근거로 단기 bullish setup을 제시하지만, EMA240 $59,341.24 아래에 있어 구조적 상승 전환으로 보기에는 부족하다.\",\n    \"Fibonacci는 $58,720-$57,758.60 하락 스윙의 0.786 되돌림 $58,514.26을 초과했기 때문에 단기 구조 약화를 bullish로 평가하지만, ICT와 Wyckoff는 더 큰 분배·약세 구조가 유지된다고 본다.\",\n    \"Harmonic 내부에는 bearish Bat PRZ $58,943.45-$59,293.74와 bullish Gartley PRZ $59,050.31-$59,384.83가 동시에 존재해 PRZ 자체는 양방향 반응 위험을 포함한다. 다만 확인 반응이 있는 strict/high bearish Bat 쪽이 실행 가중치가 더 높다.\",\n    \"Wyckoff는 현재가가 UTAD $59,152.00을 소폭 상회해 즉각적인 하방 지속 신호가 약해졌다고 보지만, AR $59,423.30 및 BC $59,672.10 아래에서는 분배 구조가 아직 무효화되지 않았다고 판단한다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 신뢰도 82%로 가장 높고, $60,037.00 하향 BOS, $59,712.80 bearish CHoCH, $59,329.20 및 $58,160.00 추가 bearish BOS, 그리고 $59,552.60-$60,758.30 bearish OB를 통해 구조·레벨·실행 조건을 가장 구체적으로 제시했다. Wyckoff의 분배 Phase E 해석도 이 약세 구조 판단을 보강한다.\",\n  \"invalidation_level\": \"$60,758.30 상향 수용 시 현재 bearish OB와 7일 상단 구조가 무력화되어 약세 구조 판단의 핵심 전제가 훼손된다. 단기 조기 경고선은 Wyckoff BC $59,672.10 및 ICT OB 하단 $59,552.60 상향 안착이다.\",\n  \"executive_summary\": \"현재 15분 BTC 구조는 중립적 단기 반등이 섞여 있지만, 체계적으로는 Wyckoff 분배 Phase E와 ICT 약세 구조가 우세한 bearish regime으로 진단된다. 가격은 Wyckoff UTAD $59,152.00을 근소하게 상회했으나 AR $59,423.30, BC $59,672.10, ICT bearish OB $59,552.60-$60,758.30 아래에 있어 분배 구조의 무효화는 아직 확인되지 않았다. $59,258-$59,341에는 7일 EQ, bearish harmonic PRZ, EMA240이 겹쳐 구조 저항 클러스터를 이루며, $58,557-$58,200-$57,758.60은 다중 분석이 공유하는 하방 구조 기준선이다. 구조적 리스크는 롱 과밀, OI 증가 속 가격 약세, CVD 음수, 그리고 PRZ 내부 양방향 반응 위험이며, 약세 구조의 본격 무효화는 $60,758.30 상향 수용으로 판단한다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.67,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.65,
    "waypoints": [
      {
        "seq": 1,
        "price": 59552.6,
        "type": "liquidity_sweep",
        "source": "ICT (bearish OB 하단 $59,552.60, premium 매도존), Derivatives ($59,500 상방 유동성 스윕), Wyckoff (AR $59,423.30 방어)",
        "description": "현재가 $59,169.70이 프리미엄 영역에서 EMA240 $59,341.24와 AR $59,423.30 위 buy-side 유동성을 스윕하며 ICT bearish OB 하단 $59,552.60에 진입. Candlestick의 morning_star@299·EMA20/120 재진입이 단기 상승 연료를 제공하나, OB 및 BC $59,672.10 분배 방어 구간에서 기관 매도 반응이 기대되는 숏 진입 존. Harmonic PRZ가 아닌 ICT 구조+Derivatives 스윕 논리로 선택.",
        "est_hours": 3.0,
        "turning_zone": [
          59552.6,
          59672.1
        ],
        "likely_wick": 59660.0,
        "rejection_confirm": 59423.3,
        "invalid_overshoot": 59750.0,
        "calibration_reasoning": "ICT bearish OB 하단($59,552.60)과 BC 분배 방어선($59,672.10, Chairman 저항) 사이를 turning_zone으로 설정(폭 $119.5≈0.48 ATR). buy-side 유동성이 BC 상단에 집중돼 likely_wick을 $59,660으로 상향 바이어스; AR $59,423.30 재이탈이 거절 확인, BC 결정적 돌파($59,750)는 강세 전환으로 무효화."
      },
      {
        "seq": 2,
        "price": 58557.1,
        "type": "support_test",
        "source": "ICT (support $58,557.10), Harmonic (완료 bearish Bat TP2 $58,606.52/$58,557.50), Fibonacci (ret_0.786 $58,514.26 인접)",
        "description": "OB 거절 후 첫 하방 구조 지지·목표 클러스터($58,557-$58,606). EMA20 $58,797.90 및 Wyckoff Phase E $58,823.90 이탈로 하방 구조가 재강화되며 도달. 확인된 harmonic bearish Bat의 1차 TP와 정렬되는 medium-confluence 목표.",
        "est_hours": 8.0,
        "turning_zone": [
          58470.0,
          58557.1
        ],
        "likely_wick": 58510.0,
        "rejection_confirm": 58606.52,
        "invalid_overshoot": 58352.75,
        "calibration_reasoning": "Chairman 지지 $58,557.1 기준, 하단은 fib+Chairman 이중지지 $58,514.26을 포함하도록 확장(폭 $87≈0.35 ATR). likely_wick $58,510은 $58,514.26 지지 하단 유동성 태그; 확정 Bat TP2 $58,606.52 재탈환이 반등 확인, golden ratio $58,352.75 이탈 시 이 반등 지점 무효화."
      },
      {
        "seq": 3,
        "price": 58200.0,
        "type": "swing_low",
        "source": "ICT (support), Wyckoff (SOW_IN_PHASE_B $58,200.00), Harmonic (TP3), Fibonacci (strict fib_confluence $58,239.30 인접, score 0.85)",
        "description": "다중 분석이 공유하는 하방 구조 기준선. 상단 $58,239.30에 최상위 WP 후보인 strict fib_confluence(EQ/0.5 되돌림)가 겹쳐 재검증 구간을 형성. 롱 과밀(0.710)·CVD 음수(-9836.45)의 하방 청산 압력이 관통 촉매.",
        "est_hours": 14.0,
        "turning_zone": [
          58120.0,
          58200.0
        ],
        "likely_wick": 58160.0,
        "rejection_confirm": 58239.3,
        "invalid_overshoot": 58000.0,
        "calibration_reasoning": "strict fib_confluence $58,239.30(ret 0.382/0.5/0.618 3중)이 상단 재검증·거절 확인선, Chairman 지지 $58,200과 fib 0.382 $58,125.85·gartley TP3 $58,160 사이가 turning_zone(폭 $80≈0.32 ATR). 롱 과밀(0.710)·CVD 음수 청산 압력으로 likely_wick을 $58,160으로 하향; 라운드넘버 $58,000 이탈 시 무효."
      },
      {
        "seq": 4,
        "price": 57758.6,
        "type": "swing_low",
        "source": "Wyckoff (prior Phase E 저점 $57,758.60), ICT (support), Fibonacci (하위 확장), Derivatives ($57,700-$57,758.60)",
        "description": "7일 저점이자 반복 확인되는 핵심 구조 저점. Wyckoff 분배 Phase E의 측정 목표이며 다중 분석의 최종 하방 유동성 존. 24시간 저점 후보로, 도달 시 롱 청산 종료·반등 반응 주시 구간.",
        "est_hours": 20.0,
        "turning_zone": [
          57570.0,
          57758.6
        ],
        "likely_wick": 57700.0,
        "rejection_confirm": 57834.23,
        "invalid_overshoot": 57428.84,
        "calibration_reasoning": "터미널 웨이포인트로 7일 저점·Wyckoff Phase E 측정목표 $57,758.60 아래 최종 청산 유동성 존을 폭 $188≈0.76 ATR로 확장. 저점 하단 라운드넘버 $57,700을 청산 스윕 wick으로 지정; fib confluence $57,834.23 재탈환이 저점 확정, 다음 확장 클러스터 $57,428.84 이탈은 추가 하락으로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 59552.6,
        "expected_low": 58823.9,
        "high_first": true
      },
      "8h": {
        "expected_high": 59552.6,
        "expected_low": 58557.1,
        "high_first": true
      },
      "24h": {
        "expected_high": 59552.6,
        "expected_low": 57758.6,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 59672.1,
        "description": "Wyckoff BC $59,672.10 상향 수용 시 분배 방어 구간 붕괴 조기 신호. bearish OB 내부 FVG $60,025.90-$60,383.80 및 candidate $60,155.45로의 상승 가속 위험이 커지며 숏 셋업 약화."
      },
      "bearish": {
        "price": 58823.9,
        "description": "Wyckoff Phase E $58,823.90 / EMA20 $58,797.90 이탈 시 하방 구조 재강화. $58,557.10 → $58,239.30/$58,200.00 → $57,758.60로 매도 모멘텀 가속."
      }
    },
    "scenario_invalidation": 60758.3,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.65,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59552.60,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT (bearish OB 하단 $59,552.60, premium 매도존), Derivatives ($59,500 상방 유동성 스윕), Wyckoff (AR $59,423.30 방어)\",\n      \"description\": \"현재가 $59,169.70이 프리미엄 영역에서 EMA240 $59,341.24와 AR $59,423.30 위 buy-side 유동성을 스윕하며 ICT bearish OB 하단 $59,552.60에 진입. Candlestick의 morning_star@299·EMA20/120 재진입이 단기 상승 연료를 제공하나, OB 및 BC $59,672.10 분배 방어 구간에서 기관 매도 반응이 기대되는 숏 진입 존. Harmonic PRZ가 아닌 ICT 구조+Derivatives 스윕 논리로 선택.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 58557.10,\n      \"type\": \"support_test\",\n      \"source\": \"ICT (support $58,557.10), Harmonic (완료 bearish Bat TP2 $58,606.52/$58,557.50), Fibonacci (ret_0.786 $58,514.26 인접)\",\n      \"description\": \"OB 거절 후 첫 하방 구조 지지·목표 클러스터($58,557-$58,606). EMA20 $58,797.90 및 Wyckoff Phase E $58,823.90 이탈로 하방 구조가 재강화되며 도달. 확인된 harmonic bearish Bat의 1차 TP와 정렬되는 medium-confluence 목표.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58200.00,\n      \"type\": \"swing_low\",\n      \"source\": \"ICT (support), Wyckoff (SOW_IN_PHASE_B $58,200.00), Harmonic (TP3), Fibonacci (strict fib_confluence $58,239.30 인접, score 0.85)\",\n      \"description\": \"다중 분석이 공유하는 하방 구조 기준선. 상단 $58,239.30에 최상위 WP 후보인 strict fib_confluence(EQ/0.5 되돌림)가 겹쳐 재검증 구간을 형성. 롱 과밀(0.710)·CVD 음수(-9836.45)의 하방 청산 압력이 관통 촉매.\",\n      \"est_hours\": 14.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 57758.60,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff (prior Phase E 저점 $57,758.60), ICT (support), Fibonacci (하위 확장), Derivatives ($57,700-$57,758.60)\",\n      \"description\": \"7일 저점이자 반복 확인되는 핵심 구조 저점. Wyckoff 분배 Phase E의 측정 목표이며 다중 분석의 최종 하방 유동성 존. 24시간 저점 후보로, 도달 시 롱 청산 종료·반등 반응 주시 구간.\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 59552.60, \"expected_low\": 58823.90, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 59552.60, \"expected_low\": 58557.10, \"high_first\": true},\n    \"24h\": {\"expected_high\": 59552.60, \"expected_low\": 57758.60, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 59672.10, \"description\": \"Wyckoff BC $59,672.10 상향 수용 시 분배 방어 구간 붕괴 조기 신호. bearish OB 내부 FVG $60,025.90-$60,383.80 및 candidate $60,155.45로의 상승 가속 위험이 커지며 숏 셋업 약화.\"},\n    \"bearish\": {\"price\": 58823.90, \"description\": \"Wyckoff Phase E $58,823.90 / EMA20 $58,797.90 이탈 시 하방 구조 재강화. $58,557.10 → $58,239.30/$58,200.00 → $57,758.60로 매도 모멘텀 가속.\"}\n  },\n  \"scenario_invalidation\": 60758.30\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59552.6,
        "turning_zone": [
          59552.6,
          59672.1
        ],
        "likely_wick": 59660.0,
        "rejection_confirm": 59423.3,
        "invalid_overshoot": 59750.0,
        "calibration_reasoning": "ICT bearish OB 하단($59,552.60)과 BC 분배 방어선($59,672.10, Chairman 저항) 사이를 turning_zone으로 설정(폭 $119.5≈0.48 ATR). buy-side 유동성이 BC 상단에 집중돼 likely_wick을 $59,660으로 상향 바이어스; AR $59,423.30 재이탈이 거절 확인, BC 결정적 돌파($59,750)는 강세 전환으로 무효화."
      },
      {
        "seq": 2,
        "base_target": 58557.1,
        "turning_zone": [
          58470.0,
          58557.1
        ],
        "likely_wick": 58510.0,
        "rejection_confirm": 58606.52,
        "invalid_overshoot": 58352.75,
        "calibration_reasoning": "Chairman 지지 $58,557.1 기준, 하단은 fib+Chairman 이중지지 $58,514.26을 포함하도록 확장(폭 $87≈0.35 ATR). likely_wick $58,510은 $58,514.26 지지 하단 유동성 태그; 확정 Bat TP2 $58,606.52 재탈환이 반등 확인, golden ratio $58,352.75 이탈 시 이 반등 지점 무효화."
      },
      {
        "seq": 3,
        "base_target": 58200.0,
        "turning_zone": [
          58120.0,
          58200.0
        ],
        "likely_wick": 58160.0,
        "rejection_confirm": 58239.3,
        "invalid_overshoot": 58000.0,
        "calibration_reasoning": "strict fib_confluence $58,239.30(ret 0.382/0.5/0.618 3중)이 상단 재검증·거절 확인선, Chairman 지지 $58,200과 fib 0.382 $58,125.85·gartley TP3 $58,160 사이가 turning_zone(폭 $80≈0.32 ATR). 롱 과밀(0.710)·CVD 음수 청산 압력으로 likely_wick을 $58,160으로 하향; 라운드넘버 $58,000 이탈 시 무효."
      },
      {
        "seq": 4,
        "base_target": 57758.6,
        "turning_zone": [
          57570.0,
          57758.6
        ],
        "likely_wick": 57700.0,
        "rejection_confirm": 57834.23,
        "invalid_overshoot": 57428.84,
        "calibration_reasoning": "터미널 웨이포인트로 7일 저점·Wyckoff Phase E 측정목표 $57,758.60 아래 최종 청산 유동성 존을 폭 $188≈0.76 ATR로 확장. 저점 하단 라운드넘버 $57,700을 청산 스윕 wick으로 지정; fib confluence $57,834.23 재탈환이 저점 확정, 다음 확장 클러스터 $57,428.84 이탈은 추가 하락으로 무효."
      }
    ],
    "raw_llm_response": "현재가 $59,169.70, ATR $248.62 기준으로 각 웨이포인트의 turning point를 캘리브레이션했습니다. 경로 자체는 유지하고 위치만 정밀화했으며, pre-confirmation Bat/Gartley PRZ는 조건부 보조로만 사용하고 CONFIRMED_REACTION Bat의 TP 사다리를 앵커로 활용했습니다.\n\n```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59552.60,\n      \"turning_zone\": [59552.60, 59672.10],\n      \"likely_wick\": 59660.00,\n      \"rejection_confirm\": 59423.30,\n      \"invalid_overshoot\": 59750.00,\n      \"calibration_reasoning\": \"ICT bearish OB 하단($59,552.60)과 BC 분배 방어선($59,672.10, Chairman 저항) 사이를 turning_zone으로 설정(폭 $119.5≈0.48 ATR). buy-side 유동성이 BC 상단에 집중돼 likely_wick을 $59,660으로 상향 바이어스; AR $59,423.30 재이탈이 거절 확인, BC 결정적 돌파($59,750)는 강세 전환으로 무효화.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 58557.10,\n      \"turning_zone\": [58470.00, 58557.10],\n      \"likely_wick\": 58510.00,\n      \"rejection_confirm\": 58606.52,\n      \"invalid_overshoot\": 58352.75,\n      \"calibration_reasoning\": \"Chairman 지지 $58,557.1 기준, 하단은 fib+Chairman 이중지지 $58,514.26을 포함하도록 확장(폭 $87≈0.35 ATR). likely_wick $58,510은 $58,514.26 지지 하단 유동성 태그; 확정 Bat TP2 $58,606.52 재탈환이 반등 확인, golden ratio $58,352.75 이탈 시 이 반등 지점 무효화.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58200.00,\n      \"turning_zone\": [58120.00, 58200.00],\n      \"likely_wick\": 58160.00,\n      \"rejection_confirm\": 58239.30,\n      \"invalid_overshoot\": 58000.00,\n      \"calibration_reasoning\": \"strict fib_confluence $58,239.30(ret 0.382/0.5/0.618 3중)이 상단 재검증·거절 확인선, Chairman 지지 $58,200과 fib 0.382 $58,125.85·gartley TP3 $58,160 사이가 turning_zone(폭 $80≈0.32 ATR). 롱 과밀(0.710)·CVD 음수 청산 압력으로 likely_wick을 $58,160으로 하향; 라운드넘버 $58,000 이탈 시 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 57758.60,\n      \"turning_zone\": [57570.00, 57758.60],\n      \"likely_wick\": 57700.00,\n      \"rejection_confirm\": 57834.23,\n      \"invalid_overshoot\": 57428.84,\n      \"calibration_reasoning\": \"터미널 웨이포인트로 7일 저점·Wyckoff Phase E 측정목표 $57,758.60 아래 최종 청산 유동성 존을 폭 $188≈0.76 ATR로 확장. 저점 하단 라운드넘버 $57,700을 청산 스윕 wick으로 지정; fib confluence $57,834.23 재탈환이 저점 확정, 다음 확장 클러스터 $57,428.84 이탈은 추가 하락으로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 58.1,
      "chairman": 110.3,
      "operating_path": 289.1,
      "tp_calibrator": 249.4
    },
    "agents": {},
    "total_s": 707.0
  }
}