BTC/USDT 1D Council Report

Signal: BEARISH (68%)  |  Price: $63,995.20  |  2026-06-15 01:00 KST  |  300 candles

Council: 0 bullish, 3 neutral, 3 bearish  |  Support: $63,500 / $63,360 / $60,692  |  Resistance: $64,685 / $64,738 / $64,918

result.json   raw.txt   report.md


BTC Chart

Executive Summary

BTC/USDT 일봉 구조는 현재 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 위치하고, 최근 bearish CHoCH $64,918.20을 회복하지 못해 bearish 구조가 우세하다. Wyckoff 관점에서는 과거 축적 체인이 있었으나, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 분배 후보/재구조화 구간이며, ST 하단에서 수요 회복이 확인되지 않은 상태다. 핵심 구조 저항은 $64,684.69-$66,599.34 클러스터이고, 핵심 하단 구조 레벨은 $60,691.90 및 $59,080.00이다. 단기적으로 $62,591.24-$65,322.47의 하모닉 PRZ와 캔들 반등 패턴이 반전 리스크를 만들지만, 아직 구조 전환 확인이나 파생 수급 확인이 없어 메인 구조를 뒤집지는 못한다. bearish 구조 판정은 $73,756.70의 일봉 회복 전까지 유지하되, $66,599.34와 $70,954.35 회복 여부를 단계적 약화 조건으로 본다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH58%$60,692 / $59,080$64,738 / $65,596
ICT TraderBEARISH78%$63,360 / $60,692$64,738 / $64,918
Derivatives TraderBEARISH62%$63,500 / $61,600$64,738 / $66,100
Candlestick ReaderNEUTRAL54%$61,735 / $60,692$64,738 / $66,599
Fibonacci AnalystNEUTRAL55%$59,080 / $52,620$64,685 / $68,152
Harmonic SpecialistNEUTRAL52%$63,987 / $63,202$65,322 / $66,599

Agent Details

Wyckoff Expert — BEARISH (58%)

Support: $60,692 / $59,080 / $65,596 | Resistance: $64,738 / $65,596 / $66,599 | Horizon: short/medium term

상위 Wyckoff 판독은 regime=ACC, acc_score 92.5, Phase D 후보이며 SC $80,600 → AR $93,080 → ST $84,408.60 → Spring $65,595.70 → Terminal Spring $74,868 → SOS $82,828.70의 축적 체인이 기록되어 구조_bias는 여전히 bullish로 둔다. 다만 현재가 $63,995.20는 Spring $65,595.70 및 EMA20 $66,599.34 아래에 있어 SOS 이후의 강세 수용이 확인되지 않았고, 최근 $64,738.00 저항에서 다시 밀리는 형태라 즉시 경로는 약세 테스트 쪽이다. 핵심은 $64,738.00~$65,595.70 회복 여부이며, 이 구간을 일봉 기준 되찾지 못하면 $60,691.90 및 $59,080.00 하단 재시험 가능성이 더 높다. 따라서 구조는 축적 우위이나, 현재 실행 셋업은 확인 전 약세이며 Phase D가 확정된 상승 전개라기보다 실패/재시험 구간으로 해석한다.
ICT Trader — BEARISH (78%)

Support: $63,360 / $60,692 / $59,080 | Resistance: $64,738 / $64,918 / $66,599 | Horizon: short to medium term

확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 CHoCH_bearish $64,918.20이며, 현재가 $63,995.20이 이 레벨 아래에 머물러 있어 구조 회복이 아직 확인되지 않았다. 가격은 range low $59,080.00과 EQ $70,954.35 사이의 discount 구간에 있지만, active bullish OB와 unfilled bullish FVG가 모두 0개라 할인 구간 매수 셋업의 품질은 낮다. 반대로 bear_score 9.1이 bull_score 6.5보다 높고, EMA20 $66,599.34 및 이전 7일 고점 $64,738.00을 회복하지 못하면 $60,691.90, 이후 $59,080.00 유동성 재공격 가능성이 우세하다.
Derivatives Trader — BEARISH (62%)

Support: $63,500 / $61,600 / $60,692 | Resistance: $64,738 / $66,100 / $66,599 | Horizon: short term

확정 구조는 현재가 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 bearish로 판단한다. 파생 포지셔닝에서는 OI가 24시간 +2.40% 증가했지만 가격은 -0.66% 하락했고, CVD도 -1,763.5530으로 감소해 신규 포지션 유입이 매수 흡수보다는 하방 압력에 가깝다. funding_avg는 거의 0에 가깝지만 funding_change_24h가 -0.0001로 내려가고 있으며, 롱 계정 비율 0.593과 account_long_crowding 0.845는 아직 롱 포지션이 충분히 정리되지 않았음을 시사한다. 단기적으로 $63,500 청산 레벨이 먼저 노출되어 있고, 이탈 시 $61,600 및 7일 저점 $60,691.90까지 하방 유동성 탐색 가능성이 커진다.
Candlestick Reader — NEUTRAL (54%)

Support: $61,735 / $60,692 | Resistance: $64,738 / $66,599 / $74,488 | Horizon: 단기, 약 1일~1주

확정 구조는 약세로 판단한다. 현재가 $63,995.20는 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 일봉 추세 구조는 아직 하락 우위다. 반면 캔들 셋업은 morning_star 품질 0.672와 최근 bullish_engulfing 3개가 포착되어 $60,691.90 저점 부근에서 단기 반등 가능성을 보여준다. 그러나 evening_star@294와 doji@291/295/297도 함께 존재하고, 고거래량 패턴이 전혀 없어 매수 신호의 신뢰도는 제한적이다. 따라서 구조는 bearish, 셋업은 bullish로 엇갈리며, $64,738.00 돌파 및 $66,599.34 회복 전까지는 중립 관망이 더 적절하다.
Fibonacci Analyst — NEUTRAL (55%)

Support: $59,080 / $52,620 / $49,248 | Resistance: $64,685 / $68,152 / $70,954 | Horizon: short/medium term

확정 구조는 $82,829에서 $59,080으로 이어진 하락 스윙이 기준이며, 현재가 $63,995.20는 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 있어 구조적으로는 bearish입니다. 다만 가격은 EQ인 ret_0.5 $70,954.35 아래의 할인 구간에 있으며, 주요 지지 $59,080.00을 아직 이탈하지 않아 사전 셋업 관점에서는 단기 반등 가능성이 남아 있습니다. 가장 가까운 저항은 ret_0.236 $64,684.69로 현재가 대비 1.08% 위이며, 이 레벨을 종가 기준으로 회복하지 못하면 $59,080.00 재시험 위험이 큽니다. 고확률 구조 전환 레벨인 0.618 골든 비율 $73,756.70은 현재가에서 15.25% 떨어져 있어, 아직 bullish 구조 확인과는 거리가 있습니다.
Harmonic Specialist — NEUTRAL (52%)

Support: $63,987 / $63,202 / $62,591 | Resistance: $65,322 / $66,599 / $67,113 | Horizon: short/medium term

일봉 구조는 현재가 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 확인된 구조 관점에서는 bearish로 본다. 반면 셋업 관점에서는 $62,591.24-$65,322.47에 활성 bullish PRZ가 형성되어 있고, 특히 strict Bat PRZ $63,202.30-$63,987.38 및 nearest Butterfly 중심 $63,956.86이 현재가와 거의 겹쳐 단기 반등 후보 구간이다. 다만 council_relevant_prz_count와 directional_influence_prz_count가 모두 0이고 confirmed_reaction_prz_count도 0이므로, 아직 PRZ 터치 후 거부·스윕 후 리클레임·15m/1h MSS/CHoCH·CVD/OI 확인이 없는 pre-confirmation 단계다. 따라서 하모닉은 현재 메인 경로를 bullish로 뒤집을 수 없고, $63k-$65.3k 구간의 반응 여부를 관찰하는 중립/반전 리스크 신호로 해석한다.

Operating Path — complex (62%)

#PriceTypeSourceEst. HoursDescription
1$64,738resistance_testWyckoff ST $64,738 / Derivatives 저항 $64,738 / Candlestick 저항 $64,738 / Fibonacci ret_0.236 $64,684.69 (ICT CHoCH $64,918.20이 바로 위 캡)3.0하모닉 bullish PRZ($62,591.24-$65,322.47)와 캔들 수요 반응(bullish_engulfing·morning_star)으로 단기 반등이 시도되지만, $64,684.69-$64,738 저항 클러스터에서 lower high를 형성하고 거부될 가능성이 높다. ICT CHoCH $64,918.20을 일봉 종가로 회복하지 못하는 한 약세 우위가 유지되며, 이 구간이 숏 진입 존이다. 반등 리스크를 소화하는 1차 웨이포인트.
2$62,591support_testDerivatives 청산 $63,500 / ICT 지지 $63,360 / Harmonic PRZ 하단 $62,591.2411.0lower high 거부 후 Derivatives가 지목한 $63,500 청산 레벨과 ICT $63,360 지지를 차례로 이탈하고, 하모닉 bullish PRZ 하단 $62,591.24를 깨면서 반전 후보(strict Bat/Butterfly PRZ, 캔들 수요)가 무효화된다. OI +2.40% 증가 속 가격 하락·CVD -1,763 동반이라는 파생 약세 수급이 하방 가속을 뒷받침한다.
3$60,692swing_lowICT·Fibonacci·Candlestick·Harmonic·Wyckoff·Derivatives 전원 공유 7일 저점 $60,691.90 (경유 Derivatives $61,600)21.06개 에이전트가 모두 핵심 하단 구조/유동성 레벨로 지목한 7일 저점이자 24시간 주요 하단 타깃. $61,600(Derivatives 중간지지)을 경유해 도달하며, 여기서 수요 회복 실패 시 $59,080 메이저 저점으로 연결되는 캐스케이드 위험이 커진다.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$63,600$64,738High first
8h$62,591$64,738High first
24h$60,692$64,918High first

Triggers

