{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-06 17:00 KST",
  "last_price": 60965.9,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.88,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $60,965.90가 EQ $60,715.50 위에 위치한 프리미엄 구간",
        "하락 구조 내 되돌림이 63.9%까지 진행되어 매도 재개 구간에 근접",
        "전일 저점 $60,300.00이 이미 하향 돌파되어 sell-side liquidity가 노출된 상태",
        "현재가가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 있어 상위 평균선 저항 우위",
        "최근 확정 구조가 CHoCH_bearish $66,620.00 이후 BOS_bearish $65,508.30, $63,040.00, $62,300.00, $61,067.60로 연속 하락"
      ],
      "reasoning": "확정 구조는 $66,620.00 bearish CHoCH 이후 $65,508.30, $63,040.00, $62,300.00, $61,067.60에서 연속 bearish BOS가 발생했기 때문에 명확히 bearish입니다. 현재가는 $60,965.90로 EQ $60,715.50 위 프리미엄에 있으며, 하락 추세 중 63.9% 되돌림 구간이라 기관 관점에서는 숏 재진입을 노릴 수 있는 위치입니다. 다만 미체결 FVG와 활성 OB가 없고, 가장 가까운 bearish OB는 $67,032.60~$67,448.00로 너무 멀어 즉각적인 공급존 근거는 약합니다. 단기적으로 $61,067.60 재돌파 실패 시 $60,300.00, $59,445.90, $59,080.00 방향으로 sell-side liquidity 재탐색 가능성이 높습니다.",
      "key_levels": {
        "support": [
          60300.0,
          59445.9,
          59451.3,
          59080.0
        ],
        "resistance": [
          61067.6,
          61250.0,
          61520.41,
          61985.1,
          62300.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,300.00",
      "risk_scenario": "$61,067.60을 회복하고 $61,250.00 뉴욕 세션 고점을 상향 돌파하면 단기 숏 압박이 발생할 수 있으며, $62,300.00 위에서 15분봉 종가 수용이 나오면 최근 bearish BOS 구간이 무효화되며 $61,985.10~$62,599.26까지 되돌림 확장이 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 67032.6,
          "top": 67448.0,
          "quality": "candidate",
          "score": 0.532
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "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": 68,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 66620.0
          },
          {
            "type": "BOS_bearish",
            "level": 65508.3
          },
          {
            "type": "BOS_bearish",
            "level": 63040.0
          },
          {
            "type": "BOS_bearish",
            "level": 62300.0
          },
          {
            "type": "BOS_bearish",
            "level": 61067.6
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 4,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 60715.5,
        "range_high": 61985.1,
        "range_low": 59445.9,
        "bull_score": 0.0,
        "bear_score": 15.5,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $66,620.00",
          "bearish BOS below $65,508.30",
          "bearish BOS below $63,040.00",
          "bearish BOS below $62,300.00",
          "bearish BOS below $61,067.60"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 63.9,
        "deepest_retracement_pct": 71.0,
        "previous_day_high": 64380.0,
        "previous_day_low": 60300.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 61250.0,
            "low": 59451.3
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.88,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $60,965.90가 EQ $60,715.50 위에 위치한 프리미엄 구간\",\n    \"하락 구조 내 되돌림이 63.9%까지 진행되어 매도 재개 구간에 근접\",\n    \"전일 저점 $60,300.00이 이미 하향 돌파되어 sell-side liquidity가 노출된 상태\",\n    \"현재가가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 있어 상위 평균선 저항 우위\",\n    \"최근 확정 구조가 CHoCH_bearish $66,620.00 이후 BOS_bearish $65,508.30, $63,040.00, $62,300.00, $61,067.60로 연속 하락\"\n  ],\n  \"reasoning\": \"확정 구조는 $66,620.00 bearish CHoCH 이후 $65,508.30, $63,040.00, $62,300.00, $61,067.60에서 연속 bearish BOS가 발생했기 때문에 명확히 bearish입니다. 현재가는 $60,965.90로 EQ $60,715.50 위 프리미엄에 있으며, 하락 추세 중 63.9% 되돌림 구간이라 기관 관점에서는 숏 재진입을 노릴 수 있는 위치입니다. 다만 미체결 FVG와 활성 OB가 없고, 가장 가까운 bearish OB는 $67,032.60~$67,448.00로 너무 멀어 즉각적인 공급존 근거는 약합니다. 단기적으로 $61,067.60 재돌파 실패 시 $60,300.00, $59,445.90, $59,080.00 방향으로 sell-side liquidity 재탐색 가능성이 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60300.0,\n      59445.9,\n      59451.3,\n      59080.0\n    ],\n    \"resistance\": [\n      61067.6,\n      61250.0,\n      61520.41,\n      61985.1,\n      62300.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,300.00\",\n  \"risk_scenario\": \"$61,067.60을 회복하고 $61,250.00 뉴욕 세션 고점을 상향 돌파하면 단기 숏 압박이 발생할 수 있으며, $62,300.00 위에서 15분봉 종가 수용이 나오면 최근 bearish BOS 구간이 무효화되며 $61,985.10~$62,599.26까지 되돌림 확장이 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.66,
      "setup_signals": [
        "현재가 $60,965.90가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 있어 구조적 반등 수용이 아직 확인되지 않음",
        "24시간 가격 -3.34% 하락 중 OI가 +3.7390% 증가하여 하락 방향 신규 포지션 유입 또는 롱 포지션 압박 가능성 확대",
        "CVD 변화량 -12002.2960으로 매수 체결 참여가 약하고, cvd_divergence 0.300으로 강한 상승 다이버전스는 부재",
        "롱 계정 비율 0.652, account_long_crowding 1.000으로 여전히 롱 포지셔닝이 혼잡해 반대매매 리스크 존재",
        "현물-선물 베이시스 -0.0640%로 선물 할인 상태이며, 베이시스 변화 -0.0135로 파생시장 수요가 약화",
        "하방 청산 유동성 $59,600, $58,600, $58,300에 밀집해 있으며 현재가와 가까운 1차 자석은 $59,600"
      ],
      "reasoning": "확인된 구조는 아직 약세입니다. BTC는 현재 $60,965.90로 EMA120 $61,520.41과 EMA240 $62,599.26 아래에 있으며, $62,100 및 $63,100 상단 유동성/저항을 회복하지 못한 상태입니다. 파생 포지셔닝은 가격이 24시간 -3.34% 하락하는 동안 OI가 +3.7390% 증가해 신규 포지션이 하락 국면에 붙고 있으며, CVD도 -12002.2960으로 현물성 매수 흡수가 약합니다. 다만 현재가는 7일 레인지 EQ 약 $63,286.90 아래의 할인 구간에 있어 $59,600 부근 유동성 스윕 후 반등 시나리오는 열려 있지만, 구조 전환 전까지는 $59,600 → $58,600 하방 유동성 탐색 위험이 더 큽니다.",
      "key_levels": {
        "support": [
          59600,
          59080,
          58600,
          58300
        ],
        "resistance": [
          61520.41,
          62100,
          62599.26,
          63100,
          66800,
          66900
        ]
      },
      "time_horizon": "단기, 약 4-8시간",
      "invalidation_level": "$63,100 상방 15분봉 종가 수용",
      "risk_scenario": "$61,520.41 EMA120을 회복하고 $62,100 상단 유동성을 흡수한 뒤 $63,100 위에서 안착하면, 현재 약세 셋업은 숏 스퀴즈로 전환될 수 있습니다. 이 경우 다음 유동성 목표는 $66,800-$66,900 구간이며, strongest_liq_level $66,900까지 빠른 되돌림이 발생할 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -12002.296,
        "oi_trend": 0.874,
        "oi_change_pct_24h": 3.739,
        "oi_latest": 102272.621,
        "funding_pressure": 0.512,
        "funding_avg": -1.176e-05,
        "funding_change_24h": 1.97e-06,
        "long_account_ratio": 0.671,
        "short_account_ratio": 0.329,
        "long_account_latest": 0.652,
        "short_account_latest": 0.348,
        "long_account_change_24h": -0.0338,
        "short_account_change_24h": 0.0338,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.484,
        "spot_futures_basis_pct": -0.064,
        "basis_change_lookback": -0.0135,
        "aggregate_score": 0.434,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            59600,
            2626.9490295
          ],
          [
            58600,
            2671.0588625
          ],
          [
            58300,
            3375.995282
          ]
        ],
        "liq_above": [
          [
            62100,
            3279.9600831499997
          ],
          [
            63100,
            2562.5578387499995
          ],
          [
            66800,
            3233.8971712499997
          ]
        ],
        "strongest_liq_level": 66900,
        "fragility_score": 0.835,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"현재가 $60,965.90가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 있어 구조적 반등 수용이 아직 확인되지 않음\",\n    \"24시간 가격 -3.34% 하락 중 OI가 +3.7390% 증가하여 하락 방향 신규 포지션 유입 또는 롱 포지션 압박 가능성 확대\",\n    \"CVD 변화량 -12002.2960으로 매수 체결 참여가 약하고, cvd_divergence 0.300으로 강한 상승 다이버전스는 부재\",\n    \"롱 계정 비율 0.652, account_long_crowding 1.000으로 여전히 롱 포지셔닝이 혼잡해 반대매매 리스크 존재\",\n    \"현물-선물 베이시스 -0.0640%로 선물 할인 상태이며, 베이시스 변화 -0.0135로 파생시장 수요가 약화\",\n    \"하방 청산 유동성 $59,600, $58,600, $58,300에 밀집해 있으며 현재가와 가까운 1차 자석은 $59,600\"\n  ],\n  \"reasoning\": \"확인된 구조는 아직 약세입니다. BTC는 현재 $60,965.90로 EMA120 $61,520.41과 EMA240 $62,599.26 아래에 있으며, $62,100 및 $63,100 상단 유동성/저항을 회복하지 못한 상태입니다. 파생 포지셔닝은 가격이 24시간 -3.34% 하락하는 동안 OI가 +3.7390% 증가해 신규 포지션이 하락 국면에 붙고 있으며, CVD도 -12002.2960으로 현물성 매수 흡수가 약합니다. 다만 현재가는 7일 레인지 EQ 약 $63,286.90 아래의 할인 구간에 있어 $59,600 부근 유동성 스윕 후 반등 시나리오는 열려 있지만, 구조 전환 전까지는 $59,600 → $58,600 하방 유동성 탐색 위험이 더 큽니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59600,\n      59080,\n      58600,\n      58300\n    ],\n    \"resistance\": [\n      61520.41,\n      62100,\n      62599.26,\n      63100,\n      66800,\n      66900\n    ]\n  },\n  \"time_horizon\": \"단기, 약 4-8시간\",\n  \"invalidation_level\": \"$63,100 상방 15분봉 종가 수용\",\n  \"risk_scenario\": \"$61,520.41 EMA120을 회복하고 $62,100 상단 유동성을 흡수한 뒤 $63,100 위에서 안착하면, 현재 약세 셋업은 숏 스퀴즈로 전환될 수 있습니다. 이 경우 다음 유동성 목표는 $66,800-$66,900 구간이며, strongest_liq_level $66,900까지 빠른 되돌림이 발생할 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.42,
      "setup_signals": [
        "현재가 $60,965.90가 1차 메인 ACC range low $61,344.80 아래에 위치하여 Phase D/SOS 이후 수용이 아직 불충분함",
        "SOS 고점 $61,500.00 회복 실패 상태로, 단기적으로는 SOS 이후 LPS 확인보다 재시험 압력이 우세함",
        "활성 후보 구조의 BU $61,124.00 위 안착이 아직 확인되지 않아 즉시 상방 추세 전환 근거는 약함",
        "단기 지지 클러스터 $60,644.50~$60,642.40 부근은 SC/ST 재시험 구간으로, 이탈 시 Terminal Spring $60,458.00 재검증 가능성 존재"
      ],
      "reasoning": "지표상 regime은 ACC이며 acc_score 92.5, regime_fitness 0.925로 누적 구조 우위가 강하고, 1차 구조는 SC $61,344.80 → AR $64,739.80 → ST $62,150.80 → Spring $61,330.50 → Terminal Spring $60,458.00 → SOS $61,500.00 흐름을 형성했습니다. 다만 현재가 $60,965.90는 SOS $61,500.00 및 메인 range low $61,344.80 아래에 있어 Phase D가 완전히 확인된 상승 수용이라기보다 LPS/재시험이 필요한 구간입니다. 활성 구조는 SC $60,642.40, AR $60,847.50, ST $60,644.50, BU $61,124.00로 짧은 재누적 후보를 만들고 있으나, BU 위 안착과 $61,344.80~$61,500.00 회복 전까지 setup_bias는 단기 약세 또는 중립적 재시험 쪽입니다. 따라서 구조적 해석은 bullish ACC 후보이지만, 즉시 경로는 $60,642~$60,458 지지 확인 또는 $61,124/$61,500 회복 여부를 먼저 봐야 합니다.",
      "key_levels": {
        "support": [
          60644.5,
          60642.4,
          60458.0,
          59080.0
        ],
        "resistance": [
          61124.0,
          61330.5,
          61344.8,
          61500.0,
          62150.8,
          64739.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,458.00 하향 이탈 및 15분봉 기준 재수용 실패",
      "risk_scenario": "$61,124.00 BU와 $61,344.80 메인 range low를 빠르게 회복하지 못하면, 시장은 SOS 이후 LPS 확인 대신 $60,642.40~$60,644.50 SC/ST 지지대를 다시 테스트할 가능성이 큽니다. 특히 $60,458.00 Terminal Spring이 깨지면 현재 ACC Phase D 해석은 훼손되고, $59,080.00 7일 저점 방향의 유동성 테스트가 열릴 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 87.3,
        "regime": "ACC",
        "regime_state": "acc_candidate",
        "structure_bias": "bullish",
        "phase_context": "acc_candidate / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 84,
            "price": 61344.8,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 93,
            "price": 64739.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 122,
            "price": 62150.8,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 200,
            "price": 61330.5,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 266,
            "price": 60458.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 269,
            "price": 61500.0,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "accumulation",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 84,
            "end_idx": 269,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 84,
                "price": 61344.8,
                "color": "#ffd166",
                "dt": "2026-06-04 11:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 93,
                "price": 64739.8,
                "color": "#06d6a0",
                "dt": "2026-06-04 13:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 122,
                "price": 62150.8,
                "color": "#118ab2",
                "dt": "2026-06-04 20:30:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 200,
                "price": 61330.5,
                "color": "#f9844a",
                "dt": "2026-06-05 16:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 266,
                "price": 60458.0,
                "color": "#f3722c",
                "dt": "2026-06-06 08:30:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 269,
                "price": 61500.0,
                "color": "#06d6a0",
                "dt": "2026-06-06 09:15:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 277,
            "end_idx": 296,
            "phase_count": 4,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 277,
                "price": 60642.4,
                "color": "#ffd166",
                "dt": "2026-06-06 11:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 284,
                "price": 60847.5,
                "color": "#06d6a0",
                "dt": "2026-06-06 13:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 295,
                "price": 60644.5,
                "color": "#118ab2",
                "dt": "2026-06-06 15:45:00+09:00"
              },
              {
                "label": "BU",
                "side": "high",
                "idx": 296,
                "price": 61124.0,
                "color": "#7209b7",
                "dt": "2026-06-06 16:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 61344.8,
        "main_range_high": 64739.8
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.42,\n  \"setup_signals\": [\n    \"현재가 $60,965.90가 1차 메인 ACC range low $61,344.80 아래에 위치하여 Phase D/SOS 이후 수용이 아직 불충분함\",\n    \"SOS 고점 $61,500.00 회복 실패 상태로, 단기적으로는 SOS 이후 LPS 확인보다 재시험 압력이 우세함\",\n    \"활성 후보 구조의 BU $61,124.00 위 안착이 아직 확인되지 않아 즉시 상방 추세 전환 근거는 약함\",\n    \"단기 지지 클러스터 $60,644.50~$60,642.40 부근은 SC/ST 재시험 구간으로, 이탈 시 Terminal Spring $60,458.00 재검증 가능성 존재\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC이며 acc_score 92.5, regime_fitness 0.925로 누적 구조 우위가 강하고, 1차 구조는 SC $61,344.80 → AR $64,739.80 → ST $62,150.80 → Spring $61,330.50 → Terminal Spring $60,458.00 → SOS $61,500.00 흐름을 형성했습니다. 다만 현재가 $60,965.90는 SOS $61,500.00 및 메인 range low $61,344.80 아래에 있어 Phase D가 완전히 확인된 상승 수용이라기보다 LPS/재시험이 필요한 구간입니다. 활성 구조는 SC $60,642.40, AR $60,847.50, ST $60,644.50, BU $61,124.00로 짧은 재누적 후보를 만들고 있으나, BU 위 안착과 $61,344.80~$61,500.00 회복 전까지 setup_bias는 단기 약세 또는 중립적 재시험 쪽입니다. 따라서 구조적 해석은 bullish ACC 후보이지만, 즉시 경로는 $60,642~$60,458 지지 확인 또는 $61,124/$61,500 회복 여부를 먼저 봐야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60644.5,\n      60642.4,\n      60458.0,\n      59080.0\n    ],\n    \"resistance\": [\n      61124.0,\n      61330.5,\n      61344.8,\n      61500.0,\n      62150.8,\n      64739.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,458.00 하향 이탈 및 15분봉 기준 재수용 실패\",\n  \"risk_scenario\": \"$61,124.00 BU와 $61,344.80 메인 range low를 빠르게 회복하지 못하면, 시장은 SOS 이후 LPS 확인 대신 $60,642.40~$60,644.50 SC/ST 지지대를 다시 테스트할 가능성이 큽니다. 특히 $60,458.00 Terminal Spring이 깨지면 현재 ACC Phase D 해석은 훼손되고, $59,080.00 7일 저점 방향의 유동성 테스트가 열릴 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.43,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.35,
      "setup_signals": [
        "엄격 등급 고품질 bearish Gartley 형성 PRZ가 $61,207.56-$61,510.40에 근접, 현재가 $60,965.90 대비 약 +0.64%",
        "해당 bearish Gartley PRZ는 XAD, BC_EXT, ABCD 3개 Fib family가 겹친 고컨플루언스 구간이며 PRZ 폭은 0.494%",
        "D 예상가 $61,358.98 부근에서 반응 확인 시 하락 TP ladder는 $61,014.81, $60,802.17, $60,458.00",
        "현재가가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 있어 상단 PRZ 진입 시 공급 반응 리스크가 큼",
        "단, $60,940.19-$61,150.50에는 candidate-tier bullish Gartley active PRZ가 겹쳐 있어 즉시 방향 확정 신호로 쓰기에는 부족"
      ],
      "reasoning": "현재 핵심 harmonic actionable 구간은 strict/high bearish Gartley PRZ $61,207.56-$61,510.40이며, D 예상가 $61,358.98은 현재가 $60,965.90보다 약 0.64% 위에 있다. 이 PRZ는 ABCD, BC extension, XAD가 모두 겹친 3중 Fib 컨플루언스이고 PRZ score 1.0, pattern score 0.886으로 품질은 좋지만 아직 confirmed_reaction=false라서 단독 하락 전환 근거는 아니다. 반대로 현재 가격 근처 $60,940.19-$61,150.50에는 bullish Gartley active PRZ가 있으나 candidate-tier라 directional voting을 지배할 수 없고, execution_readiness도 watch로 남아 있다. 따라서 확인된 구조 전환 신호가 없는 상태에서는 structure_bias는 neutral, 다만 $61,207.56-$61,510.40 상단 진입 후 거부가 나오면 단기 bearish setup이 강화되는 구도다.",
      "key_levels": {
        "support": [
          61014.81,
          60802.17,
          60458.0,
          60390.23,
          59997.31
        ],
        "resistance": [
          61150.5,
          61207.56,
          61358.98,
          61510.4,
          61550.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,550.00",
      "risk_scenario": "$61,207.56-$61,510.40 bearish Gartley PRZ에서 거부가 아니라 15분봉 종가 기준 $61,550.00 상방 수용이 나오면 bearish reaction setup은 실패로 보고, $61,889.44-$62,135.65의 다음 상단 watch PRZ 또는 EMA240 $62,599.26 방향으로 확장될 수 있다. 반대로 현재 부근의 candidate bullish PRZ가 방어되고 $61,238.12-$61,357.22 TP 구간까지 반등하면 상단 bearish PRZ 진입 전까지는 양방향 압축 구간으로 해석해야 한다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 96,
        "completed_patterns_found": 28,
        "forming_d_prz_found": 68,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 54,
        "swing_highs_scanned": 25,
        "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": 3,
          "medium": 49,
          "low": 44
        },
        "prz_status_counts": {
          "active": 10,
          "nearby": 11,
          "watch": 9,
          "far": 66,
          "forming": 51
        },
        "high_confluence_prz_count": 18,
        "strict_patterns_found": 48,
        "candidate_patterns_found": 48,
        "active_patterns_at_prz": 10,
        "nearby_patterns": 11,
        "all_patterns": [
          "bat",
          "butterfly",
          "gartley",
          "gartley",
          "bat",
          "bat",
          "gartley",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "shark",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "gartley",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "crab",
          "gartley"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.922,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 61045.34,
        "price_to_prz": 0.13,
        "prz_range": [
          60940.19,
          61150.5
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.886,
            "ratio_score": 0.828,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61358.98,
            "prz_range": [
              61207.56,
              61510.4
            ],
            "prz_width_pct": 0.494,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.64,
            "price_to_prz_pct_raw": 0.6448,
            "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": 61358.98,
              "a_price": 60458.0,
              "tp1_ad_382": 61014.81,
              "tp2_ad_618": 60802.17,
              "tp3_a_or_structure_liquidity": 60458.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.647,
              "ABC": 0.736
            },
            "x_price": 61550.0,
            "x_idx": 237,
            "x_order": 8,
            "a_price": 60458.0,
            "a_idx": 266,
            "a_order": 8,
            "b_price": 61164.5,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60644.5,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.911,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60193.77,
            "prz_range": [
              59997.31,
              60390.23
            ],
            "prz_width_pct": 0.653,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.27,
            "price_to_prz_pct_raw": -1.2665,
            "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": 60193.77,
              "a_price": 61550.0,
              "tp1_ad_382": 60711.85,
              "tp2_ad_618": 61031.92,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.603,
              "ABC": 0.647
            },
            "x_price": 59739.1,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 60458.0,
            "b_idx": 266,
            "b_order": 8,
            "c_price": 61164.5,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.838,
            "ratio_score": 0.636,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61045.34,
            "prz_range": [
              60940.19,
              61150.5
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1303,
            "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": 61045.34,
              "a_price": 61550.0,
              "tp1_ad_382": 61238.12,
              "tp2_ad_618": 61357.22,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5566,
              "ABC": 0.8687
            },
            "x_price": 62234.3,
            "x_idx": 207,
            "x_order": 3,
            "a_price": 61550.0,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.9,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60728.35,
            "prz_range": [
              60467.81,
              60988.9
            ],
            "prz_width_pct": 0.858,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.3896,
            "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": 60728.35,
              "a_price": 61985.1,
              "tp1_ad_382": 61208.43,
              "tp2_ad_618": 61505.02,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4842,
              "ABC": 0.4055
            },
            "x_price": 60300.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 61985.1,
            "a_idx": 256,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.913,
            "ratio_score": 0.983,
            "prz_score": 0.892,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60876.4,
            "prz_range": [
              60609.35,
              61143.45
            ],
            "prz_width_pct": 0.877,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1468,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 60876.4,
              "a_price": 61550.0,
              "tp1_ad_382": 61133.72,
              "tp2_ad_618": 61292.69,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7896,
              "ABC": 0.8687
            },
            "x_price": 61067.6,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.85,
            "ratio_score": 0.977,
            "prz_score": 0.924,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61889.44,
            "prz_range": [
              61643.23,
              62135.65
            ],
            "prz_width_pct": 0.796,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.51,
            "price_to_prz_pct_raw": 1.5149,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61889.44,
              "a_price": 60300.0,
              "tp1_ad_382": 61282.28,
              "tp2_ad_618": 60907.17,
              "tp3_a_or_structure_liquidity": 60300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.7261
            },
            "x_price": 62310.0,
            "x_idx": 226,
            "x_order": 3,
            "a_price": 60300.0,
            "a_idx": 229,
            "a_order": 3,
            "b_price": 61550.0,
            "b_idx": 237,
            "b_order": 8,
            "c_price": 60642.4,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.839,
            "ratio_score": 1.0,
            "prz_score": 0.864,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60058.69,
            "prz_range": [
              59773.62,
              60343.77
            ],
            "prz_width_pct": 0.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.49,
            "price_to_prz_pct_raw": -1.4881,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60058.69,
              "a_price": 61500.0,
              "tp1_ad_382": 60609.27,
              "tp2_ad_618": 60949.42,
              "tp3_a_or_structure_liquidity": 61500.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.487,
              "ABC": 0.6088
            },
            "x_price": 59739.1,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 61500.0,
            "a_idx": 269,
            "a_order": 3,
            "b_price": 60642.4,
            "b_idx": 277,
            "b_order": 3,
            "c_price": 61164.5,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.826,
            "ratio_score": 0.974,
            "prz_score": 0.864,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60058.69,
            "prz_range": [
              59773.62,
              60343.77
            ],
            "prz_width_pct": 0.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.49,
            "price_to_prz_pct_raw": -1.4881,
            "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": "butterfly",
              "d_price": 60058.69,
              "a_price": 61942.4,
              "tp1_ad_382": 60778.27,
              "tp2_ad_618": 61222.82,
              "tp3_a_or_structure_liquidity": 61942.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7915,
              "ABC": 0.4016
            },
            "x_price": 60300.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 61942.4,
            "a_idx": 263,
            "a_order": 5,
            "b_price": 60642.4,
            "b_idx": 277,
            "b_order": 3,
            "c_price": 61164.5,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.886,
            "ratio_score": 0.828,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61358.98,
            "prz_range": [
              61207.56,
              61510.4
            ],
            "prz_width_pct": 0.494,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.64,
            "price_to_prz_pct_raw": 0.6448,
            "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": 61358.98,
              "a_price": 60458.0,
              "tp1_ad_382": 61014.81,
              "tp2_ad_618": 60802.17,
              "tp3_a_or_structure_liquidity": 60458.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.647,
              "ABC": 0.736
            },
            "x_price": 61550.0,
            "x_idx": 237,
            "x_order": 8,
            "a_price": 60458.0,
            "a_idx": 266,
            "a_order": 8,
            "b_price": 61164.5,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60644.5,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.886,
            "ratio_score": 0.828,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61358.98,
            "prz_range": [
              61207.56,
              61510.4
            ],
            "prz_width_pct": 0.494,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.64,
            "price_to_prz_pct_raw": 0.6448,
            "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": 61358.98,
              "a_price": 60458.0,
              "tp1_ad_382": 61014.81,
              "tp2_ad_618": 60802.17,
              "tp3_a_or_structure_liquidity": 60458.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.647,
              "ABC": 0.736
            },
            "x_price": 61550.0,
            "x_idx": 237,
            "x_order": 8,
            "a_price": 60458.0,
            "a_idx": 266,
            "a_order": 8,
            "b_price": 61164.5,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60644.5,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.911,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60193.77,
            "prz_range": [
              59997.31,
              60390.23
            ],
            "prz_width_pct": 0.653,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.27,
            "price_to_prz_pct_raw": -1.2665,
            "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": 60193.77,
              "a_price": 61550.0,
              "tp1_ad_382": 60711.85,
              "tp2_ad_618": 61031.92,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.603,
              "ABC": 0.647
            },
            "x_price": 59739.1,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 60458.0,
            "b_idx": 266,
            "b_order": 8,
            "c_price": 61164.5,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.838,
            "ratio_score": 0.636,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61045.34,
            "prz_range": [
              60940.19,
              61150.5
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1303,
            "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": 61045.34,
              "a_price": 61550.0,
              "tp1_ad_382": 61238.12,
              "tp2_ad_618": 61357.22,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5566,
              "ABC": 0.8687
            },
            "x_price": 62234.3,
            "x_idx": 207,
            "x_order": 3,
            "a_price": 61550.0,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.9,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60728.35,
            "prz_range": [
              60467.81,
              60988.9
            ],
            "prz_width_pct": 0.858,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.3896,
            "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": 60728.35,
              "a_price": 61985.1,
              "tp1_ad_382": 61208.43,
              "tp2_ad_618": 61505.02,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4842,
              "ABC": 0.4055
            },
            "x_price": 60300.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 61985.1,
            "a_idx": 256,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.913,
            "ratio_score": 0.983,
            "prz_score": 0.892,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60876.4,
            "prz_range": [
              60609.35,
              61143.45
            ],
            "prz_width_pct": 0.877,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1468,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 60876.4,
              "a_price": 61550.0,
              "tp1_ad_382": 61133.72,
              "tp2_ad_618": 61292.69,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7896,
              "ABC": 0.8687
            },
            "x_price": 61067.6,
            "x_idx": 197,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 237,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.85,
            "ratio_score": 0.977,
            "prz_score": 0.924,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61889.44,
            "prz_range": [
              61643.23,
              62135.65
            ],
            "prz_width_pct": 0.796,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.51,
            "price_to_prz_pct_raw": 1.5149,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61889.44,
              "a_price": 60300.0,
              "tp1_ad_382": 61282.28,
              "tp2_ad_618": 60907.17,
              "tp3_a_or_structure_liquidity": 60300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.7261
            },
            "x_price": 62310.0,
            "x_idx": 226,
            "x_order": 3,
            "a_price": 60300.0,
            "a_idx": 229,
            "a_order": 3,
            "b_price": 61550.0,
            "b_idx": 237,
            "b_order": 8,
            "c_price": 60642.4,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.839,
            "ratio_score": 1.0,
            "prz_score": 0.864,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60058.69,
            "prz_range": [
              59773.62,
              60343.77
            ],
            "prz_width_pct": 0.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.49,
            "price_to_prz_pct_raw": -1.4881,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60058.69,
              "a_price": 61500.0,
              "tp1_ad_382": 60609.27,
              "tp2_ad_618": 60949.42,
              "tp3_a_or_structure_liquidity": 61500.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.487,
              "ABC": 0.6088
            },
            "x_price": 59739.1,
            "x_idx": 236,
            "x_order": 8,
            "a_price": 61500.0,
            "a_idx": 269,
            "a_order": 3,
            "b_price": 60642.4,
            "b_idx": 277,
            "b_order": 3,
            "c_price": 61164.5,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.826,
            "ratio_score": 0.974,
            "prz_score": 0.864,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60058.69,
            "prz_range": [
              59773.62,
              60343.77
            ],
            "prz_width_pct": 0.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.49,
            "price_to_prz_pct_raw": -1.4881,
            "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": "butterfly",
              "d_price": 60058.69,
              "a_price": 61942.4,
              "tp1_ad_382": 60778.27,
              "tp2_ad_618": 61222.82,
              "tp3_a_or_structure_liquidity": 61942.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7915,
              "ABC": 0.4016
            },
            "x_price": 60300.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 61942.4,
            "a_idx": 263,
            "a_order": 5,
            "b_price": 60642.4,
            "b_idx": 277,
            "b_order": 3,
            "c_price": 61164.5,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.824,
            "ratio_score": 0.803,
            "prz_score": 0.9,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60642.4,
            "prz_range": [
              60467.81,
              60988.9
            ],
            "prz_width_pct": 0.858,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.3896,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.389,
                "adverse_move_ratio_ad": 0.887,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60728.35,
              "a_price": 61985.1,
              "tp1_ad_382": 61208.43,
              "tp2_ad_618": 61505.02,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4842,
              "ABC": 0.4055,
              "BCD": 2.5917,
              "XAD": 0.7968
            },
            "x_price": 60300.0,
            "x_idx": 229,
            "x_order": 3,
            "a_price": 61985.1,
            "a_idx": 256,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 260,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 269,
            "c_order": 3,
            "d_idx": 277
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.689,
            "ratio_score": 0.507,
            "prz_score": 0.969,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61250.0,
            "prz_range": [
              61225.43,
              61643.35
            ],
            "prz_width_pct": 0.68,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.77,
            "price_to_prz_pct_raw": 0.7684,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "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.279,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "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": "bearish",
              "source": "gartley",
              "d_price": 61434.39,
              "a_price": 59080.0,
              "tp1_ad_382": 60535.01,
              "tp2_ad_618": 59979.38,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6454,
              "ABC": 0.8219,
              "BCD": 1.0499,
              "XAD": 0.6718
            },
            "x_price": 62310.0,
            "x_idx": 226,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 249,
            "a_order": 8,
            "b_price": 61164.5,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 59451.3,
            "c_idx": 286,
            "c_order": 8,
            "d_idx": 292
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.852,
            "ratio_score": 1.0,
            "prz_score": 0.789,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 61678.43,
            "prz_range": [
              61326.33,
              62030.53
            ],
            "prz_width_pct": 1.142,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.17,
            "price_to_prz_pct_raw": 1.1687,
            "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": 61678.43,
              "a_price": 60458.0,
              "tp1_ad_382": 61212.23,
              "tp2_ad_618": 60924.2,
              "tp3_a_or_structure_liquidity": 60458.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4626,
              "ABC": 0.736
            },
            "x_price": 61985.1,
            "x_idx": 256,
            "x_order": 8,
            "a_price": 60458.0,
            "a_idx": 266,
            "a_order": 8,
            "b_price": 61164.5,
            "b_idx": 279,
            "b_order": 3,
            "c_price": 60644.5,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.849,
            "ratio_score": 1.0,
            "prz_score": 0.745,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61079.66,
            "prz_range": [
              60866.47,
              61292.85
            ],
            "prz_width_pct": 0.698,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 0.19,
            "price_to_prz_pct_raw": 0.1866,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 61079.66,
              "a_price": 59739.1,
              "tp1_ad_382": 60567.57,
              "tp2_ad_618": 60251.19,
              "tp3_a_or_structure_liquidity": 59739.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4601,
              "ABC": 1.364
            },
            "x_price": 63674.9,
            "x_idx": 192,
            "x_order": 8,
            "a_price": 59739.1,
            "a_idx": 236,
            "a_order": 8,
            "b_price": 61550.0,
            "b_idx": 237,
            "b_order": 8,
            "c_price": 59080.0,
            "c_idx": 249,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.886,
            "prz_proximity": "nearby",
            "prz_range": [
              61207.56,
              61510.4
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.64,
            "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": 61358.98,
              "a_price": 60458.0,
              "tp1_ad_382": 61014.81,
              "tp2_ad_618": 60802.17,
              "tp3_a_or_structure_liquidity": 60458.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $61,207.56-$61,510.40: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bearish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.886,
          "ratio_score": 0.828,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 61358.98,
          "prz_range": [
            61207.56,
            61510.4
          ],
          "prz_width_pct": 0.494,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.64,
          "price_to_prz_pct_raw": 0.6448,
          "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": 61358.98,
            "a_price": 60458.0,
            "tp1_ad_382": 61014.81,
            "tp2_ad_618": 60802.17,
            "tp3_a_or_structure_liquidity": 60458.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.647,
            "ABC": 0.736
          },
          "x_price": 61550.0,
          "x_idx": 237,
          "x_order": 8,
          "a_price": 60458.0,
          "a_idx": 266,
          "a_order": 8,
          "b_price": 61164.5,
          "b_idx": 279,
          "b_order": 3,
          "c_price": 60644.5,
          "c_idx": 295,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bearish",
          "source": "gartley",
          "d_price": 61358.98,
          "a_price": 60458.0,
          "tp1_ad_382": 61014.81,
          "tp2_ad_618": 60802.17,
          "tp3_a_or_structure_liquidity": 60458.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 61358.98,
            "a_price": 60458.0,
            "tp1_ad_382": 61014.81,
            "tp2_ad_618": 60802.17,
            "tp3_a_or_structure_liquidity": 60458.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0,
          "bearish": 0.131
        },
        "directional_score_total": 0.131,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.43,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"엄격 등급 고품질 bearish Gartley 형성 PRZ가 $61,207.56-$61,510.40에 근접, 현재가 $60,965.90 대비 약 +0.64%\",\n    \"해당 bearish Gartley PRZ는 XAD, BC_EXT, ABCD 3개 Fib family가 겹친 고컨플루언스 구간이며 PRZ 폭은 0.494%\",\n    \"D 예상가 $61,358.98 부근에서 반응 확인 시 하락 TP ladder는 $61,014.81, $60,802.17, $60,458.00\",\n    \"현재가가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 있어 상단 PRZ 진입 시 공급 반응 리스크가 큼\",\n    \"단, $60,940.19-$61,150.50에는 candidate-tier bullish Gartley active PRZ가 겹쳐 있어 즉시 방향 확정 신호로 쓰기에는 부족\"\n  ],\n  \"reasoning\": \"현재 핵심 harmonic actionable 구간은 strict/high bearish Gartley PRZ $61,207.56-$61,510.40이며, D 예상가 $61,358.98은 현재가 $60,965.90보다 약 0.64% 위에 있다. 이 PRZ는 ABCD, BC extension, XAD가 모두 겹친 3중 Fib 컨플루언스이고 PRZ score 1.0, pattern score 0.886으로 품질은 좋지만 아직 confirmed_reaction=false라서 단독 하락 전환 근거는 아니다. 반대로 현재 가격 근처 $60,940.19-$61,150.50에는 bullish Gartley active PRZ가 있으나 candidate-tier라 directional voting을 지배할 수 없고, execution_readiness도 watch로 남아 있다. 따라서 확인된 구조 전환 신호가 없는 상태에서는 structure_bias는 neutral, 다만 $61,207.56-$61,510.40 상단 진입 후 거부가 나오면 단기 bearish setup이 강화되는 구도다.\",\n  \"key_levels\": {\n    \"support\": [\n      61014.81,\n      60802.17,\n      60458.0,\n      60390.23,\n      59997.31\n    ],\n    \"resistance\": [\n      61150.5,\n      61207.56,\n      61358.98,\n      61510.4,\n      61550.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,550.00\",\n  \"risk_scenario\": \"$61,207.56-$61,510.40 bearish Gartley PRZ에서 거부가 아니라 15분봉 종가 기준 $61,550.00 상방 수용이 나오면 bearish reaction setup은 실패로 보고, $61,889.44-$62,135.65의 다음 상단 watch PRZ 또는 EMA240 $62,599.26 방향으로 확장될 수 있다. 반대로 현재 부근의 candidate bullish PRZ가 방어되고 $61,238.12-$61,357.22 TP 구간까지 반등하면 상단 bearish PRZ 진입 전까지는 양방향 압축 구간으로 해석해야 한다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $60,965.90는 스윙 EQ인 ret_0.5 $60,350.65 위에 있어 프리미엄 영역에 위치하지만, 얕은 되돌림 구조가 유지되고 있음",
        "ret_0.236 $60,825.51을 테스트 중이며 현재가가 해당 지지 위에 있어 단기 반등 셋업이 유효함",
        "ret_0.382 $60,562.90 및 ret_0.5 $60,350.65가 하단 보조 지지로 대기 중",
        "골든비율 ret_0.618 $60,138.40은 가장 중요한 고확률 방어선이며, 이탈 전까지 상승 스윙의 되돌림으로 해석 가능",
        "상단에는 스윙 고점 및 ext_1.0 $61,250.00 저항이 가까워 돌파 확인 전까지는 추격 매수 리스크가 존재함"
      ],
      "reasoning": "현재 피보나치 기준 스윙은 $59,451에서 $61,250으로 형성된 상승 스윙이며, 가격은 ret_0.236 $60,825.51 위에서 테스트 상태를 유지하고 있습니다. ret_0.236 방어가 유지되면 얕은 되돌림 후 재상승 구조로 해석되며, 1차 목표는 $61,250.00, 이후 ext_1.272 $61,739.25 및 ext_1.414 $61,994.66입니다. 다만 구조적으로는 $61,250.00 상단 돌파 및 수용이 아직 확인되지 않았기 때문에 structure_bias는 bullish가 아니라 neutral로 봅니다. 핵심 방어 구간은 ret_0.382 $60,562.90, ret_0.5 $60,350.65, 그리고 골든비율 ret_0.618 $60,138.40이며, confluence_quality 0.600과 reaction_probability 0.65는 중간 이상 수준의 반응 가능성을 시사합니다.",
      "key_levels": {
        "support": [
          60825.51,
          60562.9,
          60350.65,
          60138.4,
          59836.22
        ],
        "resistance": [
          61250.0,
          61739.25,
          61994.66,
          62361.6,
          63048.7
        ]
      },
      "time_horizon": "단기",
      "invalidation_level": "$60,138.40",
      "risk_scenario": "반대로 $60,825.51 ret_0.236 지지가 무너지고 $60,562.90 ret_0.382까지 밀리면 상승 모멘텀이 약화됩니다. 특히 $60,138.40 골든비율을 종가 기준으로 이탈하면 현재의 상승 되돌림 셋업은 실패로 간주되며, $59,836.22 ret_0.786 및 7일 저점 $59,080.00 재테스트 위험이 커집니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $59,451 → $61,250",
        "direction": "up",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 60825.51,
        "nearest_fib_distance": 0.23,
        "golden_ratio_level": 60138.4,
        "fib_ret_382": 60562.9,
        "fib_ret_618": 60138.4,
        "confluence_zones": [
          {
            "price": 60244.53,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60694.2,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61157.83,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61866.95,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 62327.83,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60825.5068,
          60562.8966,
          60350.65
        ],
        "resistance_levels": [
          61250.0,
          61739.246399999996,
          61994.6618
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60825.51,
            "distance_pct": 0.23,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 60562.9,
            "distance_pct": 0.66,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 60350.65,
            "distance_pct": 1.01,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 60138.4,
            "distance_pct": 1.36,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 59836.22,
            "distance_pct": 1.85,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 61250.0,
            "distance_pct": 0.47,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 61739.25,
            "distance_pct": 1.27,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 61994.66,
            "distance_pct": 1.69,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 62361.6,
            "distance_pct": 2.29,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 63048.7,
            "distance_pct": 3.42,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $60,965.90는 스윙 EQ인 ret_0.5 $60,350.65 위에 있어 프리미엄 영역에 위치하지만, 얕은 되돌림 구조가 유지되고 있음\",\n    \"ret_0.236 $60,825.51을 테스트 중이며 현재가가 해당 지지 위에 있어 단기 반등 셋업이 유효함\",\n    \"ret_0.382 $60,562.90 및 ret_0.5 $60,350.65가 하단 보조 지지로 대기 중\",\n    \"골든비율 ret_0.618 $60,138.40은 가장 중요한 고확률 방어선이며, 이탈 전까지 상승 스윙의 되돌림으로 해석 가능\",\n    \"상단에는 스윙 고점 및 ext_1.0 $61,250.00 저항이 가까워 돌파 확인 전까지는 추격 매수 리스크가 존재함\"\n  ],\n  \"reasoning\": \"현재 피보나치 기준 스윙은 $59,451에서 $61,250으로 형성된 상승 스윙이며, 가격은 ret_0.236 $60,825.51 위에서 테스트 상태를 유지하고 있습니다. ret_0.236 방어가 유지되면 얕은 되돌림 후 재상승 구조로 해석되며, 1차 목표는 $61,250.00, 이후 ext_1.272 $61,739.25 및 ext_1.414 $61,994.66입니다. 다만 구조적으로는 $61,250.00 상단 돌파 및 수용이 아직 확인되지 않았기 때문에 structure_bias는 bullish가 아니라 neutral로 봅니다. 핵심 방어 구간은 ret_0.382 $60,562.90, ret_0.5 $60,350.65, 그리고 골든비율 ret_0.618 $60,138.40이며, confluence_quality 0.600과 reaction_probability 0.65는 중간 이상 수준의 반응 가능성을 시사합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60825.51,\n      60562.9,\n      60350.65,\n      60138.4,\n      59836.22\n    ],\n    \"resistance\": [\n      61250.0,\n      61739.25,\n      61994.66,\n      62361.6,\n      63048.7\n    ]\n  },\n  \"time_horizon\": \"단기\",\n  \"invalidation_level\": \"$60,138.40\",\n  \"risk_scenario\": \"반대로 $60,825.51 ret_0.236 지지가 무너지고 $60,562.90 ret_0.382까지 밀리면 상승 모멘텀이 약화됩니다. 특히 $60,138.40 골든비율을 종가 기준으로 이탈하면 현재의 상승 되돌림 셋업은 실패로 간주되며, $59,836.22 ret_0.786 및 7일 저점 $59,080.00 재테스트 위험이 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "가격 $60,965.90는 7일 레인지 EQ $63,286.90 아래의 discount zone에 위치",
        "현재가가 EMA20 $60,800.85를 소폭 상회하여 단기 반등 시도 중",
        "7일 저점 $59,080.00 근처에서 bullish_engulfing@296 및 morning_star@296 후보 출현",
        "bull_score 1.55가 bear_score 1.30보다 우위이나, 고거래량 패턴 확인은 없음",
        "상단에는 EMA120 $61,520.41 및 EMA240 $62,599.26 저항이 남아 있어 구조 전환은 미확정"
      ],
      "reasoning": "현재 BTC는 $60,965.90로 EMA20 $60,800.85 위에 간신히 올라섰지만, EMA120 $61,520.41와 EMA240 $62,599.26 아래에 있어 확인된 구조는 여전히 약세로 판단된다. 최근 패턴은 bullish_engulfing@296, morning_star@296가 반등 setup을 만들었지만, 가장 높은 품질의 패턴은 bearish dark_cloud_cover 품질 0.653이며 마지막 구간에 bearish_harami@299도 있어 매수 확정 신호로 보기 어렵다. 7일 레인지 EQ $63,286.90보다 낮은 discount zone이고 7일 저점 $59,080.00에 가까워 단기 반등 setup은 존재하지만, 고거래량 패턴이 없고 ATR $393.40 기준으로 변동성 대비 확정성이 낮다. 따라서 구조는 bearish, setup은 bullish로 엇갈리며, 전체 신호는 중립에 가깝다.",
      "key_levels": {
        "support": [
          60800.85,
          59080.0
        ],
        "resistance": [
          61520.41,
          62599.26,
          63286.9,
          67493.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,080.00 하향 이탈 시 단기 bullish setup 무효",
      "risk_scenario": "반대로 $61,520.41 EMA120을 회복하지 못하고 bearish_harami와 dark_cloud_cover의 매도 압력이 이어지면, 가격은 $60,800.85 EMA20을 다시 이탈한 뒤 7일 저점 $59,080.00 재테스트로 이어질 수 있다. 특히 $59,080.00이 깨지면 discount zone 반등 논리는 실패하고 약세 구조가 더 명확해진다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 147,
        "recent_patterns": 5,
        "pattern_list": [
          "bullish_engulfing@296",
          "morning_star@296",
          "doji@295",
          "bearish_harami@299",
          "dark_cloud_cover@293"
        ],
        "atr_value": 393.4,
        "vol_avg_20": 3362.91,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "dark_cloud_cover",
            "signal": "bearish",
            "pattern_quality": 0.653,
            "tier": "strict",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.595,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.435,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.41,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.653,
        "bull_score": 1.55,
        "bear_score": 1.3
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"가격 $60,965.90는 7일 레인지 EQ $63,286.90 아래의 discount zone에 위치\",\n    \"현재가가 EMA20 $60,800.85를 소폭 상회하여 단기 반등 시도 중\",\n    \"7일 저점 $59,080.00 근처에서 bullish_engulfing@296 및 morning_star@296 후보 출현\",\n    \"bull_score 1.55가 bear_score 1.30보다 우위이나, 고거래량 패턴 확인은 없음\",\n    \"상단에는 EMA120 $61,520.41 및 EMA240 $62,599.26 저항이 남아 있어 구조 전환은 미확정\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,965.90로 EMA20 $60,800.85 위에 간신히 올라섰지만, EMA120 $61,520.41와 EMA240 $62,599.26 아래에 있어 확인된 구조는 여전히 약세로 판단된다. 최근 패턴은 bullish_engulfing@296, morning_star@296가 반등 setup을 만들었지만, 가장 높은 품질의 패턴은 bearish dark_cloud_cover 품질 0.653이며 마지막 구간에 bearish_harami@299도 있어 매수 확정 신호로 보기 어렵다. 7일 레인지 EQ $63,286.90보다 낮은 discount zone이고 7일 저점 $59,080.00에 가까워 단기 반등 setup은 존재하지만, 고거래량 패턴이 없고 ATR $393.40 기준으로 변동성 대비 확정성이 낮다. 따라서 구조는 bearish, setup은 bullish로 엇갈리며, 전체 신호는 중립에 가깝다.\",\n  \"key_levels\": {\n    \"support\": [\n      60800.85,\n      59080.0\n    ],\n    \"resistance\": [\n      61520.41,\n      62599.26,\n      63286.9,\n      67493.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,080.00 하향 이탈 시 단기 bullish setup 무효\",\n  \"risk_scenario\": \"반대로 $61,520.41 EMA120을 회복하지 못하고 bearish_harami와 dark_cloud_cover의 매도 압력이 이어지면, 가격은 $60,800.85 EMA20을 다시 이탈한 뒤 7일 저점 $59,080.00 재테스트로 이어질 수 있다. 특히 $59,080.00이 깨지면 discount zone 반등 논리는 실패하고 약세 구조가 더 명확해진다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.64,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.6,
      "active_setups": [
        "ICT 기준 현재가 $60,965.90는 단기 균형가 $60,715.50 위 프리미엄 구간이며, 하락 구조 내 63.9% 되돌림에 위치",
        "최근 구조는 $66,620.00 약세 전환 이후 $65,508.30, $63,040.00, $62,300.00, $61,067.60에서 연속 하방 구조 이탈",
        "파생시장에서는 24시간 가격 -3.34% 하락 중 미결제약정이 +3.7390% 증가해 하락 방향 신규 포지션 또는 롱 압박 가능성이 우세",
        "CVD 변화량 -12002.2960으로 현물성 매수 체결 강도가 약함",
        "고품질 bearish Gartley PRZ가 $61,207.56-$61,510.40에 대기하며, 이는 EMA120 $61,520.41 및 Wyckoff SOS $61,500.00과 중첩",
        "반대편으로는 Fibonacci ret_0.236 $60,825.51 방어와 캔들상 EMA20 $60,800.85 상회가 단기 반등 셋업을 형성"
      ],
      "setup_vs_structure": "구조적 신호와 실행 셋업은 대체로 약세 쪽으로 정렬되어 있으나, $60,800-$60,825 부근의 단기 지지 반응 때문에 즉시 추격형 약세보다는 저항 수용 실패 여부를 확인해야 하는 구조다. 즉, 큰 구조는 약세이나 하단에서는 Wyckoff 누적 후보와 Fibonacci 지지가 반대 압력으로 작동하고 있다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        60825.51,
        60800.85,
        60644.5,
        60642.4,
        60458.0,
        60350.65,
        60300.0,
        60138.4,
        59600.0,
        59451.3,
        59080.0,
        58600.0
      ],
      "resistance": [
        61067.6,
        61124.0,
        61207.56,
        61250.0,
        61344.8,
        61500.0,
        61510.4,
        61520.41,
        62100.0,
        62300.0,
        62599.26,
        63100.0
      ]
    },
    "confluences": [
      "핵심 저항 클러스터는 $61,207.56-$61,520.41이다. Harmonic의 고품질 bearish Gartley PRZ $61,207.56-$61,510.40, Derivatives/Candlestick의 EMA120 $61,520.41, Wyckoff SOS $61,500.00, Fibonacci 저항 $61,250.00이 같은 상단 구간에 모인다.",
      "$61,067.60-$61,124.00은 단기 구조 판정선이다. ICT는 $61,067.60을 최근 bearish BOS 레벨로 제시했고, Wyckoff는 현재 후보 구조의 BU $61,124.00 위 안착이 필요하다고 본다.",
      "$60,800-$60,825 구간은 단기 지지 반응 구간이다. Fibonacci ret_0.236 $60,825.51과 Candlestick EMA20 $60,800.85가 거의 같은 가격대에 위치한다.",
      "$60,458-$60,645 구간은 하단 방어 클러스터다. Wyckoff의 Terminal Spring $60,458.00 및 현재 후보 구조의 SC/ST $60,642.40-$60,644.50, Fibonacci ret_0.382 $60,562.90, Harmonic bullish PRZ $60,467.81-$60,988.90이 중첩된다.",
      "$60,300-$60,350 구간은 과거 유동성과 피보나치 중간 되돌림이 겹친다. ICT의 전일 저점 $60,300.00과 Fibonacci ret_0.5 $60,350.65가 근접한다.",
      "$59,080은 다수 분석가가 공유하는 주요 하단 구조 레벨이다. ICT, Derivatives, Wyckoff, Candlestick 모두 $59,080.00을 하단 지지 또는 유동성 기준으로 제시한다."
    ],
    "conflicts": [
      "Wyckoff는 큰 그림에서 누적 구조 후보를 강하게 평가하지만, ICT와 Derivatives는 이미 연속 하방 구조 이탈과 EMA120/EMA240 하회로 확인된 약세 구조를 우선시한다.",
      "Fibonacci와 Candlestick은 $60,800-$60,825 방어를 근거로 단기 bullish setup을 제시하지만, Derivatives는 가격 하락 중 미결제약정 증가와 CVD 약세를 근거로 반등의 질을 낮게 평가한다.",
      "Harmonic 내부에서도 현재가 부근 $60,940.19-$61,150.50에는 bullish Gartley 후보가 있으나, 의회 기준으로 더 중요한 구간은 상단 $61,207.56-$61,510.40의 bearish Gartley PRZ다.",
      "Wyckoff의 Phase D/SOS 해석은 상승 수용 가능성을 열어두지만, 현재가 $60,965.90는 메인 range low $61,344.80 및 SOS $61,500.00 아래에 있어 아직 Phase D 수용이 확인되지 않았다."
    ],
    "executive_summary": "현재 BTC/USDT 15분 구조는 Wyckoff상 누적 후보가 존재함에도 불구하고, 확인된 시장 구조 기준으로는 약세가 우세하다. 핵심 근거는 $66,620.00 이후 이어진 연속 하방 구조 이탈과 현재가가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 머무는 점이다. Wyckoff 관점에서는 이전 누적 사이클의 Spring-Terminal Spring-SOS 흐름이 있었으나, 현재가는 메인 range low $61,344.80 및 SOS $61,500.00 아래에 있어 Phase D 상승 수용이 아직 확인되지 않은 재구조화 구간이다. 구조적으로 가장 중요한 상단 판정대는 $61,207.56-$61,520.41이며, 이 구간은 harmonic bearish PRZ, EMA120, Wyckoff SOS가 겹치는 저항 클러스터다. 약세 구조의 무효화는 $62,300.00 회복 및 $62,599.26 위 수용이며, 하단에서는 $60,458-$60,645와 $59,080이 누적 후보 방어 여부를 판단할 핵심 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.64,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.6,\n    \"active_setups\": [\n      \"ICT 기준 현재가 $60,965.90는 단기 균형가 $60,715.50 위 프리미엄 구간이며, 하락 구조 내 63.9% 되돌림에 위치\",\n      \"최근 구조는 $66,620.00 약세 전환 이후 $65,508.30, $63,040.00, $62,300.00, $61,067.60에서 연속 하방 구조 이탈\",\n      \"파생시장에서는 24시간 가격 -3.34% 하락 중 미결제약정이 +3.7390% 증가해 하락 방향 신규 포지션 또는 롱 압박 가능성이 우세\",\n      \"CVD 변화량 -12002.2960으로 현물성 매수 체결 강도가 약함\",\n      \"고품질 bearish Gartley PRZ가 $61,207.56-$61,510.40에 대기하며, 이는 EMA120 $61,520.41 및 Wyckoff SOS $61,500.00과 중첩\",\n      \"반대편으로는 Fibonacci ret_0.236 $60,825.51 방어와 캔들상 EMA20 $60,800.85 상회가 단기 반등 셋업을 형성\"\n    ],\n    \"setup_vs_structure\": \"구조적 신호와 실행 셋업은 대체로 약세 쪽으로 정렬되어 있으나, $60,800-$60,825 부근의 단기 지지 반응 때문에 즉시 추격형 약세보다는 저항 수용 실패 여부를 확인해야 하는 구조다. 즉, 큰 구조는 약세이나 하단에서는 Wyckoff 누적 후보와 Fibonacci 지지가 반대 압력으로 작동하고 있다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      60825.51,\n      60800.85,\n      60644.5,\n      60642.4,\n      60458.0,\n      60350.65,\n      60300.0,\n      60138.4,\n      59600.0,\n      59451.3,\n      59080.0,\n      58600.0\n    ],\n    \"resistance\": [\n      61067.6,\n      61124.0,\n      61207.56,\n      61250.0,\n      61344.8,\n      61500.0,\n      61510.4,\n      61520.41,\n      62100.0,\n      62300.0,\n      62599.26,\n      63100.0\n    ]\n  },\n  \"confluences\": [\n    \"핵심 저항 클러스터는 $61,207.56-$61,520.41이다. Harmonic의 고품질 bearish Gartley PRZ $61,207.56-$61,510.40, Derivatives/Candlestick의 EMA120 $61,520.41, Wyckoff SOS $61,500.00, Fibonacci 저항 $61,250.00이 같은 상단 구간에 모인다.\",\n    \"$61,067.60-$61,124.00은 단기 구조 판정선이다. ICT는 $61,067.60을 최근 bearish BOS 레벨로 제시했고, Wyckoff는 현재 후보 구조의 BU $61,124.00 위 안착이 필요하다고 본다.\",\n    \"$60,800-$60,825 구간은 단기 지지 반응 구간이다. Fibonacci ret_0.236 $60,825.51과 Candlestick EMA20 $60,800.85가 거의 같은 가격대에 위치한다.\",\n    \"$60,458-$60,645 구간은 하단 방어 클러스터다. Wyckoff의 Terminal Spring $60,458.00 및 현재 후보 구조의 SC/ST $60,642.40-$60,644.50, Fibonacci ret_0.382 $60,562.90, Harmonic bullish PRZ $60,467.81-$60,988.90이 중첩된다.\",\n    \"$60,300-$60,350 구간은 과거 유동성과 피보나치 중간 되돌림이 겹친다. ICT의 전일 저점 $60,300.00과 Fibonacci ret_0.5 $60,350.65가 근접한다.\",\n    \"$59,080은 다수 분석가가 공유하는 주요 하단 구조 레벨이다. ICT, Derivatives, Wyckoff, Candlestick 모두 $59,080.00을 하단 지지 또는 유동성 기준으로 제시한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 큰 그림에서 누적 구조 후보를 강하게 평가하지만, ICT와 Derivatives는 이미 연속 하방 구조 이탈과 EMA120/EMA240 하회로 확인된 약세 구조를 우선시한다.\",\n    \"Fibonacci와 Candlestick은 $60,800-$60,825 방어를 근거로 단기 bullish setup을 제시하지만, Derivatives는 가격 하락 중 미결제약정 증가와 CVD 약세를 근거로 반등의 질을 낮게 평가한다.\",\n    \"Harmonic 내부에서도 현재가 부근 $60,940.19-$61,150.50에는 bullish Gartley 후보가 있으나, 의회 기준으로 더 중요한 구간은 상단 $61,207.56-$61,510.40의 bearish Gartley PRZ다.\",\n    \"Wyckoff의 Phase D/SOS 해석은 상승 수용 가능성을 열어두지만, 현재가 $60,965.90는 메인 range low $61,344.80 및 SOS $61,500.00 아래에 있어 아직 Phase D 수용이 확인되지 않았다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — $66,620.00 약세 전환 이후 $65,508.30, $63,040.00, $62,300.00, $61,067.60에서 연속 하방 구조 이탈을 제시했고, 현재가가 균형가 $60,715.50 위 프리미엄 및 63.9% 되돌림 구간에 있다는 점까지 구체적으로 연결했다. 신호 강도와 가격 레벨의 정밀도, 구조와 셋업의 일관성이 가장 높다.\",\n  \"invalidation_level\": \"15분 구조 기준으로 $62,300.00을 회복하고 EMA240 $62,599.26 위에서 수용되면 현재 약세 구조 판정은 훼손된다.\",\n  \"executive_summary\": \"현재 BTC/USDT 15분 구조는 Wyckoff상 누적 후보가 존재함에도 불구하고, 확인된 시장 구조 기준으로는 약세가 우세하다. 핵심 근거는 $66,620.00 이후 이어진 연속 하방 구조 이탈과 현재가가 EMA120 $61,520.41 및 EMA240 $62,599.26 아래에 머무는 점이다. Wyckoff 관점에서는 이전 누적 사이클의 Spring-Terminal Spring-SOS 흐름이 있었으나, 현재가는 메인 range low $61,344.80 및 SOS $61,500.00 아래에 있어 Phase D 상승 수용이 아직 확인되지 않은 재구조화 구간이다. 구조적으로 가장 중요한 상단 판정대는 $61,207.56-$61,520.41이며, 이 구간은 harmonic bearish PRZ, EMA120, Wyckoff SOS가 겹치는 저항 클러스터다. 약세 구조의 무효화는 $62,300.00 회복 및 $62,599.26 위 수용이며, 하단에서는 $60,458-$60,645와 $59,080이 누적 후보 방어 여부를 판단할 핵심 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.64,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 61180.0,
        "type": "resistance_test",
        "source": "ict, fibonacci, harmonic, derivatives, candlestick",
        "description": "현재가 $60,965.90는 ICT 기준 EQ $60,715.50 위 프리미엄(63.9% 되돌림) 구간으로 숏 재진입 위치다. 첫 경로는 저항 클러스터 하단으로의 반등 테스트: fib_confluence $61,157.83, harmonic bearish Gartley PRZ 시작점 $61,207.56, Fib 저항 $61,250.00이 겹친다. 상단은 EMA120 $61,520.41 / Wyckoff SOS $61,500.00이 캡으로 작동하며, 이 구간에서 '저항 수용 실패(거부)'가 나오는지가 핵심이다.",
        "est_hours": 3.0,
        "turning_zone": [
          61180.0,
          61350.0
        ],
        "likely_wick": 61250.0,
        "rejection_confirm": 60800.0,
        "invalid_overshoot": 61521.0,
        "calibration_reasoning": "저항_테스트라 base 위로 zone을 열고, Fib 저항 $61,250과 Chairman 저항 $61,344.8가 상단을 고정(폭 $170 ≈ 0.43×ATR). Gartley PRZ $61,358.98은 PRE_CONFIRMATION이라 단독 앵커에서 제외했고, likely_wick은 Fib 저항·Chairman·준라운드가 겹치는 $61,250으로 설정. EMA120 $61,520.41 / Wyckoff SOS $61,500 캡 돌파를 무효화로 본다."
      },
      {
        "seq": 2,
        "price": 60500.0,
        "type": "support_test",
        "source": "wyckoff, fibonacci, harmonic, candlestick",
        "description": "PRZ 거부 후 단기 지지 $60,800-$60,825(EMA20 $60,800.85 / Fib ret_0.236 $60,825.51)를 하향 관통하며 하단 방어 클러스터 $60,458-$60,644를 테스트한다. Wyckoff Terminal Spring $60,458.00·SC/ST $60,642.40-$60,644.50, Fib ret_0.382 $60,562.90, harmonic bullish PRZ($60,467.81-$60,988.90)가 중첩된 양방향 결정 구간이다. acc_score 92.5의 Wyckoff 누적 후보가 여기서 방어를 시도한다.",
        "est_hours": 9.0,
        "turning_zone": [
          60350.0,
          60500.0
        ],
        "likely_wick": 60458.0,
        "rejection_confirm": 60644.0,
        "invalid_overshoot": 60300.0,
        "calibration_reasoning": "지지_테스트라 base 아래로 zone을 열고, Wyckoff Terminal Spring $60,458(= Chairman 지지)을 likely_wick으로, Fib 지지 $60,350.65를 하단으로 고정(폭 $150 ≈ 0.38×ATR). Harmonic TP 래더는 conditional(미확정)이라 앵커에서 제외. SC/ST $60,644 회복이 반등 확인, 매도측 유동성 $60,300(ICT 전일 저점) 이탈이 무효화."
      },
      {
        "seq": 3,
        "price": 60138.4,
        "type": "swing_low",
        "source": "fibonacci, harmonic, ict",
        "description": "약세 우위(OI +3.74% 증가, CVD -12002.30, ICT 88% bearish)가 방어 클러스터를 이탈시키며 Fib 골든비율 ret_0.618 $60,138.40으로 하락 확장한다. 바로 아래 harmonic 지지 $59,997.31이 대기하고, ICT 전일 저점 $60,300.00 sell-side 유동성은 이미 노출된 상태다. 이 레벨이 1차 24시간 저점이며, 방어 실패 시 $59,600 → $59,080 추가 하락 위험이 열린다.",
        "est_hours": 18.0,
        "turning_zone": [
          59900.0,
          60138.4
        ],
        "likely_wick": 59997.31,
        "rejection_confirm": 60300.0,
        "invalid_overshoot": 59600.0,
        "calibration_reasoning": "터미널 웨이포인트라 폭 $238 ≈ 0.61×ATR로 확장. Fib 골든비율 $60,138.40 아래로 zone을 열고, 라운드넘버 $60,000 자석 + harmonic 지지 $59,997.31에 likely_wick을 편향(스톱런 관통 후 흡수). ICT 매도측 유동성 $60,300 회복이 반전 확인, $59,600 이탈 시 $59,080까지 추가 하락으로 무효화."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 61210.0,
        "expected_low": 60820.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 61210.0,
        "expected_low": 60560.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 61250.0,
        "expected_low": 60050.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 61520.41,
        "description": "EMA120 $61,520.41 및 Wyckoff SOS $61,500.00 위 수용 시 bearish PRZ 거부 시나리오가 무효화된다. Wyckoff Phase D 상승 수용으로 전환되며 $62,100 → $62,300 방향 상승 가속."
      },
      "bearish": {
        "price": 60458.0,
        "description": "하단 방어 클러스터 $60,458-$60,644(Wyckoff Terminal Spring $60,458.00, Fib ret_0.382 $60,562.90, harmonic bullish PRZ) 하향 이탈 시 누적 후보 방어 실패 확정 → $60,138.40 → $59,600(파생 유동성) → $59,080(공유 주요 레벨) 하락 가속."
      }
    },
    "scenario_invalidation": 61520.41,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 61180.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"ict, fibonacci, harmonic, derivatives, candlestick\",\n      \"description\": \"현재가 $60,965.90는 ICT 기준 EQ $60,715.50 위 프리미엄(63.9% 되돌림) 구간으로 숏 재진입 위치다. 첫 경로는 저항 클러스터 하단으로의 반등 테스트: fib_confluence $61,157.83, harmonic bearish Gartley PRZ 시작점 $61,207.56, Fib 저항 $61,250.00이 겹친다. 상단은 EMA120 $61,520.41 / Wyckoff SOS $61,500.00이 캡으로 작동하며, 이 구간에서 '저항 수용 실패(거부)'가 나오는지가 핵심이다.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60500.0,\n      \"type\": \"support_test\",\n      \"source\": \"wyckoff, fibonacci, harmonic, candlestick\",\n      \"description\": \"PRZ 거부 후 단기 지지 $60,800-$60,825(EMA20 $60,800.85 / Fib ret_0.236 $60,825.51)를 하향 관통하며 하단 방어 클러스터 $60,458-$60,644를 테스트한다. Wyckoff Terminal Spring $60,458.00·SC/ST $60,642.40-$60,644.50, Fib ret_0.382 $60,562.90, harmonic bullish PRZ($60,467.81-$60,988.90)가 중첩된 양방향 결정 구간이다. acc_score 92.5의 Wyckoff 누적 후보가 여기서 방어를 시도한다.\",\n      \"est_hours\": 9.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60138.4,\n      \"type\": \"swing_low\",\n      \"source\": \"fibonacci, harmonic, ict\",\n      \"description\": \"약세 우위(OI +3.74% 증가, CVD -12002.30, ICT 88% bearish)가 방어 클러스터를 이탈시키며 Fib 골든비율 ret_0.618 $60,138.40으로 하락 확장한다. 바로 아래 harmonic 지지 $59,997.31이 대기하고, ICT 전일 저점 $60,300.00 sell-side 유동성은 이미 노출된 상태다. 이 레벨이 1차 24시간 저점이며, 방어 실패 시 $59,600 → $59,080 추가 하락 위험이 열린다.\",\n      \"est_hours\": 18.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 61210.0, \"expected_low\": 60820.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 61210.0, \"expected_low\": 60560.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 61250.0, \"expected_low\": 60050.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 61520.41,\n      \"description\": \"EMA120 $61,520.41 및 Wyckoff SOS $61,500.00 위 수용 시 bearish PRZ 거부 시나리오가 무효화된다. Wyckoff Phase D 상승 수용으로 전환되며 $62,100 → $62,300 방향 상승 가속.\"\n    },\n    \"bearish\": {\n      \"price\": 60458.0,\n      \"description\": \"하단 방어 클러스터 $60,458-$60,644(Wyckoff Terminal Spring $60,458.00, Fib ret_0.382 $60,562.90, harmonic bullish PRZ) 하향 이탈 시 누적 후보 방어 실패 확정 → $60,138.40 → $59,600(파생 유동성) → $59,080(공유 주요 레벨) 하락 가속.\"\n    }\n  },\n  \"scenario_invalidation\": 61520.41\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 61180.0,
        "turning_zone": [
          61180.0,
          61350.0
        ],
        "likely_wick": 61250.0,
        "rejection_confirm": 60800.0,
        "invalid_overshoot": 61521.0,
        "calibration_reasoning": "저항_테스트라 base 위로 zone을 열고, Fib 저항 $61,250과 Chairman 저항 $61,344.8가 상단을 고정(폭 $170 ≈ 0.43×ATR). Gartley PRZ $61,358.98은 PRE_CONFIRMATION이라 단독 앵커에서 제외했고, likely_wick은 Fib 저항·Chairman·준라운드가 겹치는 $61,250으로 설정. EMA120 $61,520.41 / Wyckoff SOS $61,500 캡 돌파를 무효화로 본다."
      },
      {
        "seq": 2,
        "base_target": 60500.0,
        "turning_zone": [
          60350.0,
          60500.0
        ],
        "likely_wick": 60458.0,
        "rejection_confirm": 60644.0,
        "invalid_overshoot": 60300.0,
        "calibration_reasoning": "지지_테스트라 base 아래로 zone을 열고, Wyckoff Terminal Spring $60,458(= Chairman 지지)을 likely_wick으로, Fib 지지 $60,350.65를 하단으로 고정(폭 $150 ≈ 0.38×ATR). Harmonic TP 래더는 conditional(미확정)이라 앵커에서 제외. SC/ST $60,644 회복이 반등 확인, 매도측 유동성 $60,300(ICT 전일 저점) 이탈이 무효화."
      },
      {
        "seq": 3,
        "base_target": 60138.4,
        "turning_zone": [
          59900.0,
          60138.4
        ],
        "likely_wick": 59997.31,
        "rejection_confirm": 60300.0,
        "invalid_overshoot": 59600.0,
        "calibration_reasoning": "터미널 웨이포인트라 폭 $238 ≈ 0.61×ATR로 확장. Fib 골든비율 $60,138.40 아래로 zone을 열고, 라운드넘버 $60,000 자석 + harmonic 지지 $59,997.31에 likely_wick을 편향(스톱런 관통 후 흡수). ICT 매도측 유동성 $60,300 회복이 반전 확인, $59,600 이탈 시 $59,080까지 추가 하락으로 무효화."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 61180.00,\n      \"turning_zone\": [61180.00, 61350.00],\n      \"likely_wick\": 61250.00,\n      \"rejection_confirm\": 60800.00,\n      \"invalid_overshoot\": 61521.00,\n      \"calibration_reasoning\": \"저항_테스트라 base 위로 zone을 열고, Fib 저항 $61,250과 Chairman 저항 $61,344.8가 상단을 고정(폭 $170 ≈ 0.43×ATR). Gartley PRZ $61,358.98은 PRE_CONFIRMATION이라 단독 앵커에서 제외했고, likely_wick은 Fib 저항·Chairman·준라운드가 겹치는 $61,250으로 설정. EMA120 $61,520.41 / Wyckoff SOS $61,500 캡 돌파를 무효화로 본다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60500.00,\n      \"turning_zone\": [60350.00, 60500.00],\n      \"likely_wick\": 60458.00,\n      \"rejection_confirm\": 60644.00,\n      \"invalid_overshoot\": 60300.00,\n      \"calibration_reasoning\": \"지지_테스트라 base 아래로 zone을 열고, Wyckoff Terminal Spring $60,458(= Chairman 지지)을 likely_wick으로, Fib 지지 $60,350.65를 하단으로 고정(폭 $150 ≈ 0.38×ATR). Harmonic TP 래더는 conditional(미확정)이라 앵커에서 제외. SC/ST $60,644 회복이 반등 확인, 매도측 유동성 $60,300(ICT 전일 저점) 이탈이 무효화.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60138.40,\n      \"turning_zone\": [59900.00, 60138.40],\n      \"likely_wick\": 59997.31,\n      \"rejection_confirm\": 60300.00,\n      \"invalid_overshoot\": 59600.00,\n      \"calibration_reasoning\": \"터미널 웨이포인트라 폭 $238 ≈ 0.61×ATR로 확장. Fib 골든비율 $60,138.40 아래로 zone을 열고, 라운드넘버 $60,000 자석 + harmonic 지지 $59,997.31에 likely_wick을 편향(스톱런 관통 후 흡수). ICT 매도측 유동성 $60,300 회복이 반전 확인, $59,600 이탈 시 $59,080까지 추가 하락으로 무효화.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.8,
      "chairman": 47.2,
      "operating_path": 293.6,
      "tp_calibrator": 256.0
    },
    "agents": {},
    "total_s": 623.6
  }
}