Invalidation: $65,322

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.62,
  "waypoints": [
    {
      "seq": 1,
      "price": 64738.0,
      "type": "resistance_test",
      "source": "Wyckoff ST $64,738 / Derivatives 저항 $64,738 / Candlestick 저항 $64,738 / Fibonacci ret_0.236 $64,684.69 (ICT CHoCH $64,918.20이 바로 위 캡)",
      "description": "하모닉 bullish PRZ($62,591.24-$65,322.47)와 캔들 수요 반응(bullish_engulfing·morning_star)으로 단기 반등이 시도되지만, $64,684.69-$64,738 저항 클러스터에서 lower high를 형성하고 거부될 가능성이 높다. ICT CHoCH $64,918.20을 일봉 종가로 회복하지 못하는 한 약세 우위가 유지되며, 이 구간이 숏 진입 존이다. 반등 리스크를 소화하는 1차 웨이포인트.",
      "est_hours": 3.0
    },
    {
      "seq": 2,
      "price": 62591.24,
      "type": "support_test",
      "source": "Derivatives 청산 $63,500 / ICT 지지 $63,360 / Harmonic PRZ 하단 $62,591.24",
      "description": "lower high 거부 후 Derivatives가 지목한 $63,500 청산 레벨과 ICT $63,360 지지를 차례로 이탈하고, 하모닉 bullish PRZ 하단 $62,591.24를 깨면서 반전 후보(strict Bat/Butterfly PRZ, 캔들 수요)가 무효화된다. OI +2.40% 증가 속 가격 하락·CVD -1,763 동반이라는 파생 약세 수급이 하방 가속을 뒷받침한다.",
      "est_hours": 11.0
    },
    {
      "seq": 3,
      "price": 60691.9,
      "type": "swing_low",
      "source": "ICT·Fibonacci·Candlestick·Harmonic·Wyckoff·Derivatives 전원 공유 7일 저점 $60,691.90 (경유 Derivatives $61,600)",
      "description": "6개 에이전트가 모두 핵심 하단 구조/유동성 레벨로 지목한 7일 저점이자 24시간 주요 하단 타깃. $61,600(Derivatives 중간지지)을 경유해 도달하며, 여기서 수요 회복 실패 시 $59,080 메이저 저점으로 연결되는 캐스케이드 위험이 커진다.",
      "est_hours": 21.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 64738.0, "expected_low": 63600.0, "high_first": true},
    "8h":  {"expected_high": 64738.0, "expected_low": 62591.24, "high_first": true},
    "24h": {"expected_high": 64918.2, "expected_low": 60691.9, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 64918.2, "description": "ICT bearish CHoCH $64,918.20을 일봉 종가로 회복하면 lower-high 약세 시나리오가 깨지고, $65,595.70(Wyckoff Spring)→$66,599.34(EMA20)를 향한 상방 가속/경로 약화 신호가 된다."},
    "bearish": {"price": 62591.24, "description": "$63,500 청산·$63,360 ICT 지지와 하모닉 bullish PRZ 하단 $62,591.24를 일봉 기준 이탈하면 반등 후보가 전면 무효화되며 $61,600→$60,691.90→$59,080 방향의 약세 가속이 확정된다."}
  },
  "scenario_invalidation": 65322.47
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.72,
    "active_setups": [
      "현재가 $63,995.20가 최근 bearish CHoCH $64,918.20 아래에 머물러 단기 구조 회복이 미확인",
      "이전 7일 고점이자 Wyckoff ST 후보인 $64,738.00을 회복하지 못한 상태",
      "EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25가 모두 현재가 위에 있어 상위 공급 압력이 우세",
      "파생시장에서 24시간 OI +2.40% 증가와 가격 -0.66% 하락, CVD -1,763.5530이 동반되어 신규 포지션 유입이 하방 압력과 결합",
      "하모닉 bullish PRZ $62,591.24-$65,322.47 및 캔들 반등 패턴은 존재하지만, 아직 일봉 구조 전환이나 파생 확인이 없는 사전 반전 후보"
    ],
    "setup_vs_structure": "구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 가격이 $63k-$65.3k 하모닉 PRZ와 단기 캔들 수요 반응 구간에 있어, 즉시 실행에서는 반등 리스크를 관리해야 하는 약세 우위 구조다."
  },
  "signal_breakdown": {
    "bullish_count": 0,
    "bearish_count": 3,
    "neutral_count": 3
  },
  "key_levels": {
    "support": [
      63500,
      63360,
      60691.9,
      59080,
      57500,
      52620.35
    ],
    "resistance": [
      64684.69,
      64738,
      64918.2,
      65595.7,
      66599.34,
      68152,
      70954.35,
      73756.7
    ]
  },
  "confluences": [
    "ICT의 bearish CHoCH $64,918.20, Fibonacci의 ret_0.236 $64,684.69, Wyckoff ST $64,738.00, Derivatives 저항 $64,738이 모두 $64.7k-$64.9k를 1차 구조 회복/저항 클러스터로 지목한다.",
    "ICT, Candlestick, Harmonic, Wyckoff, Derivatives 모두 EMA20 $66,599.34를 현재가 위의 핵심 단기 구조 저항으로 인식한다.",
    "ICT, Fibonacci, Wyckoff가 $59,080.00을 주요 하단 구조 레벨로 공유하며, Derivatives와 ICT는 $60,691.90 부근을 중간 지지/유동성 구간으로 본다.",
    "ICT, Fibonacci, Candlestick, Harmonic, Derivatives는 모두 현재가가 EMA20·EMA120·EMA240 아래에 있다는 점을 근거로 일봉 구조의 하방 우위를 인정한다.",
    "Harmonic의 bullish PRZ $62,591.24-$65,322.47와 Candlestick의 bullish engulfing 및 morning star 반응은 $63k-$65k 구간의 단기 수요 후보를 함께 지지하지만, 두 분석 모두 구조 전환 확인은 부족하다고 본다."
  ],
  "conflicts": [
    "Wyckoff는 과거 축적 체인 자체는 bullish 구조로 해석하지만, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 새로운 분배 후보 구조에 가깝다. 따라서 기존 축적이 그대로 진행 중이라기보다, SOS 이후 수요 실패와 재구조화 위험이 핵심이다.",
    "Candlestick과 Harmonic은 $60,691.90-$65,322.47 구간에서 bullish 반응 셋업을 제시하지만, ICT와 Derivatives는 각각 CHoCH $64,918.20 미회복 및 OI 증가 속 가격 하락을 근거로 약세 실행 셋업을 더 강하게 본다.",
    "Fibonacci는 현재가가 EQ $70,954.35 아래의 할인 구간에 있어 반등 여지를 인정하지만, ICT는 같은 할인 구간에서도 활성 bullish OB와 unfilled bullish FVG가 없기 때문에 할인 매수 근거가 약하다고 평가한다.",
    "Harmonic의 다수 bullish PRZ는 반전 리스크 신호이나, 자체적으로는 구조 경로를 뒤집을 권한이 낮고 15m/1h 구조 전환 및 파생 확인이 동반되지 않아 메인 bearish 구조와 충돌하는 보조 신호로 분류된다."
  ],
  "highest_conviction_analyst": "ICT Trader — bearish CHoCH $64,918.20, EMA20 $66,599.34, EQ $70,954.35, range low $59,080.00 등 정밀한 구조 레벨을 제시했고, active bullish OB와 unfilled bullish FVG가 모두 없다는 점까지 반영해 구조와 셋업을 일관되게 bearish로 판정했기 때문이다.",
  "invalidation_level": "일봉 종가 기준 $73,756.70 상회 시 현재 bearish 구조 판정은 중대한 훼손으로 본다. 그 전 단계로 $66,599.34 회복은 약세 셋업 약화, $70,954.35 회복은 구조 중립화 신호다.",
  "executive_summary": "BTC/USDT 일봉 구조는 현재 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 위치하고, 최근 bearish CHoCH $64,918.20을 회복하지 못해 bearish 구조가 우세하다. Wyckoff 관점에서는 과거 축적 체인이 있었으나, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 분배 후보/재구조화 구간이며, ST 하단에서 수요 회복이 확인되지 않은 상태다. 핵심 구조 저항은 $64,684.69-$66,599.34 클러스터이고, 핵심 하단 구조 레벨은 $60,691.90 및 $59,080.00이다. 단기적으로 $62,591.24-$65,322.47의 하모닉 PRZ와 캔들 반등 패턴이 반전 리스크를 만들지만, 아직 구조 전환 확인이나 파생 수급 확인이 없어 메인 구조를 뒤집지는 못한다. bearish 구조 판정은 $73,756.70의 일봉 회복 전까지 유지하되, $66,599.34와 $70,954.35 회복 여부를 단계적 약화 조건으로 본다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-06-15 01:00 KST",
  "last_price": 63995.2,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.815,
      "setup_signals": [
        "현재가 $63,995.20이 최근 bearish CHoCH 레벨 $64,918.20 아래에서 거래되어 단기 구조 회복 실패",
        "현재가가 EQ $70,954.35 아래의 discount 구간에 있으나, bullish OB/FVG가 없어 할인 매수 근거가 약함",
        "EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 모두 현재가 위에 있어 상방 프리미엄 공급 압력이 우세",
        "가장 가까운 bearish OB 후보가 $80,651.20~$82,828.70에 있으나 현재 가격과 멀어, 즉각적인 상방 유동성 흡수보다 하방 continuation 가능성이 높음",
        "unfilled bullish FVG 0개, active bullish OB 0개로 기관성 매수 방어 배열이 확인되지 않음"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 CHoCH_bearish $64,918.20이며, 현재가 $63,995.20이 이 레벨 아래에 머물러 있어 구조 회복이 아직 확인되지 않았다. 가격은 range low $59,080.00과 EQ $70,954.35 사이의 discount 구간에 있지만, active bullish OB와 unfilled bullish FVG가 모두 0개라 할인 구간 매수 셋업의 품질은 낮다. 반대로 bear_score 9.1이 bull_score 6.5보다 높고, EMA20 $66,599.34 및 이전 7일 고점 $64,738.00을 회복하지 못하면 $60,691.90, 이후 $59,080.00 유동성 재공격 가능성이 우세하다.",
      "key_levels": {
        "support": [
          63360.0,
          60691.9,
          59080.0
        ],
        "resistance": [
          64738.0,
          64918.2,
          66599.34,
          70954.35,
          80651.2,
          82828.7
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$64,918.20 일봉 종가 회복",
      "risk_scenario": "가격이 $64,918.20을 강하게 회복하고 이전 7일 고점 $64,738.00 위에서 수용되면 bearish CHoCH 실패로 간주될 수 있다. 그 경우 단기 숏 포지션 청산 유동성이 발생하며 EMA20 $66,599.34, 이후 EQ $70,954.35까지 되돌림이 확장될 수 있다.",
      "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": 80651.2,
          "top": 82828.7,
          "quality": "candidate",
          "score": 0.51
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 2,
        "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_bullish",
          "CHoCH_bearish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 108566.0
          },
          {
            "type": "BOS_bearish",
            "level": 101516.5
          },
          {
            "type": "BOS_bullish",
            "level": 94555.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 84408.6
          },
          {
            "type": "BOS_bullish",
            "level": 75998.9
          },
          {
            "type": "CHoCH_bearish",
            "level": 64918.2
          }
        ],
        "bos_sequence": [
          "CHoCH_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 70954.35,
        "range_high": 82828.7,
        "range_low": 59080.0,
        "bull_score": 6.5,
        "bear_score": 9.1,
        "setup_bias": "bearish",
        "setup_score": 0.815,
        "setup_signals": [
          "bearish CHoCH below $108,566.00",
          "bearish BOS below $101,516.50",
          "bearish CHoCH below $84,408.60",
          "bearish CHoCH below $64,918.20"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 108.7,
        "deepest_retracement_pct": 132.6,
        "previous_day_high": 64738.0,
        "previous_day_low": 63360.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.815,\n  \"setup_signals\": [\n    \"현재가 $63,995.20이 최근 bearish CHoCH 레벨 $64,918.20 아래에서 거래되어 단기 구조 회복 실패\",\n    \"현재가가 EQ $70,954.35 아래의 discount 구간에 있으나, bullish OB/FVG가 없어 할인 매수 근거가 약함\",\n    \"EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 모두 현재가 위에 있어 상방 프리미엄 공급 압력이 우세\",\n    \"가장 가까운 bearish OB 후보가 $80,651.20~$82,828.70에 있으나 현재 가격과 멀어, 즉각적인 상방 유동성 흡수보다 하방 continuation 가능성이 높음\",\n    \"unfilled bullish FVG 0개, active bullish OB 0개로 기관성 매수 방어 배열이 확인되지 않음\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 최근 구조 이벤트가 CHoCH_bearish $64,918.20이며, 현재가 $63,995.20이 이 레벨 아래에 머물러 있어 구조 회복이 아직 확인되지 않았다. 가격은 range low $59,080.00과 EQ $70,954.35 사이의 discount 구간에 있지만, active bullish OB와 unfilled bullish FVG가 모두 0개라 할인 구간 매수 셋업의 품질은 낮다. 반대로 bear_score 9.1이 bull_score 6.5보다 높고, EMA20 $66,599.34 및 이전 7일 고점 $64,738.00을 회복하지 못하면 $60,691.90, 이후 $59,080.00 유동성 재공격 가능성이 우세하다.\",\n  \"key_levels\": {\n    \"support\": [\n      63360.0,\n      60691.9,\n      59080.0\n    ],\n    \"resistance\": [\n      64738.0,\n      64918.2,\n      66599.34,\n      70954.35,\n      80651.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$64,918.20 일봉 종가 회복\",\n  \"risk_scenario\": \"가격이 $64,918.20을 강하게 회복하고 이전 7일 고점 $64,738.00 위에서 수용되면 bearish CHoCH 실패로 간주될 수 있다. 그 경우 단기 숏 포지션 청산 유동성이 발생하며 EMA20 $66,599.34, 이후 EQ $70,954.35까지 되돌림이 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.55,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.42,
      "setup_signals": [
        "가격 $63,995.20는 스윙 EQ/0.5 되돌림 $70,954.35 아래의 할인 구간에 위치",
        "주요 스윙 저점 지지 $59,080.00 위에서 거래 중이며, 7일 저점 $60,691.90 이후 즉각적인 저점 이탈은 아직 미확인",
        "가장 가까운 피보나치 저항 ret_0.236 $64,684.69까지 1.08% 거리로 단기 회복 시도 구간",
        "하락 스윙 $82,829 → $59,080 기준 0.618 골든 비율 $73,756.70 미회복으로 구조 전환은 아직 미확정"
      ],
      "reasoning": "확정 구조는 $82,829에서 $59,080으로 이어진 하락 스윙이 기준이며, 현재가 $63,995.20는 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 있어 구조적으로는 bearish입니다. 다만 가격은 EQ인 ret_0.5 $70,954.35 아래의 할인 구간에 있으며, 주요 지지 $59,080.00을 아직 이탈하지 않아 사전 셋업 관점에서는 단기 반등 가능성이 남아 있습니다. 가장 가까운 저항은 ret_0.236 $64,684.69로 현재가 대비 1.08% 위이며, 이 레벨을 종가 기준으로 회복하지 못하면 $59,080.00 재시험 위험이 큽니다. 고확률 구조 전환 레벨인 0.618 골든 비율 $73,756.70은 현재가에서 15.25% 떨어져 있어, 아직 bullish 구조 확인과는 거리가 있습니다.",
      "key_levels": {
        "support": [
          59080.0,
          52620.35,
          49248.04
        ],
        "resistance": [
          64684.69,
          68152.0,
          70954.35,
          73756.7
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$68,152.00 종가 상향 돌파 시 단기 bearish 압력 우위 해석은 약화되며, $73,756.70 회복 시 구조적 bearish 관점은 무효화",
      "risk_scenario": "가격이 ret_0.236 $64,684.69를 돌파하지 못하고 재차 밀리면 $59,080.00 지지 재시험이 우선 시나리오가 되며, 이탈 시 ext_1.272 $52,620.35와 ext_1.414 $49,248.04까지 하락 확장이 열립니다. 반대로 $68,152.00을 회복하면 ret_0.5 $70,954.35 및 골든 비율 $73,756.70까지 되돌림 랠리가 확대될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $82,829 → $59,080",
        "direction": "down",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 64684.69,
        "nearest_fib_distance": 1.08,
        "golden_ratio_level": 73756.7,
        "fib_ret_382": 68152.0,
        "fib_ret_618": 73756.7,
        "confluence_zones": [
          {
            "price": 59080.0,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59080.0,
          52620.3536,
          49248.0382
        ],
        "resistance_levels": [
          64684.6932,
          68152.0034,
          70954.35
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 64684.69,
            "distance_pct": 1.08,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 68152.0,
            "distance_pct": 6.5,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 70954.35,
            "distance_pct": 10.87,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 73756.7,
            "distance_pct": 15.25,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 77746.48,
            "distance_pct": 21.49,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 59080.0,
            "distance_pct": 7.68,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 52620.35,
            "distance_pct": 17.77,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 49248.04,
            "distance_pct": 23.04,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 44403.3,
            "distance_pct": 30.61,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 35331.3,
            "distance_pct": 44.79,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "approaching",
        "reaction_probability": 0.45
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.42,\n  \"setup_signals\": [\n    \"가격 $63,995.20는 스윙 EQ/0.5 되돌림 $70,954.35 아래의 할인 구간에 위치\",\n    \"주요 스윙 저점 지지 $59,080.00 위에서 거래 중이며, 7일 저점 $60,691.90 이후 즉각적인 저점 이탈은 아직 미확인\",\n    \"가장 가까운 피보나치 저항 ret_0.236 $64,684.69까지 1.08% 거리로 단기 회복 시도 구간\",\n    \"하락 스윙 $82,829 → $59,080 기준 0.618 골든 비율 $73,756.70 미회복으로 구조 전환은 아직 미확정\"\n  ],\n  \"reasoning\": \"확정 구조는 $82,829에서 $59,080으로 이어진 하락 스윙이 기준이며, 현재가 $63,995.20는 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 있어 구조적으로는 bearish입니다. 다만 가격은 EQ인 ret_0.5 $70,954.35 아래의 할인 구간에 있으며, 주요 지지 $59,080.00을 아직 이탈하지 않아 사전 셋업 관점에서는 단기 반등 가능성이 남아 있습니다. 가장 가까운 저항은 ret_0.236 $64,684.69로 현재가 대비 1.08% 위이며, 이 레벨을 종가 기준으로 회복하지 못하면 $59,080.00 재시험 위험이 큽니다. 고확률 구조 전환 레벨인 0.618 골든 비율 $73,756.70은 현재가에서 15.25% 떨어져 있어, 아직 bullish 구조 확인과는 거리가 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59080.0,\n      52620.35,\n      49248.04\n    ],\n    \"resistance\": [\n      64684.69,\n      68152.0,\n      70954.35,\n      73756.7\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$68,152.00 종가 상향 돌파 시 단기 bearish 압력 우위 해석은 약화되며, $73,756.70 회복 시 구조적 bearish 관점은 무효화\",\n  \"risk_scenario\": \"가격이 ret_0.236 $64,684.69를 돌파하지 못하고 재차 밀리면 $59,080.00 지지 재시험이 우선 시나리오가 되며, 이탈 시 ext_1.272 $52,620.35와 ext_1.414 $49,248.04까지 하락 확장이 열립니다. 반대로 $68,152.00을 회복하면 ret_0.5 $70,954.35 및 골든 비율 $73,756.70까지 되돌림 랠리가 확대될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $63,995.20가 EMA20 $66,599.34보다 3.9% 낮고 EMA120 $74,488.08보다 14.1% 낮아 단기 과매도/디스카운트 반등 셋업이 형성됨",
        "7일 저점 $60,691.90 부근에서 최근 bullish_engulfing@296, bullish_engulfing@298 및 morning_star@292가 출현해 수요 구간 반응 가능성 존재",
        "최근 5개 일봉이 -0.3%, +3.4%, -0.1%, +1.4%, -0.7%로 하락 후 반등 시도가 반복되며 매도 압력 둔화 신호가 있음",
        "다만 high_volume_patterns가 없고 20일 평균 거래량 $199,103.32 대비 고거래량 확인이 없어 구조 전환 전의 예비 셋업에 그침",
        "상단 유동성/저항은 7일 고점 $64,738.00 및 EMA20 $66,599.34에 집중되어 있어 이 구간 돌파 전까지는 반등 확인이 부족함"
      ],
      "reasoning": "확정 구조는 약세로 판단한다. 현재가 $63,995.20는 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 일봉 추세 구조는 아직 하락 우위다. 반면 캔들 셋업은 morning_star 품질 0.672와 최근 bullish_engulfing 3개가 포착되어 $60,691.90 저점 부근에서 단기 반등 가능성을 보여준다. 그러나 evening_star@294와 doji@291/295/297도 함께 존재하고, 고거래량 패턴이 전혀 없어 매수 신호의 신뢰도는 제한적이다. 따라서 구조는 bearish, 셋업은 bullish로 엇갈리며, $64,738.00 돌파 및 $66,599.34 회복 전까지는 중립 관망이 더 적절하다.",
      "key_levels": {
        "support": [
          61735.19,
          60691.9
        ],
        "resistance": [
          64738.0,
          66599.34,
          74488.08,
          81569.25
        ]
      },
      "time_horizon": "단기, 약 1일~1주",
      "invalidation_level": "$60,691.90 하향 종가 이탈",
      "risk_scenario": "$64,738.00 7일 고점 돌파에 실패하고 EMA20 $66,599.34 아래에서 재차 음봉이 확대되면 bullish_engulfing과 morning_star 셋업은 실패로 간주되며, $60,691.90 재시험 및 그 하향 이탈 시 추가 하락이 열릴 수 있다. 반대로 $66,599.34를 일봉 종가로 회복하면 약세 구조가 약화되고 EMA120 $74,488.08까지 반등 여지가 커진다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 135,
        "recent_patterns": 8,
        "pattern_list": [
          "bullish_engulfing@292",
          "bullish_engulfing@296",
          "bullish_engulfing@298",
          "morning_star@292",
          "evening_star@294",
          "doji@291",
          "doji@295",
          "doji@297"
        ],
        "atr_value": 2260.01,
        "vol_avg_20": 199103.32,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.672,
            "tier": "strict",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.647,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.642,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.627,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.448,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.672,
        "bull_score": 3.05,
        "bear_score": 0.8
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $63,995.20가 EMA20 $66,599.34보다 3.9% 낮고 EMA120 $74,488.08보다 14.1% 낮아 단기 과매도/디스카운트 반등 셋업이 형성됨\",\n    \"7일 저점 $60,691.90 부근에서 최근 bullish_engulfing@296, bullish_engulfing@298 및 morning_star@292가 출현해 수요 구간 반응 가능성 존재\",\n    \"최근 5개 일봉이 -0.3%, +3.4%, -0.1%, +1.4%, -0.7%로 하락 후 반등 시도가 반복되며 매도 압력 둔화 신호가 있음\",\n    \"다만 high_volume_patterns가 없고 20일 평균 거래량 $199,103.32 대비 고거래량 확인이 없어 구조 전환 전의 예비 셋업에 그침\",\n    \"상단 유동성/저항은 7일 고점 $64,738.00 및 EMA20 $66,599.34에 집중되어 있어 이 구간 돌파 전까지는 반등 확인이 부족함\"\n  ],\n  \"reasoning\": \"확정 구조는 약세로 판단한다. 현재가 $63,995.20는 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 일봉 추세 구조는 아직 하락 우위다. 반면 캔들 셋업은 morning_star 품질 0.672와 최근 bullish_engulfing 3개가 포착되어 $60,691.90 저점 부근에서 단기 반등 가능성을 보여준다. 그러나 evening_star@294와 doji@291/295/297도 함께 존재하고, 고거래량 패턴이 전혀 없어 매수 신호의 신뢰도는 제한적이다. 따라서 구조는 bearish, 셋업은 bullish로 엇갈리며, $64,738.00 돌파 및 $66,599.34 회복 전까지는 중립 관망이 더 적절하다.\",\n  \"key_levels\": {\n    \"support\": [\n      61735.19,\n      60691.9\n    ],\n    \"resistance\": [\n      64738.0,\n      66599.34,\n      74488.08,\n      81569.25\n    ]\n  },\n  \"time_horizon\": \"단기, 약 1일~1주\",\n  \"invalidation_level\": \"$60,691.90 하향 종가 이탈\",\n  \"risk_scenario\": \"$64,738.00 7일 고점 돌파에 실패하고 EMA20 $66,599.34 아래에서 재차 음봉이 확대되면 bullish_engulfing과 morning_star 셋업은 실패로 간주되며, $60,691.90 재시험 및 그 하향 이탈 시 추가 하락이 열릴 수 있다. 반대로 $66,599.34를 일봉 종가로 회복하면 약세 구조가 약화되고 EMA120 $74,488.08까지 반등 여지가 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.56,
      "setup_signals": [
        "현재가 $63,995.20가 최근 활성 bullish PRZ 클러스터 내부/근접: nearest Butterfly PRZ 중심 $63,956.86, 범위 $62,591.24-$65,322.47",
        "strict bullish Bat 형성 PRZ가 $63,202.30-$63,987.38에 위치하며 현재가가 상단을 소폭 회복한 상태, D 추정가 $63,594.84",
        "strict bullish Bat 추가 PRZ가 $64,325.45-$65,323.41에 위치, D 추정가 $64,824.43로 현재가 대비 약 +1.30%",
        "active bullish Gartley/Butterfly 후보들이 $62,779.86-$65,380.95에 중첩되어 있으나 다수는 low quality 또는 폭이 넓어 단독 반전 근거로는 부족",
        "최고 점수 패턴은 high-quality strict bullish Gartley이나 PRZ가 $65,999.53-$67,113.44로 현재가 대비 약 +4.00% 위의 watch 구간이라 즉시 실행 신호는 아님"
      ],
      "reasoning": "일봉 구조는 현재가 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 확인된 구조 관점에서는 bearish로 본다. 반면 셋업 관점에서는 $62,591.24-$65,322.47에 활성 bullish PRZ가 형성되어 있고, 특히 strict Bat PRZ $63,202.30-$63,987.38 및 nearest Butterfly 중심 $63,956.86이 현재가와 거의 겹쳐 단기 반등 후보 구간이다. 다만 council_relevant_prz_count와 directional_influence_prz_count가 모두 0이고 confirmed_reaction_prz_count도 0이므로, 아직 PRZ 터치 후 거부·스윕 후 리클레임·15m/1h MSS/CHoCH·CVD/OI 확인이 없는 pre-confirmation 단계다. 따라서 하모닉은 현재 메인 경로를 bullish로 뒤집을 수 없고, $63k-$65.3k 구간의 반응 여부를 관찰하는 중립/반전 리스크 신호로 해석한다.",
      "key_levels": {
        "support": [
          63987.38,
          63202.3,
          62591.24,
          60691.9,
          60477.7
        ],
        "resistance": [
          65322.47,
          66599.34,
          67113.44,
          68133.22,
          69999.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "일봉 기준 $62,591.24 하향 이탈 후 회복 실패 시 현재 bullish PRZ 반등 셋업은 무효화되며, $60,691.90 및 $60,477.70 재테스트 위험이 커진다.",
      "risk_scenario": "반대로 가격이 $65,322.47 상단을 회복하고 $66,599.34 EMA20 및 high-quality Gartley PRZ $65,999.53-$67,113.44 위에서 거부가 아닌 수용을 보이면, 현재 bearish 구조 내 반등이 $67,871.53, $68,683.96, $69,999.00 TP 후보로 확장될 수 있다. 그러나 이 경우에도 15m/1h MSS 또는 CHoCH, PRZ 방어, CVD/OI 확인이 동반되어야 하모닉이 medium confluence로 승격된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 207,
        "completed_patterns_found": 81,
        "forming_d_prz_found": 126,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 60,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 31,
        "timeframe": "1d",
        "prz_active_threshold_pct": 1.0,
        "prz_nearby_threshold_pct": 2.0,
        "prz_watch_threshold_pct": 4.0,
        "prz_max_width_pct": 1.8,
        "quality_counts": {
          "high": 3,
          "medium": 50,
          "low": 154
        },
        "prz_status_counts": {
          "active": 31,
          "nearby": 11,
          "watch": 12,
          "far": 153,
          "forming": 93
        },
        "high_confluence_prz_count": 20,
        "strict_patterns_found": 59,
        "candidate_patterns_found": 148,
        "active_patterns_at_prz": 31,
        "nearby_patterns": 11,
        "all_patterns": [
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "gartley",
          "bat",
          "bat",
          "gartley",
          "shark",
          "shark",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "gartley",
          "shark",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "shark",
          "shark",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "shark",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "bat",
          "shark",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "gartley",
          "shark",
          "gartley",
          "crab",
          "crab",
          "shark",
          "bat",
          "shark",
          "bat",
          "crab",
          "gartley",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.88,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 63956.86,
        "price_to_prz": -0.06,
        "prz_range": [
          62591.24,
          65322.47
        ],
        "council_relevant_prz_count": 0,
        "directional_influence_prz_count": 0,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.88,
            "ratio_score": 0.97,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66556.49,
            "prz_range": [
              65999.53,
              67113.44
            ],
            "prz_width_pct": 1.674,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.0,
            "price_to_prz_pct_raw": 4.0023,
            "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": 66556.49,
              "a_price": 69999.0,
              "tp1_ad_382": 67871.53,
              "tp2_ad_618": 68683.96,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366
            },
            "x_price": 65595.7,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 190,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.833,
            "ratio_score": 0.776,
            "prz_score": 0.87,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63574.32,
            "prz_range": [
              62684.52,
              64464.12
            ],
            "prz_width_pct": 2.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.66,
            "price_to_prz_pct_raw": -0.6577,
            "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": 63574.32,
              "a_price": 75998.9,
              "tp1_ad_382": 68320.51,
              "tp2_ad_618": 71252.71,
              "tp3_a_or_structure_liquidity": 75998.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8341,
              "ABC": 0.5403
            },
            "x_price": 65569.2,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 75998.9,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.623,
            "ratio_score": 0.452,
            "prz_score": 0.939,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 65676.1,
            "prz_range": [
              65604.43,
              67113.23
            ],
            "prz_width_pct": 2.274,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.69,
            "price_to_prz_pct_raw": 3.6934,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "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": 2.39,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "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": 66358.83,
              "a_price": 69999.0,
              "tp1_ad_382": 67749.37,
              "tp2_ad_618": 68608.46,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366,
              "BCD": 1.8169,
              "XAD": 0.9817
            },
            "x_price": 65595.7,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 190,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": 226
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.869,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 63594.84,
            "prz_range": [
              63202.3,
              63987.38
            ],
            "prz_width_pct": 1.235,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.63,
            "price_to_prz_pct_raw": -0.6256,
            "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": 63594.84,
              "a_price": 70938.5,
              "tp1_ad_382": 66400.12,
              "tp2_ad_618": 68133.22,
              "tp3_a_or_structure_liquidity": 70938.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.482,
              "ABC": 0.6926
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 70938.5,
            "a_idx": 180,
            "a_order": 5,
            "b_price": 65569.2,
            "b_idx": 201,
            "b_order": 5,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.865,
            "ratio_score": 0.942,
            "prz_score": 0.814,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64283.69,
            "prz_range": [
              63244.56,
              65322.83
            ],
            "prz_width_pct": 3.233,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.45,
            "price_to_prz_pct_raw": 0.4508,
            "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": 64283.69,
              "a_price": 74046.5,
              "tp1_ad_382": 68013.08,
              "tp2_ad_618": 70317.11,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7983,
              "ABC": 0.6966
            },
            "x_price": 65595.7,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.855,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64824.43,
            "prz_range": [
              64325.45,
              65323.41
            ],
            "prz_width_pct": 1.539,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.3,
            "price_to_prz_pct_raw": 1.2958,
            "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": 64824.43,
              "a_price": 74046.5,
              "tp1_ad_382": 68347.26,
              "tp2_ad_618": 70523.67,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4736,
              "ABC": 0.6966
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.847,
            "ratio_score": 0.996,
            "prz_score": 0.852,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 61380.83,
            "prz_range": [
              60477.7,
              62283.95
            ],
            "prz_width_pct": 2.943,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.09,
            "price_to_prz_pct_raw": -4.0853,
            "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": 61380.83,
              "a_price": 71999.9,
              "tp1_ad_382": 65437.31,
              "tp2_ad_618": 67943.41,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7851,
              "ABC": 0.6171
            },
            "x_price": 62979.5,
            "x_idx": 193,
            "x_order": 3,
            "a_price": 71999.9,
            "a_idx": 218,
            "a_order": 5,
            "b_price": 64918.2,
            "b_idx": 222,
            "b_order": 8,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.841,
            "ratio_score": 0.864,
            "prz_score": 0.822,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 63790.98,
            "prz_range": [
              62779.86,
              64802.1
            ],
            "prz_width_pct": 3.17,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.32,
            "price_to_prz_pct_raw": -0.3191,
            "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": 63790.98,
              "a_price": 74046.5,
              "tp1_ad_382": 67708.59,
              "tp2_ad_618": 70128.89,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.595,
              "ABC": 0.7586
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 65569.2,
            "b_idx": 201,
            "b_order": 5,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.88,
            "ratio_score": 0.97,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66556.49,
            "prz_range": [
              65999.53,
              67113.44
            ],
            "prz_width_pct": 1.674,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.0,
            "price_to_prz_pct_raw": 4.0023,
            "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": 66556.49,
              "a_price": 69999.0,
              "tp1_ad_382": 67871.53,
              "tp2_ad_618": 68683.96,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366
            },
            "x_price": 65595.7,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 190,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.833,
            "ratio_score": 0.776,
            "prz_score": 0.87,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63574.32,
            "prz_range": [
              62684.52,
              64464.12
            ],
            "prz_width_pct": 2.799,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.66,
            "price_to_prz_pct_raw": -0.6577,
            "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": 63574.32,
              "a_price": 75998.9,
              "tp1_ad_382": 68320.51,
              "tp2_ad_618": 71252.71,
              "tp3_a_or_structure_liquidity": 75998.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8341,
              "ABC": 0.5403
            },
            "x_price": 65569.2,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 75998.9,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.623,
            "ratio_score": 0.452,
            "prz_score": 0.939,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 65676.1,
            "prz_range": [
              65604.43,
              67113.23
            ],
            "prz_width_pct": 2.274,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.69,
            "price_to_prz_pct_raw": 3.6934,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "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": 2.39,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "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": 66358.83,
              "a_price": 69999.0,
              "tp1_ad_382": 67749.37,
              "tp2_ad_618": 68608.46,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366,
              "BCD": 1.8169,
              "XAD": 0.9817
            },
            "x_price": 65595.7,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 190,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": 226
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.869,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 63594.84,
            "prz_range": [
              63202.3,
              63987.38
            ],
            "prz_width_pct": 1.235,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.63,
            "price_to_prz_pct_raw": -0.6256,
            "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": 63594.84,
              "a_price": 70938.5,
              "tp1_ad_382": 66400.12,
              "tp2_ad_618": 68133.22,
              "tp3_a_or_structure_liquidity": 70938.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.482,
              "ABC": 0.6926
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 70938.5,
            "a_idx": 180,
            "a_order": 5,
            "b_price": 65569.2,
            "b_idx": 201,
            "b_order": 5,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.865,
            "ratio_score": 0.942,
            "prz_score": 0.814,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64283.69,
            "prz_range": [
              63244.56,
              65322.83
            ],
            "prz_width_pct": 3.233,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.45,
            "price_to_prz_pct_raw": 0.4508,
            "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": 64283.69,
              "a_price": 74046.5,
              "tp1_ad_382": 68013.08,
              "tp2_ad_618": 70317.11,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7983,
              "ABC": 0.6966
            },
            "x_price": 65595.7,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.855,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64824.43,
            "prz_range": [
              64325.45,
              65323.41
            ],
            "prz_width_pct": 1.539,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.3,
            "price_to_prz_pct_raw": 1.2958,
            "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": 64824.43,
              "a_price": 74046.5,
              "tp1_ad_382": 68347.26,
              "tp2_ad_618": 70523.67,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4736,
              "ABC": 0.6966
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.847,
            "ratio_score": 0.996,
            "prz_score": 0.852,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 61380.83,
            "prz_range": [
              60477.7,
              62283.95
            ],
            "prz_width_pct": 2.943,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -4.09,
            "price_to_prz_pct_raw": -4.0853,
            "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": 61380.83,
              "a_price": 71999.9,
              "tp1_ad_382": 65437.31,
              "tp2_ad_618": 67943.41,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7851,
              "ABC": 0.6171
            },
            "x_price": 62979.5,
            "x_idx": 193,
            "x_order": 3,
            "a_price": 71999.9,
            "a_idx": 218,
            "a_order": 5,
            "b_price": 64918.2,
            "b_idx": 222,
            "b_order": 8,
            "c_price": 69288.0,
            "c_idx": 225,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.841,
            "ratio_score": 0.864,
            "prz_score": 0.822,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 63790.98,
            "prz_range": [
              62779.86,
              64802.1
            ],
            "prz_width_pct": 3.17,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.32,
            "price_to_prz_pct_raw": -0.3191,
            "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": 63790.98,
              "a_price": 74046.5,
              "tp1_ad_382": 67708.59,
              "tp2_ad_618": 70128.89,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.595,
              "ABC": 0.7586
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 65569.2,
            "b_idx": 201,
            "b_order": 5,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.834,
            "ratio_score": 0.871,
            "prz_score": 0.8,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64306.25,
            "prz_range": [
              63231.55,
              65380.95
            ],
            "prz_width_pct": 3.342,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.49,
            "price_to_prz_pct_raw": 0.4861,
            "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": 64306.25,
              "a_price": 75998.9,
              "tp1_ad_382": 68772.84,
              "tp2_ad_618": 71532.31,
              "tp3_a_or_structure_liquidity": 75998.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6398,
              "ABC": 0.5403
            },
            "x_price": 62401.7,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 75998.9,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.831,
            "ratio_score": 0.95,
            "prz_score": 0.752,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 65542.24,
            "prz_range": [
              64324.68,
              66759.8
            ],
            "prz_width_pct": 3.715,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.42,
            "price_to_prz_pct_raw": 2.4174,
            "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": 65542.24,
              "a_price": 74046.5,
              "tp1_ad_382": 68790.87,
              "tp2_ad_618": 70797.87,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6096,
              "ABC": 0.6966
            },
            "x_price": 62979.5,
            "x_idx": 193,
            "x_order": 3,
            "a_price": 74046.5,
            "a_idx": 197,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.819,
            "ratio_score": 0.873,
            "prz_score": 0.8,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64918.2,
            "prz_range": [
              63231.55,
              65380.95
            ],
            "prz_width_pct": 3.342,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.49,
            "price_to_prz_pct_raw": 0.4861,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.77,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 64306.25,
              "a_price": 75998.9,
              "tp1_ad_382": 68772.84,
              "tp2_ad_618": 71532.31,
              "tp3_a_or_structure_liquidity": 75998.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6398,
              "ABC": 0.5403,
              "BCD": 1.5068,
              "XAD": 0.8149
            },
            "x_price": 62401.7,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 75998.9,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 218,
            "c_order": 5,
            "d_idx": 222
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.812,
            "ratio_score": 1.0,
            "prz_score": 0.662,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62377.53,
            "prz_range": [
              61002.42,
              63752.64
            ],
            "prz_width_pct": 4.409,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.53,
            "price_to_prz_pct_raw": -2.5278,
            "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": 62377.53,
              "a_price": 70938.5,
              "tp1_ad_382": 65647.82,
              "tp2_ad_618": 67668.21,
              "tp3_a_or_structure_liquidity": 70938.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4797,
              "ABC": 0.5786
            },
            "x_price": 59800.0,
            "x_idx": 171,
            "x_order": 8,
            "a_price": 70938.5,
            "a_idx": 180,
            "a_order": 5,
            "b_price": 65595.7,
            "b_idx": 184,
            "b_order": 3,
            "c_price": 68687.0,
            "c_idx": 186,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "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": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"현재가 $63,995.20가 최근 활성 bullish PRZ 클러스터 내부/근접: nearest Butterfly PRZ 중심 $63,956.86, 범위 $62,591.24-$65,322.47\",\n    \"strict bullish Bat 형성 PRZ가 $63,202.30-$63,987.38에 위치하며 현재가가 상단을 소폭 회복한 상태, D 추정가 $63,594.84\",\n    \"strict bullish Bat 추가 PRZ가 $64,325.45-$65,323.41에 위치, D 추정가 $64,824.43로 현재가 대비 약 +1.30%\",\n    \"active bullish Gartley/Butterfly 후보들이 $62,779.86-$65,380.95에 중첩되어 있으나 다수는 low quality 또는 폭이 넓어 단독 반전 근거로는 부족\",\n    \"최고 점수 패턴은 high-quality strict bullish Gartley이나 PRZ가 $65,999.53-$67,113.44로 현재가 대비 약 +4.00% 위의 watch 구간이라 즉시 실행 신호는 아님\"\n  ],\n  \"reasoning\": \"일봉 구조는 현재가 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 확인된 구조 관점에서는 bearish로 본다. 반면 셋업 관점에서는 $62,591.24-$65,322.47에 활성 bullish PRZ가 형성되어 있고, 특히 strict Bat PRZ $63,202.30-$63,987.38 및 nearest Butterfly 중심 $63,956.86이 현재가와 거의 겹쳐 단기 반등 후보 구간이다. 다만 council_relevant_prz_count와 directional_influence_prz_count가 모두 0이고 confirmed_reaction_prz_count도 0이므로, 아직 PRZ 터치 후 거부·스윕 후 리클레임·15m/1h MSS/CHoCH·CVD/OI 확인이 없는 pre-confirmation 단계다. 따라서 하모닉은 현재 메인 경로를 bullish로 뒤집을 수 없고, $63k-$65.3k 구간의 반응 여부를 관찰하는 중립/반전 리스크 신호로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      63987.38,\n      63202.3,\n      62591.24,\n      60691.9,\n      60477.7\n    ],\n    \"resistance\": [\n      65322.47,\n      66599.34,\n      67113.44,\n      68133.22,\n      69999.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"일봉 기준 $62,591.24 하향 이탈 후 회복 실패 시 현재 bullish PRZ 반등 셋업은 무효화되며, $60,691.90 및 $60,477.70 재테스트 위험이 커진다.\",\n  \"risk_scenario\": \"반대로 가격이 $65,322.47 상단을 회복하고 $66,599.34 EMA20 및 high-quality Gartley PRZ $65,999.53-$67,113.44 위에서 거부가 아닌 수용을 보이면, 현재 bearish 구조 내 반등이 $67,871.53, $68,683.96, $69,999.00 TP 후보로 확장될 수 있다. 그러나 이 경우에도 15m/1h MSS 또는 CHoCH, PRZ 방어, CVD/OI 확인이 동반되어야 하모닉이 medium confluence로 승격된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $63,995.20가 20일 EMA $66,599.34 아래에 있어 단기 수요 회복이 아직 확인되지 않음",
        "최근 7일 고점이자 현재 반등 저항 후보 $64,738.00 부근에서 반응 후 현재가가 하회 중",
        "이전 Spring 저점 $65,595.70을 재상향 회복하지 못해 Phase D/SOS 이후 수요 지속성이 약화된 상태",
        "활성 단기 구조 후보에서 $64,738.00 ST성 고점 저항이 형성되고, 하단 유동성/지지 후보는 $60,691.90 및 $59,080.00에 위치",
        "확인된 장기 ACC 구조의 SOS $82,828.70 대비 현재가가 크게 이탈해, 구조적 강세와 즉시 경로가 불일치"
      ],
      "reasoning": "상위 Wyckoff 판독은 regime=ACC, acc_score 92.5, Phase D 후보이며 SC $80,600 → AR $93,080 → ST $84,408.60 → Spring $65,595.70 → Terminal Spring $74,868 → SOS $82,828.70의 축적 체인이 기록되어 구조_bias는 여전히 bullish로 둔다. 다만 현재가 $63,995.20는 Spring $65,595.70 및 EMA20 $66,599.34 아래에 있어 SOS 이후의 강세 수용이 확인되지 않았고, 최근 $64,738.00 저항에서 다시 밀리는 형태라 즉시 경로는 약세 테스트 쪽이다. 핵심은 $64,738.00~$65,595.70 회복 여부이며, 이 구간을 일봉 기준 되찾지 못하면 $60,691.90 및 $59,080.00 하단 재시험 가능성이 더 높다. 따라서 구조는 축적 우위이나, 현재 실행 셋업은 확인 전 약세이며 Phase D가 확정된 상승 전개라기보다 실패/재시험 구간으로 해석한다.",
      "key_levels": {
        "support": [
          60691.9,
          59080.0,
          65595.7
        ],
        "resistance": [
          64738.0,
          65595.7,
          66599.34,
          74868.0,
          80600.0,
          82828.7
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$65,595.70 일봉 종가 회복",
      "risk_scenario": "$64,738.00를 회복한 뒤 $65,595.70 Spring 레벨까지 일봉 종가로 재진입하면 현재의 약세 setup은 무효화되고, $66,599.34 EMA20 및 $74,868.00 Terminal Spring 구간을 향한 회복 테스트가 우선 시나리오가 된다. 반대로 $60,691.90이 깨지면 $59,080.00까지 하단 유동성 재시험이 열리며, ACC Phase D 판독 자체도 더 강한 재평가가 필요하다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 85.0,
        "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": 94,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 101,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 121,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 184,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 253,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 260,
            "price": 82828.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1d_cycle_1",
            "sequence": 1,
            "timeframe": "1d",
            "regime": "accumulation",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 94,
            "end_idx": 260,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 94,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 101,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 121,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 184,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 253,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 260,
                "price": 82828.7,
                "color": "#06d6a0",
                "dt": "2026-05-06 09:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "1d_cycle_2",
            "sequence": 2,
            "timeframe": "1d",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 268,
            "end_idx": 298,
            "phase_count": 3,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 268,
                "price": 81999.0,
                "color": "#ffd166",
                "dt": "2026-05-14 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 290,
                "price": 59080.0,
                "color": "#06d6a0",
                "dt": "2026-06-05 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 298,
                "price": 64738.0,
                "color": "#118ab2",
                "dt": "2026-06-13 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1d_cycle_2",
        "primary_structure_id": "1d_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80600.0,
        "main_range_high": 93080.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $63,995.20가 20일 EMA $66,599.34 아래에 있어 단기 수요 회복이 아직 확인되지 않음\",\n    \"최근 7일 고점이자 현재 반등 저항 후보 $64,738.00 부근에서 반응 후 현재가가 하회 중\",\n    \"이전 Spring 저점 $65,595.70을 재상향 회복하지 못해 Phase D/SOS 이후 수요 지속성이 약화된 상태\",\n    \"활성 단기 구조 후보에서 $64,738.00 ST성 고점 저항이 형성되고, 하단 유동성/지지 후보는 $60,691.90 및 $59,080.00에 위치\",\n    \"확인된 장기 ACC 구조의 SOS $82,828.70 대비 현재가가 크게 이탈해, 구조적 강세와 즉시 경로가 불일치\"\n  ],\n  \"reasoning\": \"상위 Wyckoff 판독은 regime=ACC, acc_score 92.5, Phase D 후보이며 SC $80,600 → AR $93,080 → ST $84,408.60 → Spring $65,595.70 → Terminal Spring $74,868 → SOS $82,828.70의 축적 체인이 기록되어 구조_bias는 여전히 bullish로 둔다. 다만 현재가 $63,995.20는 Spring $65,595.70 및 EMA20 $66,599.34 아래에 있어 SOS 이후의 강세 수용이 확인되지 않았고, 최근 $64,738.00 저항에서 다시 밀리는 형태라 즉시 경로는 약세 테스트 쪽이다. 핵심은 $64,738.00~$65,595.70 회복 여부이며, 이 구간을 일봉 기준 되찾지 못하면 $60,691.90 및 $59,080.00 하단 재시험 가능성이 더 높다. 따라서 구조는 축적 우위이나, 현재 실행 셋업은 확인 전 약세이며 Phase D가 확정된 상승 전개라기보다 실패/재시험 구간으로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60691.9,\n      59080.0,\n      65595.7\n    ],\n    \"resistance\": [\n      64738.0,\n      65595.7,\n      66599.34,\n      74868.0,\n      80600.0,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$65,595.70 일봉 종가 회복\",\n  \"risk_scenario\": \"$64,738.00를 회복한 뒤 $65,595.70 Spring 레벨까지 일봉 종가로 재진입하면 현재의 약세 setup은 무효화되고, $66,599.34 EMA20 및 $74,868.00 Terminal Spring 구간을 향한 회복 테스트가 우선 시나리오가 된다. 반대로 $60,691.90이 깨지면 $59,080.00까지 하단 유동성 재시험이 열리며, ACC Phase D 판독 자체도 더 강한 재평가가 필요하다.\",\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.68,
      "setup_signals": [
        "현재가 $63,995.20가 EMA20 $66,599.34 아래 -3.9%에 위치해 단기 구조 수용이 약세",
        "EMA120 $74,488.08 및 EMA240 $81,569.25 대비 각각 -14.1%, -21.5% 아래에 있어 중기 구조도 하방 우위",
        "24시간 OI가 +2.40% 증가했지만 가격은 24시간 -0.66% 하락해 신규 포지션 유입이 하방 압력과 동행",
        "CVD 변화가 -1,763.5530으로 음수이며 cvd_divergence 0.150에 불과해 현 가격대에서 매수 참여가 약함",
        "롱 계정 비율이 0.593, account_long_crowding 0.845로 여전히 롱 쏠림이 높아 반대매매성 하락 리스크 존재",
        "현물-선물 베이시스가 -0.0467%로 음수이며 basis_change_lookback도 -0.0117로 약화",
        "상단 $66,100에 가장 강한 청산 유동성이 있으나, 해당 레벨을 회수하지 못하면 숏 리로드 및 업스러스트 후보 구간"
      ],
      "reasoning": "확정 구조는 현재가 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 bearish로 판단한다. 파생 포지셔닝에서는 OI가 24시간 +2.40% 증가했지만 가격은 -0.66% 하락했고, CVD도 -1,763.5530으로 감소해 신규 포지션 유입이 매수 흡수보다는 하방 압력에 가깝다. funding_avg는 거의 0에 가깝지만 funding_change_24h가 -0.0001로 내려가고 있으며, 롱 계정 비율 0.593과 account_long_crowding 0.845는 아직 롱 포지션이 충분히 정리되지 않았음을 시사한다. 단기적으로 $63,500 청산 레벨이 먼저 노출되어 있고, 이탈 시 $61,600 및 7일 저점 $60,691.90까지 하방 유동성 탐색 가능성이 커진다.",
      "key_levels": {
        "support": [
          63500,
          61600,
          60691.9,
          57500
        ],
        "resistance": [
          64738,
          66100,
          66599.34,
          67100,
          69400
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "67100",
      "risk_scenario": "$66,100 상단 청산 유동성을 강하게 회수한 뒤 $67,100 위에서 구조적으로 수용되면, 현재 bearish setup은 숏 스퀴즈로 전환될 수 있다. 이 경우 EMA20 $66,599.34 회복과 함께 $69,400 상단 청산 구간까지 빠른 되돌림이 발생할 수 있다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -1763.553,
        "oi_trend": 0.74,
        "oi_change_pct_24h": 2.4,
        "oi_latest": 100142.273,
        "funding_pressure": 0.506,
        "funding_avg": -5.62e-06,
        "funding_change_24h": -0.00010014,
        "long_account_ratio": 0.601,
        "short_account_ratio": 0.399,
        "long_account_latest": 0.593,
        "short_account_latest": 0.407,
        "long_account_change_24h": -0.0169,
        "short_account_change_24h": 0.0169,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.845,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.488,
        "spot_futures_basis_pct": -0.0467,
        "basis_change_lookback": -0.0117,
        "aggregate_score": 0.377,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            63500,
            113874.34021260001
          ],
          [
            61600,
            101553.760509
          ],
          [
            57500,
            91624.6048375
          ]
        ],
        "liq_above": [
          [
            66100,
            127208.7336788
          ],
          [
            67100,
            103402.50763125
          ],
          [
            69400,
            98819.4924855
          ]
        ],
        "strongest_liq_level": 66100,
        "fragility_score": 0.692,
        "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.68,\n  \"setup_signals\": [\n    \"현재가 $63,995.20가 EMA20 $66,599.34 아래 -3.9%에 위치해 단기 구조 수용이 약세\",\n    \"EMA120 $74,488.08 및 EMA240 $81,569.25 대비 각각 -14.1%, -21.5% 아래에 있어 중기 구조도 하방 우위\",\n    \"24시간 OI가 +2.40% 증가했지만 가격은 24시간 -0.66% 하락해 신규 포지션 유입이 하방 압력과 동행\",\n    \"CVD 변화가 -1,763.5530으로 음수이며 cvd_divergence 0.150에 불과해 현 가격대에서 매수 참여가 약함\",\n    \"롱 계정 비율이 0.593, account_long_crowding 0.845로 여전히 롱 쏠림이 높아 반대매매성 하락 리스크 존재\",\n    \"현물-선물 베이시스가 -0.0467%로 음수이며 basis_change_lookback도 -0.0117로 약화\",\n    \"상단 $66,100에 가장 강한 청산 유동성이 있으나, 해당 레벨을 회수하지 못하면 숏 리로드 및 업스러스트 후보 구간\"\n  ],\n  \"reasoning\": \"확정 구조는 현재가 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25를 모두 하회하고 있어 bearish로 판단한다. 파생 포지셔닝에서는 OI가 24시간 +2.40% 증가했지만 가격은 -0.66% 하락했고, CVD도 -1,763.5530으로 감소해 신규 포지션 유입이 매수 흡수보다는 하방 압력에 가깝다. funding_avg는 거의 0에 가깝지만 funding_change_24h가 -0.0001로 내려가고 있으며, 롱 계정 비율 0.593과 account_long_crowding 0.845는 아직 롱 포지션이 충분히 정리되지 않았음을 시사한다. 단기적으로 $63,500 청산 레벨이 먼저 노출되어 있고, 이탈 시 $61,600 및 7일 저점 $60,691.90까지 하방 유동성 탐색 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      63500,\n      61600,\n      60691.9,\n      57500\n    ],\n    \"resistance\": [\n      64738,\n      66100,\n      66599.34,\n      67100,\n      69400\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"67100\",\n  \"risk_scenario\": \"$66,100 상단 청산 유동성을 강하게 회수한 뒤 $67,100 위에서 구조적으로 수용되면, 현재 bearish setup은 숏 스퀴즈로 전환될 수 있다. 이 경우 EMA20 $66,599.34 회복과 함께 $69,400 상단 청산 구간까지 빠른 되돌림이 발생할 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.68,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.72,
      "active_setups": [
        "현재가 $63,995.20가 최근 bearish CHoCH $64,918.20 아래에 머물러 단기 구조 회복이 미확인",
        "이전 7일 고점이자 Wyckoff ST 후보인 $64,738.00을 회복하지 못한 상태",
        "EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25가 모두 현재가 위에 있어 상위 공급 압력이 우세",
        "파생시장에서 24시간 OI +2.40% 증가와 가격 -0.66% 하락, CVD -1,763.5530이 동반되어 신규 포지션 유입이 하방 압력과 결합",
        "하모닉 bullish PRZ $62,591.24-$65,322.47 및 캔들 반등 패턴은 존재하지만, 아직 일봉 구조 전환이나 파생 확인이 없는 사전 반전 후보"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 가격이 $63k-$65.3k 하모닉 PRZ와 단기 캔들 수요 반응 구간에 있어, 즉시 실행에서는 반등 리스크를 관리해야 하는 약세 우위 구조다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 3,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        63500,
        63360,
        60691.9,
        59080,
        57500,
        52620.35
      ],
      "resistance": [
        64684.69,
        64738,
        64918.2,
        65595.7,
        66599.34,
        68152,
        70954.35,
        73756.7
      ]
    },
    "confluences": [
      "ICT의 bearish CHoCH $64,918.20, Fibonacci의 ret_0.236 $64,684.69, Wyckoff ST $64,738.00, Derivatives 저항 $64,738이 모두 $64.7k-$64.9k를 1차 구조 회복/저항 클러스터로 지목한다.",
      "ICT, Candlestick, Harmonic, Wyckoff, Derivatives 모두 EMA20 $66,599.34를 현재가 위의 핵심 단기 구조 저항으로 인식한다.",
      "ICT, Fibonacci, Wyckoff가 $59,080.00을 주요 하단 구조 레벨로 공유하며, Derivatives와 ICT는 $60,691.90 부근을 중간 지지/유동성 구간으로 본다.",
      "ICT, Fibonacci, Candlestick, Harmonic, Derivatives는 모두 현재가가 EMA20·EMA120·EMA240 아래에 있다는 점을 근거로 일봉 구조의 하방 우위를 인정한다.",
      "Harmonic의 bullish PRZ $62,591.24-$65,322.47와 Candlestick의 bullish engulfing 및 morning star 반응은 $63k-$65k 구간의 단기 수요 후보를 함께 지지하지만, 두 분석 모두 구조 전환 확인은 부족하다고 본다."
    ],
    "conflicts": [
      "Wyckoff는 과거 축적 체인 자체는 bullish 구조로 해석하지만, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 새로운 분배 후보 구조에 가깝다. 따라서 기존 축적이 그대로 진행 중이라기보다, SOS 이후 수요 실패와 재구조화 위험이 핵심이다.",
      "Candlestick과 Harmonic은 $60,691.90-$65,322.47 구간에서 bullish 반응 셋업을 제시하지만, ICT와 Derivatives는 각각 CHoCH $64,918.20 미회복 및 OI 증가 속 가격 하락을 근거로 약세 실행 셋업을 더 강하게 본다.",
      "Fibonacci는 현재가가 EQ $70,954.35 아래의 할인 구간에 있어 반등 여지를 인정하지만, ICT는 같은 할인 구간에서도 활성 bullish OB와 unfilled bullish FVG가 없기 때문에 할인 매수 근거가 약하다고 평가한다.",
      "Harmonic의 다수 bullish PRZ는 반전 리스크 신호이나, 자체적으로는 구조 경로를 뒤집을 권한이 낮고 15m/1h 구조 전환 및 파생 확인이 동반되지 않아 메인 bearish 구조와 충돌하는 보조 신호로 분류된다."
    ],
    "executive_summary": "BTC/USDT 일봉 구조는 현재 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 위치하고, 최근 bearish CHoCH $64,918.20을 회복하지 못해 bearish 구조가 우세하다. Wyckoff 관점에서는 과거 축적 체인이 있었으나, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 분배 후보/재구조화 구간이며, ST 하단에서 수요 회복이 확인되지 않은 상태다. 핵심 구조 저항은 $64,684.69-$66,599.34 클러스터이고, 핵심 하단 구조 레벨은 $60,691.90 및 $59,080.00이다. 단기적으로 $62,591.24-$65,322.47의 하모닉 PRZ와 캔들 반등 패턴이 반전 리스크를 만들지만, 아직 구조 전환 확인이나 파생 수급 확인이 없어 메인 구조를 뒤집지는 못한다. bearish 구조 판정은 $73,756.70의 일봉 회복 전까지 유지하되, $66,599.34와 $70,954.35 회복 여부를 단계적 약화 조건으로 본다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.68,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.72,\n    \"active_setups\": [\n      \"현재가 $63,995.20가 최근 bearish CHoCH $64,918.20 아래에 머물러 단기 구조 회복이 미확인\",\n      \"이전 7일 고점이자 Wyckoff ST 후보인 $64,738.00을 회복하지 못한 상태\",\n      \"EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25가 모두 현재가 위에 있어 상위 공급 압력이 우세\",\n      \"파생시장에서 24시간 OI +2.40% 증가와 가격 -0.66% 하락, CVD -1,763.5530이 동반되어 신규 포지션 유입이 하방 압력과 결합\",\n      \"하모닉 bullish PRZ $62,591.24-$65,322.47 및 캔들 반등 패턴은 존재하지만, 아직 일봉 구조 전환이나 파생 확인이 없는 사전 반전 후보\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 가격이 $63k-$65.3k 하모닉 PRZ와 단기 캔들 수요 반응 구간에 있어, 즉시 실행에서는 반등 리스크를 관리해야 하는 약세 우위 구조다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 3,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      63500,\n      63360,\n      60691.9,\n      59080,\n      57500,\n      52620.35\n    ],\n    \"resistance\": [\n      64684.69,\n      64738,\n      64918.2,\n      65595.7,\n      66599.34,\n      68152,\n      70954.35,\n      73756.7\n    ]\n  },\n  \"confluences\": [\n    \"ICT의 bearish CHoCH $64,918.20, Fibonacci의 ret_0.236 $64,684.69, Wyckoff ST $64,738.00, Derivatives 저항 $64,738이 모두 $64.7k-$64.9k를 1차 구조 회복/저항 클러스터로 지목한다.\",\n    \"ICT, Candlestick, Harmonic, Wyckoff, Derivatives 모두 EMA20 $66,599.34를 현재가 위의 핵심 단기 구조 저항으로 인식한다.\",\n    \"ICT, Fibonacci, Wyckoff가 $59,080.00을 주요 하단 구조 레벨로 공유하며, Derivatives와 ICT는 $60,691.90 부근을 중간 지지/유동성 구간으로 본다.\",\n    \"ICT, Fibonacci, Candlestick, Harmonic, Derivatives는 모두 현재가가 EMA20·EMA120·EMA240 아래에 있다는 점을 근거로 일봉 구조의 하방 우위를 인정한다.\",\n    \"Harmonic의 bullish PRZ $62,591.24-$65,322.47와 Candlestick의 bullish engulfing 및 morning star 반응은 $63k-$65k 구간의 단기 수요 후보를 함께 지지하지만, 두 분석 모두 구조 전환 확인은 부족하다고 본다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 과거 축적 체인 자체는 bullish 구조로 해석하지만, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 새로운 분배 후보 구조에 가깝다. 따라서 기존 축적이 그대로 진행 중이라기보다, SOS 이후 수요 실패와 재구조화 위험이 핵심이다.\",\n    \"Candlestick과 Harmonic은 $60,691.90-$65,322.47 구간에서 bullish 반응 셋업을 제시하지만, ICT와 Derivatives는 각각 CHoCH $64,918.20 미회복 및 OI 증가 속 가격 하락을 근거로 약세 실행 셋업을 더 강하게 본다.\",\n    \"Fibonacci는 현재가가 EQ $70,954.35 아래의 할인 구간에 있어 반등 여지를 인정하지만, ICT는 같은 할인 구간에서도 활성 bullish OB와 unfilled bullish FVG가 없기 때문에 할인 매수 근거가 약하다고 평가한다.\",\n    \"Harmonic의 다수 bullish PRZ는 반전 리스크 신호이나, 자체적으로는 구조 경로를 뒤집을 권한이 낮고 15m/1h 구조 전환 및 파생 확인이 동반되지 않아 메인 bearish 구조와 충돌하는 보조 신호로 분류된다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — bearish CHoCH $64,918.20, EMA20 $66,599.34, EQ $70,954.35, range low $59,080.00 등 정밀한 구조 레벨을 제시했고, active bullish OB와 unfilled bullish FVG가 모두 없다는 점까지 반영해 구조와 셋업을 일관되게 bearish로 판정했기 때문이다.\",\n  \"invalidation_level\": \"일봉 종가 기준 $73,756.70 상회 시 현재 bearish 구조 판정은 중대한 훼손으로 본다. 그 전 단계로 $66,599.34 회복은 약세 셋업 약화, $70,954.35 회복은 구조 중립화 신호다.\",\n  \"executive_summary\": \"BTC/USDT 일봉 구조는 현재 $63,995.20가 EMA20 $66,599.34, EMA120 $74,488.08, EMA240 $81,569.25 아래에 위치하고, 최근 bearish CHoCH $64,918.20을 회복하지 못해 bearish 구조가 우세하다. Wyckoff 관점에서는 과거 축적 체인이 있었으나, 현재 활성 구간은 $81,999.00 BC 이후 $59,080.00 AR, $64,738.00 ST로 이어지는 분배 후보/재구조화 구간이며, ST 하단에서 수요 회복이 확인되지 않은 상태다. 핵심 구조 저항은 $64,684.69-$66,599.34 클러스터이고, 핵심 하단 구조 레벨은 $60,691.90 및 $59,080.00이다. 단기적으로 $62,591.24-$65,322.47의 하모닉 PRZ와 캔들 반등 패턴이 반전 리스크를 만들지만, 아직 구조 전환 확인이나 파생 수급 확인이 없어 메인 구조를 뒤집지는 못한다. bearish 구조 판정은 $73,756.70의 일봉 회복 전까지 유지하되, $66,599.34와 $70,954.35 회복 여부를 단계적 약화 조건으로 본다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 64738.0,
        "type": "resistance_test",
        "source": "Wyckoff ST $64,738 / Derivatives 저항 $64,738 / Candlestick 저항 $64,738 / Fibonacci ret_0.236 $64,684.69 (ICT CHoCH $64,918.20이 바로 위 캡)",
        "description": "하모닉 bullish PRZ($62,591.24-$65,322.47)와 캔들 수요 반응(bullish_engulfing·morning_star)으로 단기 반등이 시도되지만, $64,684.69-$64,738 저항 클러스터에서 lower high를 형성하고 거부될 가능성이 높다. ICT CHoCH $64,918.20을 일봉 종가로 회복하지 못하는 한 약세 우위가 유지되며, 이 구간이 숏 진입 존이다. 반등 리스크를 소화하는 1차 웨이포인트.",
        "est_hours": 3.0,
        "turning_zone": [
          64738.0,
          65100.0
        ],
        "likely_wick": 65000.0,
        "rejection_confirm": 64500.0,
        "invalid_overshoot": 65595.7,
        "calibration_reasoning": "$64,684.69(fib R)~$64,738~$64,918.20(ICT CHoCH) 저항 클러스터를 상단 앵커로 사용했고, 라운드넘버 $65,000 유동성 마그넷이 CHoCH 바로 위에 있어 위크가 클러스터+CHoCH 고점을 인트라데이 스윕 후 거부될 가능성이 높아 likely_wick을 $65,000로 편향. 클러스터가 조밀해 zone폭은 0.16×ATR로 타이트하며, 일봉 종가 CHoCH 회복이 핵심 무효화·가격상 $65,595.70(다음 체어맨 저항) 상향 돌파 시 턴 무효."
      },
      {
        "seq": 2,
        "price": 62591.24,
        "type": "support_test",
        "source": "Derivatives 청산 $63,500 / ICT 지지 $63,360 / Harmonic PRZ 하단 $62,591.24",
        "description": "lower high 거부 후 Derivatives가 지목한 $63,500 청산 레벨과 ICT $63,360 지지를 차례로 이탈하고, 하모닉 bullish PRZ 하단 $62,591.24를 깨면서 반전 후보(strict Bat/Butterfly PRZ, 캔들 수요)가 무효화된다. OI +2.40% 증가 속 가격 하락·CVD -1,763 동반이라는 파생 약세 수급이 하방 가속을 뒷받침한다.",
        "est_hours": 11.0,
        "turning_zone": [
          61900.0,
          62591.24
        ],
        "likely_wick": 62000.0,
        "rejection_confirm": 63360.0,
        "invalid_overshoot": 61600.0,
        "calibration_reasoning": "하모닉 bullish PRZ 하단(=base) $62,591.24는 OI↑·CVD− 파생 약세 수급상 이탈이 예상되는 약한 지지라 반응을 얕게 보고 zone폭을 0.31×ATR로 설정, 라운드넘버 $62,000을 likely_wick로 편향. 반등 확인은 ICT $63,360 재탈환, $61,600(파생 중간지지) 이탈은 턴이 아닌 WP3로의 연속 하락으로 보아 무효 처리."
      },
      {
        "seq": 3,
        "price": 60691.9,
        "type": "swing_low",
        "source": "ICT·Fibonacci·Candlestick·Harmonic·Wyckoff·Derivatives 전원 공유 7일 저점 $60,691.90 (경유 Derivatives $61,600)",
        "description": "6개 에이전트가 모두 핵심 하단 구조/유동성 레벨로 지목한 7일 저점이자 24시간 주요 하단 타깃. $61,600(Derivatives 중간지지)을 경유해 도달하며, 여기서 수요 회복 실패 시 $59,080 메이저 저점으로 연결되는 캐스케이드 위험이 커진다.",
        "est_hours": 21.0,
        "turning_zone": [
          59080.0,
          60691.9
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 61600.0,
        "invalid_overshoot": 58500.0,
        "calibration_reasoning": "6개 에이전트 공통 7일 저점이자 터미널 웨이포인트라 zone을 0.71×ATR로 확대하고 하단을 피보 컨플루언스 $59,080(ext_1.0 ×2)에 앵커. 라운드넘버 $60,000 마그넷으로 스톱헌트 위크를 $60,000로 편향, $61,600 재탈환 시 반등 확인, $59,080 컨플루언스 결정적 이탈($58,500) 시 $57,500 캐스케이드로 연결되어 턴 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 64738.0,
        "expected_low": 63600.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 64738.0,
        "expected_low": 62591.24,
        "high_first": true
      },
      "24h": {
        "expected_high": 64918.2,
        "expected_low": 60691.9,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 64918.2,
        "description": "ICT bearish CHoCH $64,918.20을 일봉 종가로 회복하면 lower-high 약세 시나리오가 깨지고, $65,595.70(Wyckoff Spring)→$66,599.34(EMA20)를 향한 상방 가속/경로 약화 신호가 된다."
      },
      "bearish": {
        "price": 62591.24,
        "description": "$63,500 청산·$63,360 ICT 지지와 하모닉 bullish PRZ 하단 $62,591.24를 일봉 기준 이탈하면 반등 후보가 전면 무효화되며 $61,600→$60,691.90→$59,080 방향의 약세 가속이 확정된다."
      }
    },
    "scenario_invalidation": 65322.47,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 64738.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"Wyckoff ST $64,738 / Derivatives 저항 $64,738 / Candlestick 저항 $64,738 / Fibonacci ret_0.236 $64,684.69 (ICT CHoCH $64,918.20이 바로 위 캡)\",\n      \"description\": \"하모닉 bullish PRZ($62,591.24-$65,322.47)와 캔들 수요 반응(bullish_engulfing·morning_star)으로 단기 반등이 시도되지만, $64,684.69-$64,738 저항 클러스터에서 lower high를 형성하고 거부될 가능성이 높다. ICT CHoCH $64,918.20을 일봉 종가로 회복하지 못하는 한 약세 우위가 유지되며, 이 구간이 숏 진입 존이다. 반등 리스크를 소화하는 1차 웨이포인트.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 62591.24,\n      \"type\": \"support_test\",\n      \"source\": \"Derivatives 청산 $63,500 / ICT 지지 $63,360 / Harmonic PRZ 하단 $62,591.24\",\n      \"description\": \"lower high 거부 후 Derivatives가 지목한 $63,500 청산 레벨과 ICT $63,360 지지를 차례로 이탈하고, 하모닉 bullish PRZ 하단 $62,591.24를 깨면서 반전 후보(strict Bat/Butterfly PRZ, 캔들 수요)가 무효화된다. OI +2.40% 증가 속 가격 하락·CVD -1,763 동반이라는 파생 약세 수급이 하방 가속을 뒷받침한다.\",\n      \"est_hours\": 11.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60691.9,\n      \"type\": \"swing_low\",\n      \"source\": \"ICT·Fibonacci·Candlestick·Harmonic·Wyckoff·Derivatives 전원 공유 7일 저점 $60,691.90 (경유 Derivatives $61,600)\",\n      \"description\": \"6개 에이전트가 모두 핵심 하단 구조/유동성 레벨로 지목한 7일 저점이자 24시간 주요 하단 타깃. $61,600(Derivatives 중간지지)을 경유해 도달하며, 여기서 수요 회복 실패 시 $59,080 메이저 저점으로 연결되는 캐스케이드 위험이 커진다.\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 64738.0, \"expected_low\": 63600.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 64738.0, \"expected_low\": 62591.24, \"high_first\": true},\n    \"24h\": {\"expected_high\": 64918.2, \"expected_low\": 60691.9, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 64918.2, \"description\": \"ICT bearish CHoCH $64,918.20을 일봉 종가로 회복하면 lower-high 약세 시나리오가 깨지고, $65,595.70(Wyckoff Spring)→$66,599.34(EMA20)를 향한 상방 가속/경로 약화 신호가 된다.\"},\n    \"bearish\": {\"price\": 62591.24, \"description\": \"$63,500 청산·$63,360 ICT 지지와 하모닉 bullish PRZ 하단 $62,591.24를 일봉 기준 이탈하면 반등 후보가 전면 무효화되며 $61,600→$60,691.90→$59,080 방향의 약세 가속이 확정된다.\"}\n  },\n  \"scenario_invalidation\": 65322.47\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 64738.0,
        "turning_zone": [
          64738.0,
          65100.0
        ],
        "likely_wick": 65000.0,
        "rejection_confirm": 64500.0,
        "invalid_overshoot": 65595.7,
        "calibration_reasoning": "$64,684.69(fib R)~$64,738~$64,918.20(ICT CHoCH) 저항 클러스터를 상단 앵커로 사용했고, 라운드넘버 $65,000 유동성 마그넷이 CHoCH 바로 위에 있어 위크가 클러스터+CHoCH 고점을 인트라데이 스윕 후 거부될 가능성이 높아 likely_wick을 $65,000로 편향. 클러스터가 조밀해 zone폭은 0.16×ATR로 타이트하며, 일봉 종가 CHoCH 회복이 핵심 무효화·가격상 $65,595.70(다음 체어맨 저항) 상향 돌파 시 턴 무효."
      },
      {
        "seq": 2,
        "base_target": 62591.24,
        "turning_zone": [
          61900.0,
          62591.24
        ],
        "likely_wick": 62000.0,
        "rejection_confirm": 63360.0,
        "invalid_overshoot": 61600.0,
        "calibration_reasoning": "하모닉 bullish PRZ 하단(=base) $62,591.24는 OI↑·CVD− 파생 약세 수급상 이탈이 예상되는 약한 지지라 반응을 얕게 보고 zone폭을 0.31×ATR로 설정, 라운드넘버 $62,000을 likely_wick로 편향. 반등 확인은 ICT $63,360 재탈환, $61,600(파생 중간지지) 이탈은 턴이 아닌 WP3로의 연속 하락으로 보아 무효 처리."
      },
      {
        "seq": 3,
        "base_target": 60691.9,
        "turning_zone": [
          59080.0,
          60691.9
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 61600.0,
        "invalid_overshoot": 58500.0,
        "calibration_reasoning": "6개 에이전트 공통 7일 저점이자 터미널 웨이포인트라 zone을 0.71×ATR로 확대하고 하단을 피보 컨플루언스 $59,080(ext_1.0 ×2)에 앵커. 라운드넘버 $60,000 마그넷으로 스톱헌트 위크를 $60,000로 편향, $61,600 재탈환 시 반등 확인, $59,080 컨플루언스 결정적 이탈($58,500) 시 $57,500 캐스케이드로 연결되어 턴 무효."
      }
    ],
    "harmonic_policy_note": "butterfly PRZ=$63,956.86은 미확정·report-only(방향성 투표 없음)이며 현재가($63,995.20) 부근에 위치해 어떤 웨이포인트도 이동시키지 않음. 모든 turning_zone은 fib 클러스터·체어맨/ICT 구조 레벨·ATR로만 산출.",
    "executive_summary": "세 웨이포인트 모두 하향 시퀀스로 zone이 겹치지 않게 정렬됨(WP1 $64,738~$65,100 / WP2 $61,900~$62,591 / WP3 $59,080~$60,692), likely_wick은 $65,000→$62,000→$60,000으로 라운드넘버 마그넷에 정렬. WP1은 CHoCH 일봉종가 회복이 핵심 무효화, WP3은 터미널로 가장 넓은 zone과 $59,080 컨플루언스 이탈 시 캐스케이드 무효.",
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 64738.00,\n      \"turning_zone\": [64738.00, 65100.00],\n      \"likely_wick\": 65000.00,\n      \"rejection_confirm\": 64500.00,\n      \"invalid_overshoot\": 65595.70,\n      \"calibration_reasoning\": \"$64,684.69(fib R)~$64,738~$64,918.20(ICT CHoCH) 저항 클러스터를 상단 앵커로 사용했고, 라운드넘버 $65,000 유동성 마그넷이 CHoCH 바로 위에 있어 위크가 클러스터+CHoCH 고점을 인트라데이 스윕 후 거부될 가능성이 높아 likely_wick을 $65,000로 편향. 클러스터가 조밀해 zone폭은 0.16×ATR로 타이트하며, 일봉 종가 CHoCH 회복이 핵심 무효화·가격상 $65,595.70(다음 체어맨 저항) 상향 돌파 시 턴 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 62591.24,\n      \"turning_zone\": [61900.00, 62591.24],\n      \"likely_wick\": 62000.00,\n      \"rejection_confirm\": 63360.00,\n      \"invalid_overshoot\": 61600.00,\n      \"calibration_reasoning\": \"하모닉 bullish PRZ 하단(=base) $62,591.24는 OI↑·CVD− 파생 약세 수급상 이탈이 예상되는 약한 지지라 반응을 얕게 보고 zone폭을 0.31×ATR로 설정, 라운드넘버 $62,000을 likely_wick로 편향. 반등 확인은 ICT $63,360 재탈환, $61,600(파생 중간지지) 이탈은 턴이 아닌 WP3로의 연속 하락으로 보아 무효 처리.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60691.90,\n      \"turning_zone\": [59080.00, 60691.90],\n      \"likely_wick\": 60000.00,\n      \"rejection_confirm\": 61600.00,\n      \"invalid_overshoot\": 58500.00,\n      \"calibration_reasoning\": \"6개 에이전트 공통 7일 저점이자 터미널 웨이포인트라 zone을 0.71×ATR로 확대하고 하단을 피보 컨플루언스 $59,080(ext_1.0 ×2)에 앵커. 라운드넘버 $60,000 마그넷으로 스톱헌트 위크를 $60,000로 편향, $61,600 재탈환 시 반등 확인, $59,080 컨플루언스 결정적 이탈($58,500) 시 $57,500 캐스케이드로 연결되어 턴 무효.\"\n    }\n  ],\n  \"harmonic_policy_note\": \"butterfly PRZ=$63,956.86은 미확정·report-only(방향성 투표 없음)이며 현재가($63,995.20) 부근에 위치해 어떤 웨이포인트도 이동시키지 않음. 모든 turning_zone은 fib 클러스터·체어맨/ICT 구조 레벨·ATR로만 산출.\",\n  \"executive_summary\": \"세 웨이포인트 모두 하향 시퀀스로 zone이 겹치지 않게 정렬됨(WP1 $64,738~$65,100 / WP2 $61,900~$62,591 / WP3 $59,080~$60,692), likely_wick은 $65,000→$62,000→$60,000으로 라운드넘버 마그넷에 정렬. WP1은 CHoCH 일봉종가 회복이 핵심 무효화, WP3은 터미널로 가장 넓은 zone과 $59,080 컨플루언스 이탈 시 캐스케이드 무효.\"\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 37.0,
      "chairman": 45.6,
      "operating_path": 304.9,
      "tp_calibrator": 296.2
    },
    "agents": {},
    "total_s": 684.0
  }
}