BTC/USDT 15M Council Report

Signal: BEARISH (76%)  |  Price: $60,563.90  |  2026-06-07 05:00 KST  |  300 candles

Council: 1 bullish, 1 neutral, 4 bearish  |  Support: $60,554 / $60,519 / $60,420  |  Resistance: $60,655 / $60,673 / $60,768

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 15분 BTC 구조는 Wyckoff 분배 Phase D에 가까우며, BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00의 이벤트 체인이 약세 레짐을 지지한다. ICT 역시 $63,040.00, $62,300.00, $61,067.60에서 연속 하방 BOS를 확인해 구조적 bias는 bearish로 정렬되어 있으며, 가격은 EMA20 $60,654.64와 EQ $60,810.50 아래에 있다. 다만 현재 위치는 Fibonacci $60,554.28 지지, Wyckoff/SOW $60,363.00, Harmonic bullish PRZ $59,997.31-$60,390.23 인근이어서 구조 약세 속 하단 반응 리스크가 존재한다. 핵심 구조 저항은 $60,949.90-$61,067.60이며, $61,475.00 회복 전까지는 분배 이후 약세 구조가 우세하다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH72%$60,420 / $60,363$60,950 / $61,365
ICT TraderBEARISH82%$60,146 / $59,080$60,655 / $60,810
Derivatives TraderBEARISH66%$59,080 / $58,300$60,655 / $61,092
Candlestick ReaderBEARISH58%$60,564 / $59,080$60,655 / $61,092
Fibonacci AnalystNEUTRAL62%$60,554 / $60,363$60,673 / $60,768
Harmonic SpecialistBULLISH62%$60,519 / $60,390$60,667 / $60,712

Agent Details

Wyckoff Expert — BEARISH (72%)

Support: $60,420 / $60,363 / $59,451 | Resistance: $60,950 / $61,365 / $61,475 | Horizon: short term

현재 Wyckoff regime은 DIS이며 regime_fitness 0.905, 감지된 이벤트 체인은 BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → SOW_IN_PHASE_B $59,451.30 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00으로 분배 Phase D 구조에 가깝다. 구조적으로는 LPSY 이후 SOW가 발생했기 때문에 structure_bias는 bearish가 맞지만, 현재가 $60,563.90은 메인 레인지 하단 AR $60,420.00에 매우 근접해 있어 즉각적인 추격 매도보다는 하단 재시험 여부가 핵심이다. $60,949.90 LPSY와 $61,475.00 UT를 회복하지 못하면 $60,420.00 및 $60,363.00 재시험, 이탈 시 $59,451.30 SOW_IN_PHASE_B 저점까지 열릴 수 있다. 반대로 $61,475.00을 회복하면 현재 Phase D 약세 판독은 약화되고, $61,985.10 ST 및 $62,310.00 BC 상단 재검증으로 전환될 수 있다.
ICT Trader — BEARISH (82%)

Support: $60,146 / $59,080 | Resistance: $60,655 / $60,810 / $61,068 | Horizon: short term

확정 구조는 $63,040.00, $62,300.00, $61,067.60에서 3회 연속 bearish BOS가 발생했기 때문에 명확한 bearish structure_bias이다. 현재가 $60,563.90은 EQ $60,810.50 아래의 discount에 있지만, 할인 구간임에도 bullish OB, 미체결 bullish FVG, 최근 sell-side sweep 같은 반전 근거가 전혀 없으므로 저가 매수보다는 약세 지속으로 해석한다. 특히 EMA20 $60,654.64와 마지막 BOS 레벨 $61,067.60 회복에 실패하면 $60,146.00 범위 저점 및 $59,080.00 전일 저점/7일 저점의 유동성 사냥 가능성이 높다. 상방 반등이 나오더라도 $62,861.40~$63,231.80 후보 bearish OB는 프리미엄 공급 구간으로, 기관 매도 재진입 후보가 된다.
Derivatives Trader — BEARISH (66%)

Support: $59,080 / $58,300 / $58,200 | Resistance: $60,655 / $61,092 / $61,889 | Horizon: short term, 향후 4-8시간

현재 BTC는 $60,563.90으로 EMA20 $60,654.64와 EMA120 $61,092.43 아래에 있으며, EMA240 $61,888.58도 회복하지 못해 확인된 구조는 약세로 해석된다. 파생 포지셔닝에서는 OI가 24시간 -2.7770% 감소했고 CVD 변화가 -1234.7410으로 가격의 +0.49% 24시간 반등을 뒷받침하지 못해 반등 신뢰도가 낮다. 롱 계정 비율이 0.659로 여전히 과밀한 반면 숏 계정은 0.341까지 상승 중이어서, 실제 구조 전환 전에는 롱 언와인딩 리스크가 우위다. 단기적으로 $61,900 위 청산대와 EMA240을 회복하지 못하면 $59,080 저점 재시험 후 $58,300~$58,200 하방 유동성으로 밀릴 가능성이 높다.
Candlestick Reader — BEARISH (58%)

Support: $60,564 / $59,080 | Resistance: $60,655 / $61,092 / $61,889 | Horizon: short term

현재 BTC는 $60,563.90으로 EMA20 $60,654.64 바로 아래에 있으며, EMA120 $61,092.43과 EMA240 $61,888.58도 모두 하회하고 있어 확인된 구조는 아직 bearish로 판단된다. 최근 패턴은 bearish_engulfing@297, bearish_engulfing@299가 마지막 구간에 재등장했고 bear_score 2.85가 bull_score 2.15보다 높아 단기 매도 압력이 우세하다. 다만 가격은 7일 범위 EQ $62,619.50 아래의 디스카운트 영역에 있고 7일 저점 $59,080.00에 가까워, morning_star 품질 0.553 및 bullish_engulfing 품질 0.539가 단기 반등 셋업으로는 남아 있다. 그러나 모든 최근 패턴이 후보 등급이고 high_volume_patterns가 없기 때문에 반전 확정 신호로 보기에는 부족하다.
Fibonacci Analyst — NEUTRAL (62%)

Support: $60,554 / $60,363 / $60,143 | Resistance: $60,673 / $60,768 / $60,864 | Horizon: short term

확인된 구조는 $61,174 고점에서 $60,363 저점으로 형성된 하락 스윙이므로 structure_bias는 bearish로 판단한다. 다만 현재가 $60,563.90은 ret_0.236 $60,554.28 바로 위에서 테스트 중이며, 스윙 EQ인 $60,768.25 아래의 할인 구간에 있어 단기 setup_bias는 bullish 반등 후보로 본다. 핵심 상방 확인 구간은 ret_0.382 $60,672.61 및 ret_0.5 $60,768.25이며, 가장 중요한 황금비 저항은 ret_0.618 $60,863.89이다. 반대로 $60,363.00이 이탈되면 하락 연장 구조가 강화되며 $60,142.54, $60,027.45, $59,862.11의 extension 지지 클러스터로 이동할 가능성이 커진다.
Harmonic Specialist — BULLISH (62%)

Support: $60,519 / $60,390 / $60,190 | Resistance: $60,667 / $60,712 / $60,861 | Horizon: short term

15분 BTC/USDT는 harmonic 기준으로 bullish 쪽 셋업 우위가 뚜렷하며 directional_scores는 bullish 0.774, bearish 0.000입니다. 가장 중요한 확정 패턴은 strict high bullish Gartley로, PRZ $59,997.31-$60,390.23에서 D $60,146.00 형성 후 AD 0.382 반응까지 도달해 post-confirmation vote-eligible 상태입니다. 동시에 strict high bullish Bat이 $60,189.84-$60,519.22 PRZ에서 형성 중이며, 현재가 $60,563.90은 이 구간 바로 위라서 하방 재진입 없이 방어되면 $60,667.38-$60,711.85, 이후 $60,860.65-$61,031.92가 자연스러운 TP/반응 후보입니다. 다만 harmonic은 단독 구조 엔진이 아니며, 명확한 BOS/CHoCH 또는 구조적 acceptance 데이터가 없고 가격도 EMA120 $61,092.43 및 EMA240 $61,888.58 아래에 있어 structure_bias는 bullish로 확정하지 않고 neutral로 둡니다.

Operating Path — complex (64%)

#PriceTypeSourceEst. HoursDescription
1$60,764resistance_testWP1 후보 테이블(fib_confluence strict, score 1.0), Fibonacci(ret_0.5 EQ $60,768.25), ICT(EQ $60,810.50), Harmonic(확정 Gartley 반응 후 TP $60,667.38-$60,860.65)3현재가 $60,563.90이 Fib ret_0.236 $60,554.28 지지와 Harmonic Gartley/Bat PRZ($59,997.31-$60,519.22) 상단에서 방어되며 단기 반등. 가장 가까운 strict fib_confluence $60,763.85(score 1.0)=ret_0.5 EQ $60,768.25 / ICT EQ $60,810.50 공급대 하단을 리테스트. EMA20 $60,654.64를 일시 회복하나 $60,768-$60,950 공급/균형 저항대(황금비 $60,863.89, LPSY $60,949.90)에서 매도 재유입으로 거부 예상. 구조·셋업 모두 약세이므로 이 반등은 마크다운 직전의 공급 리테스트 성격.
2$60,363support_testWyckoff(SOW $60,363.00, AR $60,420.00), Fibonacci(ext_1.0 $60,363.00), Derivatives(OI -2.77%/CVD -1234.74)8공급대 거부 후 분배 Phase D 약세 재개. Wyckoff SOW $60,363.00 + Fib ext_1.0 $60,363.00 및 AR $60,420.00 구조 구간 재시험. 가격이 EMA20 $60,654.64·EMA120 $61,092.43 아래 지속되고 OI 24h -2.77%·CVD -1234.74의 약한 매수 체결이 하방을 지지.
3$60,146swing_lowICT(range low $60,146.00), Harmonic(Gartley D $60,146.00, Bat PRZ 하단 $60,189.84), WP 후보 테이블(strict fib_confluence $60,010.70 score 0.85)15$60,363 SOW 이탈 시 ICT 레인지 저점 $60,146.00=Harmonic Gartley D 구간으로 하락. Harmonic Bat PRZ 하단 $60,189.84와 strict fib_confluence $60,010.70이 인접 지지대 형성. 이 구간 상실 시 7일 저점을 향한 유동성 사냥 가속.
4$59,080liquidity_sweepICT($59,080 7일/전일 저점 유동성), Derivatives($59,080 재시험 후 $58,300/$58,200), Wyckoff(SOW_IN_PHASE_B $59,451.30 경유), WP 후보 테이블(candidate $59,065.81)23Phase E 마크다운 가속. ICT·Derivatives·Wyckoff 공통 하방 유동성 타깃 $59,080.00(7일/전일 저점) 스윕. 경유 레벨은 Wyckoff SOW_IN_PHASE_B $59,451.30. 24h 윈도우 하단 극단치이며, 최근 변동성이 낮아 도달은 마크다운 가속을 전제로 하는 공격적 타깃. 추가 이탈 시 Derivatives $58,300-$58,200 노출.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$60,490$60,810Low first
8h$60,363$60,810High first
24h$59,080$60,810High first

Triggers

Invalidation: $61,475

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.64,
  "waypoints": [
    {
      "seq": 1,
      "price": 60763.85,
      "type": "resistance_test",
      "source": "WP1 후보 테이블(fib_confluence strict, score 1.0), Fibonacci(ret_0.5 EQ $60,768.25), ICT(EQ $60,810.50), Harmonic(확정 Gartley 반응 후 TP $60,667.38-$60,860.65)",
      "description": "현재가 $60,563.90이 Fib ret_0.236 $60,554.28 지지와 Harmonic Gartley/Bat PRZ($59,997.31-$60,519.22) 상단에서 방어되며 단기 반등. 가장 가까운 strict fib_confluence $60,763.85(score 1.0)=ret_0.5 EQ $60,768.25 / ICT EQ $60,810.50 공급대 하단을 리테스트. EMA20 $60,654.64를 일시 회복하나 $60,768-$60,950 공급/균형 저항대(황금비 $60,863.89, LPSY $60,949.90)에서 매도 재유입으로 거부 예상. 구조·셋업 모두 약세이므로 이 반등은 마크다운 직전의 공급 리테스트 성격.",
      "est_hours": 3
    },
    {
      "seq": 2,
      "price": 60363.00,
      "type": "support_test",
      "source": "Wyckoff(SOW $60,363.00, AR $60,420.00), Fibonacci(ext_1.0 $60,363.00), Derivatives(OI -2.77%/CVD -1234.74)",
      "description": "공급대 거부 후 분배 Phase D 약세 재개. Wyckoff SOW $60,363.00 + Fib ext_1.0 $60,363.00 및 AR $60,420.00 구조 구간 재시험. 가격이 EMA20 $60,654.64·EMA120 $61,092.43 아래 지속되고 OI 24h -2.77%·CVD -1234.74의 약한 매수 체결이 하방을 지지.",
      "est_hours": 8
    },
    {
      "seq": 3,
      "price": 60146.00,
      "type": "swing_low",
      "source": "ICT(range low $60,146.00), Harmonic(Gartley D $60,146.00, Bat PRZ 하단 $60,189.84), WP 후보 테이블(strict fib_confluence $60,010.70 score 0.85)",
      "description": "$60,363 SOW 이탈 시 ICT 레인지 저점 $60,146.00=Harmonic Gartley D 구간으로 하락. Harmonic Bat PRZ 하단 $60,189.84와 strict fib_confluence $60,010.70이 인접 지지대 형성. 이 구간 상실 시 7일 저점을 향한 유동성 사냥 가속.",
      "est_hours": 15
    },
    {
      "seq": 4,
      "price": 59080.00,
      "type": "liquidity_sweep",
      "source": "ICT($59,080 7일/전일 저점 유동성), Derivatives($59,080 재시험 후 $58,300/$58,200), Wyckoff(SOW_IN_PHASE_B $59,451.30 경유), WP 후보 테이블(candidate $59,065.81)",
      "description": "Phase E 마크다운 가속. ICT·Derivatives·Wyckoff 공통 하방 유동성 타깃 $59,080.00(7일/전일 저점) 스윕. 경유 레벨은 Wyckoff SOW_IN_PHASE_B $59,451.30. 24h 윈도우 하단 극단치이며, 최근 변동성이 낮아 도달은 마크다운 가속을 전제로 하는 공격적 타깃. 추가 이탈 시 Derivatives $58,300-$58,200 노출.",
      "est_hours": 23
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 60810.0, "expected_low": 60490.0, "high_first": false},
    "8h":  {"expected_high": 60810.0, "expected_low": 60363.0, "high_first": true},
    "24h": {"expected_high": 60810.0, "expected_low": 59080.0, "high_first": true}
  },
  "triggers": {
    "bullish": {
      "price": 61067.60,
      "description": "ICT 마지막 하방 BOS $61,067.60 + EMA120 $61,092.43 공급 클러스터를 종가 회복하면 약세 연속이 무력화되고, $61,475.00(Wyckoff UT) 상회 시 구조 반전 확정. 이 경우 본 마크다운 경로 폐기."
    },
    "bearish": {
      "price": 60363.00,
      "description": "Wyckoff SOW + Fib ext_1.0 $60,363.00을 종가 이탈하면 분배 Phase E 마크다운 확정 → $60,146.00 레인지 저점 및 $59,080.00 유동성 풀로 하방 가속. $60,146 이탈 시 추세 가속 강화."
    }
  },
  "scenario_invalidation": 61475.00
}
```

**핵심 판단 요약**: 구조(76% 약세)와 실행 셋업(68% 약세)이 정렬되어 방향은 하방이지만, 현재가가 Fib $60,554 지지 + Harmonic PRZ($59,997-$60,519) 상단에서 방어 중이고 WP1 후보 테이블의 최근접 strict 레벨($60,763.85, score 1.0)이 위쪽에 있어, **공급 리테스트(반등) → 거부 → 마크다운**의 복합 경로로 설계했습니다. 반등은 저확신 반응, 마크다운($60,363→$60,146→$59,080)이 고확신 구조 이동입니다. $59,080은 ICT·Derivatives·Wyckoff 공통 타깃이나 최근 저변동성을 감안한 공격적 24h 극단치로, 이 불확실성을 confidence 0.64에 반영했습니다.

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.76,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.68,
    "active_setups": [
      "ICT: $63,040.00 → $62,300.00 → $61,067.60에서 3회 연속 하방 BOS가 확인되어 구조적 약세가 유지됨",
      "가격 $60,563.90이 EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 아래에 있어 동적 저항 아래에서 거래 중",
      "Wyckoff: LPSY $60,949.90 이후 SOW $60,363.00이 발생한 분배 Phase D 구조",
      "Derivatives: 24시간 OI -2.7770%, CVD 변화 -1234.7410으로 반등 체결 지지가 약함",
      "Fibonacci/Harmonic 반대 신호: $60,554.28 피보나치 지지와 $59,997.31-$60,390.23 bullish Gartley PRZ 방어가 단기 반등 리스크로 존재",
      "Harmonic: strict high bullish Gartley는 D $60,146.00, PRZ $59,997.31-$60,390.23에서 반응 확인되었으나 구조 엔진을 뒤집을 단독 근거는 아님"
    ],
    "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재가가 $60,146-$60,390 하모닉 PRZ 및 $60,554 피보나치 지지권 위에 있어, 즉각적인 추격보다는 하단 방어 여부가 단기 경로를 흔드는 핵심 조건이다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 4,
    "neutral_count": 1
  },
  "key_levels": {
    "support": [
      60554.28,
      60519.22,
      60420.0,
      60363.0,
      60146.0,
      59997.31,
      59080.0
    ],
    "resistance": [
      60654.64,
      60672.61,
      60768.25,
      60810.5,
      60863.89,
      60949.9,
      61067.6,
      61475.0,
      61888.58,
      61900.0
    ]
  },
  "confluences": [
    "ICT와 Derivatives, Candlestick 모두 현재가 $60,563.90이 EMA20 $60,654.64 아래에 있다고 보며, 단기 동적 저항이 가격 위에 형성되어 있음",
    "ICT와 Derivatives는 EMA120 $61,092.43, EMA240 $61,888.58 하회를 공통적으로 구조 약세의 근거로 제시함",
    "ICT의 마지막 하방 BOS 레벨 $61,067.60과 Derivatives의 EMA120 $61,092.43, Harmonic의 bearish PRZ 감시권 $61,001.73-$61,337.07이 $61,000-$61,337 저항 클러스터를 형성함",
    "Wyckoff SOW $60,363.00, Fibonacci ext_1.0 $60,363.00, Harmonic bullish PRZ 하단 반응권 $60,189.84-$60,519.22가 $60,190-$60,519 수요/반응 구간으로 중첩됨",
    "Fibonacci ret_0.236 $60,554.28과 현재가 $60,563.90의 거리가 매우 가까워, 현 위치가 단기 지지 테스트 구간이라는 점에서 Fibonacci와 Harmonic이 일치함",
    "Wyckoff AR $60,420.00, SOW $60,363.00, ICT range low $60,146.00, Harmonic Gartley D $60,146.00이 $60,146-$60,420 하단 구조 구간으로 겹침",
    "ICT와 Wyckoff 모두 $59,080.00을 주요 하방 유동성/저점으로 인식함",
    "Wyckoff LPSY $60,949.90, Fibonacci golden ratio $60,863.89, ICT EQ $60,810.50, Fibonacci EQ $60,768.25가 $60,768-$60,950의 공급/균형 회복 저항대를 형성함"
  ],
  "conflicts": [
    "Harmonic은 strict high bullish Gartley 및 bullish Bat PRZ를 근거로 bullish 셋업을 제시하지만, ICT·Wyckoff·Derivatives는 구조와 체결 흐름 모두 bearish로 판단한다.",
    "Fibonacci는 구조 자체는 $61,174 → $60,363 하락 스윙으로 bearish라고 보면서도, 현재가가 $60,554.28 지지와 $60,363.00 확장 레벨 근처라 단기 setup은 bullish 반등 후보로 본다.",
    "Candlestick은 최근 bearish engulfing 후보가 우세해 신호는 bearish지만, morning star 및 bullish engulfing 후보도 있어 저점권 반등 가능성을 완전히 배제하지 않는다.",
    "Derivatives는 OI 감소와 CVD 약화를 근거로 반등 신뢰도를 낮게 평가하지만, Harmonic은 이미 PRZ 방어와 AD 0.382 반응 도달을 확인된 bullish 반응으로 해석한다."
  ],
  "highest_conviction_analyst": "ICT Trader — 신뢰도 82%로 가장 높고, $63,040.00, $62,300.00, $61,067.60에서 3회 연속 하방 BOS라는 명확한 구조 증거를 제시한다. 또한 현재가가 EQ $60,810.50 및 EMA20 $60,654.64 아래에 머물러 있어 할인 구간임에도 반전 근거가 부족하다는 점을 구조와 실행 조건으로 분리해 가장 일관되게 설명한다.",
  "invalidation_level": "$61,475.00 상회 및 수용 시 현재 분배 Phase D/하방 BOS 기반의 bearish 구조 판독이 약화되며, 보수적으로는 $61,985.10-$61,988.58 회복 시 구조적 무효화 위험이 커진다.",
  "executive_summary": "현재 15분 BTC 구조는 Wyckoff 분배 Phase D에 가까우며, BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00의 이벤트 체인이 약세 레짐을 지지한다. ICT 역시 $63,040.00, $62,300.00, $61,067.60에서 연속 하방 BOS를 확인해 구조적 bias는 bearish로 정렬되어 있으며, 가격은 EMA20 $60,654.64와 EQ $60,810.50 아래에 있다. 다만 현재 위치는 Fibonacci $60,554.28 지지, Wyckoff/SOW $60,363.00, Harmonic bullish PRZ $59,997.31-$60,390.23 인근이어서 구조 약세 속 하단 반응 리스크가 존재한다. 핵심 구조 저항은 $60,949.90-$61,067.60이며, $61,475.00 회복 전까지는 분배 이후 약세 구조가 우세하다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-07 05:00 KST",
  "last_price": 60563.9,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.65,
      "setup_signals": [
        "가격이 스윙 EQ인 ret_0.5 $60,768.25 아래에 있어 단기 할인 구간에 위치",
        "현재가 $60,563.90이 ret_0.236 $60,554.28을 0.020% 거리에서 테스트 중",
        "ret_0.236 $60,554.28 지지와 ext_1.0 $60,363.00이 근접해 단기 반등 후보 구간 형성",
        "피보나치 반응 상태가 testing이며 reaction_probability 0.65로 단기 반응 가능성 존재",
        "상방 회복 시 ret_0.382 $60,672.61 → ret_0.5 $60,768.25 → golden ratio ret_0.618 $60,863.89가 순차 저항"
      ],
      "reasoning": "확인된 구조는 $61,174 고점에서 $60,363 저점으로 형성된 하락 스윙이므로 structure_bias는 bearish로 판단한다. 다만 현재가 $60,563.90은 ret_0.236 $60,554.28 바로 위에서 테스트 중이며, 스윙 EQ인 $60,768.25 아래의 할인 구간에 있어 단기 setup_bias는 bullish 반등 후보로 본다. 핵심 상방 확인 구간은 ret_0.382 $60,672.61 및 ret_0.5 $60,768.25이며, 가장 중요한 황금비 저항은 ret_0.618 $60,863.89이다. 반대로 $60,363.00이 이탈되면 하락 연장 구조가 강화되며 $60,142.54, $60,027.45, $59,862.11의 extension 지지 클러스터로 이동할 가능성이 커진다.",
      "key_levels": {
        "support": [
          60554.28,
          60363.0,
          60142.54,
          60027.45,
          59862.11
        ],
        "resistance": [
          60672.61,
          60768.25,
          60863.89,
          61000.05
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,363.00",
      "risk_scenario": "$60,363.00 스윙 저점이 하방 이탈되면 현재의 ret_0.236 반등 셋업은 실패로 간주되며, ext_1.272 $60,142.54와 ext_1.414 $60,027.45를 거쳐 ext_1.618 $59,862.11까지 하락 연장이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $61,174 → $60,363",
        "direction": "down",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 60554.28,
        "nearest_fib_distance": 0.02,
        "golden_ratio_level": 60863.89,
        "fib_ret_382": 60672.61,
        "fib_ret_618": 60863.89,
        "confluence_zones": [
          {
            "price": 60763.85,
            "count": 4,
            "levels": [
              "ret_0.382",
              "ret_0.236",
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60010.7,
            "count": 3,
            "levels": [
              "ext_1.618",
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 59065.81,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60458.64,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60554.278,
          60363.0,
          60142.544
        ],
        "resistance_levels": [
          60672.611,
          60768.25,
          60863.889
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60554.28,
            "distance_pct": 0.02,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60672.61,
            "distance_pct": 0.18,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 60768.25,
            "distance_pct": 0.34,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60863.89,
            "distance_pct": 0.5,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 61000.05,
            "distance_pct": 0.72,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 60363.0,
            "distance_pct": 0.33,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 60142.54,
            "distance_pct": 0.7,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 60027.45,
            "distance_pct": 0.89,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 59862.11,
            "distance_pct": 1.16,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 59552.5,
            "distance_pct": 1.67,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"가격이 스윙 EQ인 ret_0.5 $60,768.25 아래에 있어 단기 할인 구간에 위치\",\n    \"현재가 $60,563.90이 ret_0.236 $60,554.28을 0.020% 거리에서 테스트 중\",\n    \"ret_0.236 $60,554.28 지지와 ext_1.0 $60,363.00이 근접해 단기 반등 후보 구간 형성\",\n    \"피보나치 반응 상태가 testing이며 reaction_probability 0.65로 단기 반응 가능성 존재\",\n    \"상방 회복 시 ret_0.382 $60,672.61 → ret_0.5 $60,768.25 → golden ratio ret_0.618 $60,863.89가 순차 저항\"\n  ],\n  \"reasoning\": \"확인된 구조는 $61,174 고점에서 $60,363 저점으로 형성된 하락 스윙이므로 structure_bias는 bearish로 판단한다. 다만 현재가 $60,563.90은 ret_0.236 $60,554.28 바로 위에서 테스트 중이며, 스윙 EQ인 $60,768.25 아래의 할인 구간에 있어 단기 setup_bias는 bullish 반등 후보로 본다. 핵심 상방 확인 구간은 ret_0.382 $60,672.61 및 ret_0.5 $60,768.25이며, 가장 중요한 황금비 저항은 ret_0.618 $60,863.89이다. 반대로 $60,363.00이 이탈되면 하락 연장 구조가 강화되며 $60,142.54, $60,027.45, $59,862.11의 extension 지지 클러스터로 이동할 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      60554.28,\n      60363.0,\n      60142.54,\n      60027.45,\n      59862.11\n    ],\n    \"resistance\": [\n      60672.61,\n      60768.25,\n      60863.89,\n      61000.05\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,363.00\",\n  \"risk_scenario\": \"$60,363.00 스윙 저점이 하방 이탈되면 현재의 ret_0.236 반등 셋업은 실패로 간주되며, ext_1.272 $60,142.54와 ext_1.414 $60,027.45를 거쳐 ext_1.618 $59,862.11까지 하락 연장이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.46,
      "setup_signals": [
        "7일 범위 EQ $62,619.50 아래의 디스카운트 구간에서 거래 중: 현재가 $60,563.90",
        "현재가가 7일 저점 $59,080.00에 비교적 근접해 단기 수요 반응 가능성 존재",
        "최근 morning_star@296 후보 감지, 품질 0.553으로 약한 bullish reversal 후보",
        "bullish_engulfing@293 후보 감지, 품질 0.539이나 거래량 확인 없음",
        "반등 후보 이후 bearish_engulfing@297 및 bearish_engulfing@299가 재출현해 매수 셋업 신뢰도 약화"
      ],
      "reasoning": "현재 BTC는 $60,563.90으로 EMA20 $60,654.64 바로 아래에 있으며, EMA120 $61,092.43과 EMA240 $61,888.58도 모두 하회하고 있어 확인된 구조는 아직 bearish로 판단된다. 최근 패턴은 bearish_engulfing@297, bearish_engulfing@299가 마지막 구간에 재등장했고 bear_score 2.85가 bull_score 2.15보다 높아 단기 매도 압력이 우세하다. 다만 가격은 7일 범위 EQ $62,619.50 아래의 디스카운트 영역에 있고 7일 저점 $59,080.00에 가까워, morning_star 품질 0.553 및 bullish_engulfing 품질 0.539가 단기 반등 셋업으로는 남아 있다. 그러나 모든 최근 패턴이 후보 등급이고 high_volume_patterns가 없기 때문에 반전 확정 신호로 보기에는 부족하다.",
      "key_levels": {
        "support": [
          60563.9,
          59080.0
        ],
        "resistance": [
          60654.64,
          61092.43,
          61888.58,
          62619.5,
          66159.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,092.43 상향 돌파 및 15분봉 종가 안착",
      "risk_scenario": "반대 시나리오로 BTC가 EMA20 $60,654.64를 회복하고 EMA120 $61,092.43 위에 안착하면, bearish engulfing 신호는 실패로 해석될 수 있으며 $61,888.58 EMA240 및 7일 EQ $62,619.50까지 숏커버성 반등이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 155,
        "recent_patterns": 7,
        "pattern_list": [
          "bearish_engulfing@291",
          "bullish_engulfing@293",
          "bearish_engulfing@297",
          "bearish_engulfing@299",
          "morning_star@296",
          "bearish_harami@294",
          "bullish_harami@295"
        ],
        "atr_value": 224.28,
        "vol_avg_20": 1164.9,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.553,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.539,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.509,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.502,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.499,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.553,
        "bull_score": 2.15,
        "bear_score": 2.85
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"7일 범위 EQ $62,619.50 아래의 디스카운트 구간에서 거래 중: 현재가 $60,563.90\",\n    \"현재가가 7일 저점 $59,080.00에 비교적 근접해 단기 수요 반응 가능성 존재\",\n    \"최근 morning_star@296 후보 감지, 품질 0.553으로 약한 bullish reversal 후보\",\n    \"bullish_engulfing@293 후보 감지, 품질 0.539이나 거래량 확인 없음\",\n    \"반등 후보 이후 bearish_engulfing@297 및 bearish_engulfing@299가 재출현해 매수 셋업 신뢰도 약화\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,563.90으로 EMA20 $60,654.64 바로 아래에 있으며, EMA120 $61,092.43과 EMA240 $61,888.58도 모두 하회하고 있어 확인된 구조는 아직 bearish로 판단된다. 최근 패턴은 bearish_engulfing@297, bearish_engulfing@299가 마지막 구간에 재등장했고 bear_score 2.85가 bull_score 2.15보다 높아 단기 매도 압력이 우세하다. 다만 가격은 7일 범위 EQ $62,619.50 아래의 디스카운트 영역에 있고 7일 저점 $59,080.00에 가까워, morning_star 품질 0.553 및 bullish_engulfing 품질 0.539가 단기 반등 셋업으로는 남아 있다. 그러나 모든 최근 패턴이 후보 등급이고 high_volume_patterns가 없기 때문에 반전 확정 신호로 보기에는 부족하다.\",\n  \"key_levels\": {\n    \"support\": [\n      60563.9,\n      59080.0\n    ],\n    \"resistance\": [\n      60654.64,\n      61092.43,\n      61888.58,\n      62619.5,\n      66159.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,092.43 상향 돌파 및 15분봉 종가 안착\",\n  \"risk_scenario\": \"반대 시나리오로 BTC가 EMA20 $60,654.64를 회복하고 EMA120 $61,092.43 위에 안착하면, bearish engulfing 신호는 실패로 해석될 수 있으며 $61,888.58 EMA240 및 7일 EQ $62,619.50까지 숏커버성 반등이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $60,563.90이 EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 아래에 있어 단기 구조 수용이 약세",
        "7일 range EQ 약 $62,579.50 아래의 discount 구간에 있으나 반등 참여가 약하고 CVD 변화가 -1234.7410으로 매수 체결 지지가 부족",
        "OI가 24시간 -2.7770% 감소하여 신규 롱 유입보다 포지션 언와인딩 성격이 강함",
        "롱 계정 비율 0.659~0.660, 숏 계정 비율 0.340~0.341로 여전히 롱 계정 쏠림이 높아 contrarian bearish 압력",
        "현물-선물 basis가 -0.0596%로 음수이며 basis_change -0.0190으로 선물 프리미엄 회복이 약함",
        "하방 청산 유동성이 $58,300, $58,200 및 가장 강한 $54,700에 존재해 하방 유동성 자석이 열려 있음"
      ],
      "reasoning": "현재 BTC는 $60,563.90으로 EMA20 $60,654.64와 EMA120 $61,092.43 아래에 있으며, EMA240 $61,888.58도 회복하지 못해 확인된 구조는 약세로 해석된다. 파생 포지셔닝에서는 OI가 24시간 -2.7770% 감소했고 CVD 변화가 -1234.7410으로 가격의 +0.49% 24시간 반등을 뒷받침하지 못해 반등 신뢰도가 낮다. 롱 계정 비율이 0.659로 여전히 과밀한 반면 숏 계정은 0.341까지 상승 중이어서, 실제 구조 전환 전에는 롱 언와인딩 리스크가 우위다. 단기적으로 $61,900 위 청산대와 EMA240을 회복하지 못하면 $59,080 저점 재시험 후 $58,300~$58,200 하방 유동성으로 밀릴 가능성이 높다.",
      "key_levels": {
        "support": [
          59080,
          58300,
          58200,
          54700
        ],
        "resistance": [
          60654.64,
          61092.43,
          61888.58,
          61900,
          62579.5,
          63000,
          63200
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "$61,900 이상 15분봉 종가 안착",
      "risk_scenario": "$61,900 상방 청산대를 돌파하고 EMA240 $61,888.58 위에서 수용되면 숏 커버링이 발생해 $63,000~$63,200 유동성까지 빠르게 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -1234.741,
        "oi_trend": 0.222,
        "oi_change_pct_24h": -2.777,
        "oi_latest": 101813.403,
        "funding_pressure": 0.497,
        "funding_avg": 3.1e-06,
        "funding_change_24h": 7.23e-06,
        "long_account_ratio": 0.66,
        "short_account_ratio": 0.34,
        "long_account_latest": 0.659,
        "short_account_latest": 0.341,
        "long_account_change_24h": -0.0215,
        "short_account_change_24h": 0.0215,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.485,
        "spot_futures_basis_pct": -0.0596,
        "basis_change_lookback": -0.019,
        "aggregate_score": 0.301,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            58300,
            2138.882262
          ],
          [
            58200,
            2314.1931710000003
          ],
          [
            54700,
            2450.9382474999998
          ]
        ],
        "liq_above": [
          [
            61900,
            1653.84435465
          ],
          [
            63000,
            1956.2905990000004
          ],
          [
            63200,
            1694.2833190000001
          ]
        ],
        "strongest_liq_level": 54700,
        "fragility_score": 0.502,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $60,563.90이 EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 아래에 있어 단기 구조 수용이 약세\",\n    \"7일 range EQ 약 $62,579.50 아래의 discount 구간에 있으나 반등 참여가 약하고 CVD 변화가 -1234.7410으로 매수 체결 지지가 부족\",\n    \"OI가 24시간 -2.7770% 감소하여 신규 롱 유입보다 포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율 0.659~0.660, 숏 계정 비율 0.340~0.341로 여전히 롱 계정 쏠림이 높아 contrarian bearish 압력\",\n    \"현물-선물 basis가 -0.0596%로 음수이며 basis_change -0.0190으로 선물 프리미엄 회복이 약함\",\n    \"하방 청산 유동성이 $58,300, $58,200 및 가장 강한 $54,700에 존재해 하방 유동성 자석이 열려 있음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,563.90으로 EMA20 $60,654.64와 EMA120 $61,092.43 아래에 있으며, EMA240 $61,888.58도 회복하지 못해 확인된 구조는 약세로 해석된다. 파생 포지셔닝에서는 OI가 24시간 -2.7770% 감소했고 CVD 변화가 -1234.7410으로 가격의 +0.49% 24시간 반등을 뒷받침하지 못해 반등 신뢰도가 낮다. 롱 계정 비율이 0.659로 여전히 과밀한 반면 숏 계정은 0.341까지 상승 중이어서, 실제 구조 전환 전에는 롱 언와인딩 리스크가 우위다. 단기적으로 $61,900 위 청산대와 EMA240을 회복하지 못하면 $59,080 저점 재시험 후 $58,300~$58,200 하방 유동성으로 밀릴 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      59080,\n      58300,\n      58200,\n      54700\n    ],\n    \"resistance\": [\n      60654.64,\n      61092.43,\n      61888.58,\n      61900,\n      62579.5,\n      63000,\n      63200\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"$61,900 이상 15분봉 종가 안착\",\n  \"risk_scenario\": \"$61,900 상방 청산대를 돌파하고 EMA240 $61,888.58 위에서 수용되면 숏 커버링이 발생해 $63,000~$63,200 유동성까지 빠르게 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "가격이 EQ $60,810.50 아래인 할인 구간에 위치하지만, $61,067.60 하방 BOS 이후 회복 실패로 약세 지속 셋업 유지",
        "EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 모두 현재가 $60,563.90 위에 있어 단기·중기 동적 저항으로 작용",
        "상단 후보 bearish OB가 $62,861.40~$63,231.80에 위치해 있으며, 반등 시 기관 매도 공급 구간으로 해석",
        "최근 구조 이벤트가 BOS_bearish 3회 연속: $63,040.00, $62,300.00, $61,067.60 이탈",
        "현재 범위 저점 $60,146.00이 근접 유동성으로 남아 있으며, 이탈 시 전일 저점 및 7일 저점 $59,080.00까지 sell-side liquidity를 탐색할 가능성"
      ],
      "reasoning": "확정 구조는 $63,040.00, $62,300.00, $61,067.60에서 3회 연속 bearish BOS가 발생했기 때문에 명확한 bearish structure_bias이다. 현재가 $60,563.90은 EQ $60,810.50 아래의 discount에 있지만, 할인 구간임에도 bullish OB, 미체결 bullish FVG, 최근 sell-side sweep 같은 반전 근거가 전혀 없으므로 저가 매수보다는 약세 지속으로 해석한다. 특히 EMA20 $60,654.64와 마지막 BOS 레벨 $61,067.60 회복에 실패하면 $60,146.00 범위 저점 및 $59,080.00 전일 저점/7일 저점의 유동성 사냥 가능성이 높다. 상방 반등이 나오더라도 $62,861.40~$63,231.80 후보 bearish OB는 프리미엄 공급 구간으로, 기관 매도 재진입 후보가 된다.",
      "key_levels": {
        "support": [
          60146.0,
          59080.0
        ],
        "resistance": [
          60654.64,
          60810.5,
          61067.6,
          61475.0,
          61985.1,
          62861.4,
          63231.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,475.00 상방 돌파 및 수용",
      "risk_scenario": "반대 시나리오는 가격이 $60,146.00 저점을 스윕한 뒤 즉시 $60,810.50 EQ와 $61,067.60 마지막 bearish BOS 레벨을 회복하는 경우이다. 이 경우 sell-side liquidity sweep 이후 CHoCH 후보가 형성되며, 단기 하락 추세는 약화되고 $61,475.00 및 $61,985.10까지 되돌림이 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 62861.4,
          "top": 63231.8,
          "quality": "candidate",
          "score": 0.505
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 69,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 63040.0
          },
          {
            "type": "BOS_bearish",
            "level": 62300.0
          },
          {
            "type": "BOS_bearish",
            "level": 61067.6
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 3,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 60810.5,
        "range_high": 61475.0,
        "range_low": 60146.0,
        "bull_score": 0.0,
        "bear_score": 9.0,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $63,040.00",
          "bearish BOS below $62,300.00",
          "bearish BOS below $61,067.60",
          "3x consecutive bearish BOS"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 32.3,
        "deepest_retracement_pct": 72.7,
        "previous_day_high": 61985.1,
        "previous_day_low": 59080.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"가격이 EQ $60,810.50 아래인 할인 구간에 위치하지만, $61,067.60 하방 BOS 이후 회복 실패로 약세 지속 셋업 유지\",\n    \"EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 모두 현재가 $60,563.90 위에 있어 단기·중기 동적 저항으로 작용\",\n    \"상단 후보 bearish OB가 $62,861.40~$63,231.80에 위치해 있으며, 반등 시 기관 매도 공급 구간으로 해석\",\n    \"최근 구조 이벤트가 BOS_bearish 3회 연속: $63,040.00, $62,300.00, $61,067.60 이탈\",\n    \"현재 범위 저점 $60,146.00이 근접 유동성으로 남아 있으며, 이탈 시 전일 저점 및 7일 저점 $59,080.00까지 sell-side liquidity를 탐색할 가능성\"\n  ],\n  \"reasoning\": \"확정 구조는 $63,040.00, $62,300.00, $61,067.60에서 3회 연속 bearish BOS가 발생했기 때문에 명확한 bearish structure_bias이다. 현재가 $60,563.90은 EQ $60,810.50 아래의 discount에 있지만, 할인 구간임에도 bullish OB, 미체결 bullish FVG, 최근 sell-side sweep 같은 반전 근거가 전혀 없으므로 저가 매수보다는 약세 지속으로 해석한다. 특히 EMA20 $60,654.64와 마지막 BOS 레벨 $61,067.60 회복에 실패하면 $60,146.00 범위 저점 및 $59,080.00 전일 저점/7일 저점의 유동성 사냥 가능성이 높다. 상방 반등이 나오더라도 $62,861.40~$63,231.80 후보 bearish OB는 프리미엄 공급 구간으로, 기관 매도 재진입 후보가 된다.\",\n  \"key_levels\": {\n    \"support\": [\n      60146.0,\n      59080.0\n    ],\n    \"resistance\": [\n      60654.64,\n      60810.5,\n      61067.6,\n      61475.0,\n      61985.1,\n      62861.4,\n      63231.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,475.00 상방 돌파 및 수용\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $60,146.00 저점을 스윕한 뒤 즉시 $60,810.50 EQ와 $61,067.60 마지막 bearish BOS 레벨을 회복하는 경우이다. 이 경우 sell-side liquidity sweep 이후 CHoCH 후보가 형성되며, 단기 하락 추세는 약화되고 $61,475.00 및 $61,985.10까지 되돌림이 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.72,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "분배 구조 Phase D: LPSY $60,949.90 이후 SOW $60,363.00 발생",
        "현재가 $60,563.90은 메인 레인지 EQ $61,365.00 아래에 위치하여 수요 회복보다 약세 구조가 우세",
        "LPSY 공급대 $60,949.90 회복 실패 시 재차 AR/SOW 구간 $60,420.00~$60,363.00 압박 가능",
        "UT $61,475.00 아래에 머물러 있어 상단 회복 확인 전까지 분배 Phase D 해석 유지",
        "다만 현재가는 레인지 하단 $60,420.00 근처라 신규 추격 매도 setup 강도는 중간 수준으로 제한"
      ],
      "reasoning": "현재 Wyckoff regime은 DIS이며 regime_fitness 0.905, 감지된 이벤트 체인은 BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → SOW_IN_PHASE_B $59,451.30 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00으로 분배 Phase D 구조에 가깝다. 구조적으로는 LPSY 이후 SOW가 발생했기 때문에 structure_bias는 bearish가 맞지만, 현재가 $60,563.90은 메인 레인지 하단 AR $60,420.00에 매우 근접해 있어 즉각적인 추격 매도보다는 하단 재시험 여부가 핵심이다. $60,949.90 LPSY와 $61,475.00 UT를 회복하지 못하면 $60,420.00 및 $60,363.00 재시험, 이탈 시 $59,451.30 SOW_IN_PHASE_B 저점까지 열릴 수 있다. 반대로 $61,475.00을 회복하면 현재 Phase D 약세 판독은 약화되고, $61,985.10 ST 및 $62,310.00 BC 상단 재검증으로 전환될 수 있다.",
      "key_levels": {
        "support": [
          60420.0,
          60363.0,
          59451.3,
          59080.0
        ],
        "resistance": [
          60949.9,
          61365.0,
          61475.0,
          61985.1,
          62310.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,475.00",
      "risk_scenario": "$61,475.00 UT 레벨을 회복하고 유지하면 LPSY 이후 SOW 해석이 약화되며, 가격은 EQ $61,365.00 위 수용을 통해 ST $61,985.10 및 BC $62,310.00 재시험으로 전환될 수 있다. 이 경우 분배 Phase D의 즉각 하방 시나리오는 보류하고 상단 실패 여부를 다시 확인해야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 85.1,
        "dis_score": 90.5,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "LPSY",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 178,
            "price": 62310.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 180,
            "price": 60420.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 208,
            "price": 61985.1,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 238,
            "price": 59451.3,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 254,
            "price": 61475.0,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 284,
            "price": 60949.9,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 293,
            "price": 60363.0,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 178,
            "end_idx": 293,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 178,
                "price": 62310.0,
                "color": "#ffd166",
                "dt": "2026-06-05 22:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 180,
                "price": 60420.0,
                "color": "#06d6a0",
                "dt": "2026-06-05 23:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 208,
                "price": 61985.1,
                "color": "#118ab2",
                "dt": "2026-06-06 06:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 238,
                "price": 59451.3,
                "color": "#ef476f",
                "dt": "2026-06-06 13:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 254,
                "price": 61475.0,
                "color": "#f9844a",
                "dt": "2026-06-06 17:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 284,
                "price": 60949.9,
                "color": "#8338ec",
                "dt": "2026-06-07 01:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 293,
                "price": 60363.0,
                "color": "#ef476f",
                "dt": "2026-06-07 03:15:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9048076923076923,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 60420.0,
        "main_range_high": 62310.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"분배 구조 Phase D: LPSY $60,949.90 이후 SOW $60,363.00 발생\",\n    \"현재가 $60,563.90은 메인 레인지 EQ $61,365.00 아래에 위치하여 수요 회복보다 약세 구조가 우세\",\n    \"LPSY 공급대 $60,949.90 회복 실패 시 재차 AR/SOW 구간 $60,420.00~$60,363.00 압박 가능\",\n    \"UT $61,475.00 아래에 머물러 있어 상단 회복 확인 전까지 분배 Phase D 해석 유지\",\n    \"다만 현재가는 레인지 하단 $60,420.00 근처라 신규 추격 매도 setup 강도는 중간 수준으로 제한\"\n  ],\n  \"reasoning\": \"현재 Wyckoff regime은 DIS이며 regime_fitness 0.905, 감지된 이벤트 체인은 BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → SOW_IN_PHASE_B $59,451.30 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00으로 분배 Phase D 구조에 가깝다. 구조적으로는 LPSY 이후 SOW가 발생했기 때문에 structure_bias는 bearish가 맞지만, 현재가 $60,563.90은 메인 레인지 하단 AR $60,420.00에 매우 근접해 있어 즉각적인 추격 매도보다는 하단 재시험 여부가 핵심이다. $60,949.90 LPSY와 $61,475.00 UT를 회복하지 못하면 $60,420.00 및 $60,363.00 재시험, 이탈 시 $59,451.30 SOW_IN_PHASE_B 저점까지 열릴 수 있다. 반대로 $61,475.00을 회복하면 현재 Phase D 약세 판독은 약화되고, $61,985.10 ST 및 $62,310.00 BC 상단 재검증으로 전환될 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60420.0,\n      60363.0,\n      59451.3,\n      59080.0\n    ],\n    \"resistance\": [\n      60949.9,\n      61365.0,\n      61475.0,\n      61985.1,\n      62310.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,475.00\",\n  \"risk_scenario\": \"$61,475.00 UT 레벨을 회복하고 유지하면 LPSY 이후 SOW 해석이 약화되며, 가격은 EQ $61,365.00 위 수용을 통해 ST $61,985.10 및 BC $62,310.00 재시험으로 전환될 수 있다. 이 경우 분배 Phase D의 즉각 하방 시나리오는 보류하고 상단 실패 여부를 다시 확인해야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.78,
      "setup_signals": [
        "확정 bullish Gartley: D $60,146.00, PRZ $59,997.31-$60,390.23에서 터치/방어 후 반응 확인",
        "Gartley 반응 확인 사유: PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.382_reaction_reached, PRZ center reclaim, D/PRZ failure-zone defense",
        "형성 중인 strict high bullish Bat: 예상 D $60,354.53, active PRZ $60,189.84-$60,519.22, ABCD+BC_EXT+XAD 3중 Fib confluence",
        "현재가 $60,563.90은 Bat PRZ 상단 $60,519.22 바로 위에 있어 PRZ 방어 지속 여부가 단기 셋업의 핵심",
        "검증된 bullish Gartley TP ladder: TP1 $60,711.85, TP2 $61,031.92, TP3 $61,550.00",
        "상방 반응 중에도 EMA120 $61,092.43 및 bearish forming Gartley watch PRZ $61,001.73-$61,337.07이 즉시 저항/리스크 구간"
      ],
      "reasoning": "15분 BTC/USDT는 harmonic 기준으로 bullish 쪽 셋업 우위가 뚜렷하며 directional_scores는 bullish 0.774, bearish 0.000입니다. 가장 중요한 확정 패턴은 strict high bullish Gartley로, PRZ $59,997.31-$60,390.23에서 D $60,146.00 형성 후 AD 0.382 반응까지 도달해 post-confirmation vote-eligible 상태입니다. 동시에 strict high bullish Bat이 $60,189.84-$60,519.22 PRZ에서 형성 중이며, 현재가 $60,563.90은 이 구간 바로 위라서 하방 재진입 없이 방어되면 $60,667.38-$60,711.85, 이후 $60,860.65-$61,031.92가 자연스러운 TP/반응 후보입니다. 다만 harmonic은 단독 구조 엔진이 아니며, 명확한 BOS/CHoCH 또는 구조적 acceptance 데이터가 없고 가격도 EMA120 $61,092.43 및 EMA240 $61,888.58 아래에 있어 structure_bias는 bullish로 확정하지 않고 neutral로 둡니다.",
      "key_levels": {
        "support": [
          60519.22,
          60390.23,
          60189.84,
          59997.31,
          59080.0
        ],
        "resistance": [
          60667.38,
          60711.85,
          60860.65,
          61031.92,
          61173.5,
          61550.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,997.31",
      "risk_scenario": "현재 bullish harmonic 셋업이 실패해 $59,997.31 아래로 15분 종가 수용이 나오면 Gartley/Bat PRZ 방어 실패로 해석되며, $60,146.00 D 저점 회복 실패와 함께 7일 저점 $59,080.00 재탐색 리스크가 커집니다. 반대로 단기 반등이 이어지더라도 $61,001.73-$61,337.07의 forming bearish Gartley PRZ와 EMA120 $61,092.43 부근에서는 매도 반응/상승 둔화가 발생할 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 98,
        "completed_patterns_found": 30,
        "forming_d_prz_found": 68,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 25,
        "swing_lows_scanned": 30,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 8,
          "medium": 48,
          "low": 42
        },
        "prz_status_counts": {
          "active": 17,
          "nearby": 8,
          "watch": 16,
          "far": 57,
          "forming": 46
        },
        "high_confluence_prz_count": 27,
        "strict_patterns_found": 50,
        "candidate_patterns_found": 48,
        "active_patterns_at_prz": 17,
        "nearby_patterns": 8,
        "all_patterns": [
          "bat",
          "bat",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "gartley",
          "shark",
          "gartley",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "bat",
          "shark",
          "crab",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "shark",
          "gartley",
          "shark",
          "crab",
          "bat",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "crab",
          "bat",
          "bat",
          "shark",
          "shark",
          "shark",
          "crab",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "butterfly",
          "gartley"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.96,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 60543.23,
        "price_to_prz": -0.03,
        "prz_range": [
          60429.98,
          60656.47
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60354.53,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4912,
              "ABC": 0.557
            },
            "x_price": 60146.0,
            "x_idx": 262,
            "x_order": 8,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.895,
            "ratio_score": 0.935,
            "prz_score": 0.979,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60146.0,
            "prz_range": [
              59997.31,
              60390.23
            ],
            "prz_width_pct": 0.653,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6111,
            "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.732,
                "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": 60193.77,
              "a_price": 61550.0,
              "tp1_ad_382": 60711.85,
              "tp2_ad_618": 61031.92,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.603,
              "ABC": 0.647,
              "BCD": 1.4416,
              "XAD": 0.7753
            },
            "x_price": 59739.1,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 189,
            "a_order": 8,
            "b_price": 60458.0,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 61164.5,
            "c_idx": 231,
            "c_order": 3,
            "d_idx": 262
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.893,
            "ratio_score": 0.922,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61169.4,
            "prz_range": [
              61001.73,
              61337.07
            ],
            "prz_width_pct": 0.548,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.9998,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61169.4,
              "a_price": 60146.0,
              "tp1_ad_382": 60778.46,
              "tp2_ad_618": 60536.94,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6049,
              "ABC": 0.7301
            },
            "x_price": 61475.0,
            "x_idx": 254,
            "x_order": 8,
            "a_price": 60146.0,
            "a_idx": 262,
            "a_order": 8,
            "b_price": 60949.9,
            "b_idx": 284,
            "b_order": 3,
            "c_price": 60363.0,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.813,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60363.0,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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.49,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "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": "butterfly",
              "d_price": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8799,
              "ABC": 0.557,
              "BCD": 2.0879,
              "XAD": 1.413
            },
            "x_price": 60599.9,
            "x_idx": 270,
            "x_order": 3,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.849,
            "ratio_score": 0.785,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60363.0,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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.49,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "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": "bat",
              "d_price": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4912,
              "ABC": 0.557,
              "BCD": 2.0879,
              "XAD": 0.7888
            },
            "x_price": 60146.0,
            "x_idx": 262,
            "x_order": 8,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.802,
            "ratio_score": 0.709,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61393.97,
            "prz_range": [
              61214.54,
              61573.39
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.37,
            "price_to_prz_pct_raw": 1.3706,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61393.97,
              "a_price": 60642.4,
              "tp1_ad_382": 61106.87,
              "tp2_ad_618": 60929.5,
              "tp3_a_or_structure_liquidity": 60642.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6284,
              "ABC": 0.9537
            },
            "x_price": 61550.0,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 60642.4,
            "a_idx": 229,
            "a_order": 3,
            "b_price": 61212.7,
            "b_idx": 249,
            "b_order": 3,
            "c_price": 60668.8,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.9,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60728.35,
            "prz_range": [
              60467.81,
              60988.9
            ],
            "prz_width_pct": 0.858,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2715,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60728.35,
              "a_price": 61985.1,
              "tp1_ad_382": 61208.43,
              "tp2_ad_618": 61505.02,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4842,
              "ABC": 0.4055
            },
            "x_price": 60300.0,
            "x_idx": 181,
            "x_order": 3,
            "a_price": 61985.1,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 221,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 0.88,
            "prz_score": 0.94,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60331.01,
            "prz_range": [
              60103.72,
              60558.29
            ],
            "prz_width_pct": 0.753,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.38,
            "price_to_prz_pct_raw": -0.3845,
            "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": 60331.01,
              "a_price": 61985.1,
              "tp1_ad_382": 60962.87,
              "tp2_ad_618": 61353.24,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5978,
              "ABC": 0.6201
            },
            "x_price": 59739.1,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 61985.1,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 60642.4,
            "b_idx": 229,
            "b_order": 3,
            "c_price": 61475.0,
            "c_idx": 254,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.895,
            "ratio_score": 0.935,
            "prz_score": 0.979,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60146.0,
            "prz_range": [
              59997.31,
              60390.23
            ],
            "prz_width_pct": 0.653,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6111,
            "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.732,
                "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": 60193.77,
              "a_price": 61550.0,
              "tp1_ad_382": 60711.85,
              "tp2_ad_618": 61031.92,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.603,
              "ABC": 0.647,
              "BCD": 1.4416,
              "XAD": 0.7753
            },
            "x_price": 59739.1,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 189,
            "a_order": 8,
            "b_price": 60458.0,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 61164.5,
            "c_idx": 231,
            "c_order": 3,
            "d_idx": 262
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60354.53,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4912,
              "ABC": 0.557
            },
            "x_price": 60146.0,
            "x_idx": 262,
            "x_order": 8,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60354.53,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4912,
              "ABC": 0.557
            },
            "x_price": 60146.0,
            "x_idx": 262,
            "x_order": 8,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.895,
            "ratio_score": 0.935,
            "prz_score": 0.979,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60146.0,
            "prz_range": [
              59997.31,
              60390.23
            ],
            "prz_width_pct": 0.653,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6111,
            "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.732,
                "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": 60193.77,
              "a_price": 61550.0,
              "tp1_ad_382": 60711.85,
              "tp2_ad_618": 61031.92,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.603,
              "ABC": 0.647,
              "BCD": 1.4416,
              "XAD": 0.7753
            },
            "x_price": 59739.1,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 189,
            "a_order": 8,
            "b_price": 60458.0,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 61164.5,
            "c_idx": 231,
            "c_order": 3,
            "d_idx": 262
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.893,
            "ratio_score": 0.922,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61169.4,
            "prz_range": [
              61001.73,
              61337.07
            ],
            "prz_width_pct": 0.548,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 0.9998,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61169.4,
              "a_price": 60146.0,
              "tp1_ad_382": 60778.46,
              "tp2_ad_618": 60536.94,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6049,
              "ABC": 0.7301
            },
            "x_price": 61475.0,
            "x_idx": 254,
            "x_order": 8,
            "a_price": 60146.0,
            "a_idx": 262,
            "a_order": 8,
            "b_price": 60949.9,
            "b_idx": 284,
            "b_order": 3,
            "c_price": 60363.0,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.862,
            "ratio_score": 0.813,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60363.0,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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.49,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "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": "butterfly",
              "d_price": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8799,
              "ABC": 0.557,
              "BCD": 2.0879,
              "XAD": 1.413
            },
            "x_price": 60599.9,
            "x_idx": 270,
            "x_order": 3,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.849,
            "ratio_score": 0.785,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60363.0,
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_width_pct": 0.546,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.3457,
            "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.49,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "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": "bat",
              "d_price": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4912,
              "ABC": 0.557,
              "BCD": 2.0879,
              "XAD": 0.7888
            },
            "x_price": 60146.0,
            "x_idx": 262,
            "x_order": 8,
            "a_price": 61173.5,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 60668.8,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.802,
            "ratio_score": 0.709,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61393.97,
            "prz_range": [
              61214.54,
              61573.39
            ],
            "prz_width_pct": 0.584,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.37,
            "price_to_prz_pct_raw": 1.3706,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61393.97,
              "a_price": 60642.4,
              "tp1_ad_382": 61106.87,
              "tp2_ad_618": 60929.5,
              "tp3_a_or_structure_liquidity": 60642.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6284,
              "ABC": 0.9537
            },
            "x_price": 61550.0,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 60642.4,
            "a_idx": 229,
            "a_order": 3,
            "b_price": 61212.7,
            "b_idx": 249,
            "b_order": 3,
            "c_price": 60668.8,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.9,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60728.35,
            "prz_range": [
              60467.81,
              60988.9
            ],
            "prz_width_pct": 0.858,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2715,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60728.35,
              "a_price": 61985.1,
              "tp1_ad_382": 61208.43,
              "tp2_ad_618": 61505.02,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4842,
              "ABC": 0.4055
            },
            "x_price": 60300.0,
            "x_idx": 181,
            "x_order": 3,
            "a_price": 61985.1,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 221,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.922,
            "ratio_score": 0.88,
            "prz_score": 0.94,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60331.01,
            "prz_range": [
              60103.72,
              60558.29
            ],
            "prz_width_pct": 0.753,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.38,
            "price_to_prz_pct_raw": -0.3845,
            "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": 60331.01,
              "a_price": 61985.1,
              "tp1_ad_382": 60962.87,
              "tp2_ad_618": 61353.24,
              "tp3_a_or_structure_liquidity": 61985.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5978,
              "ABC": 0.6201
            },
            "x_price": 59739.1,
            "x_idx": 188,
            "x_order": 8,
            "a_price": 61985.1,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 60642.4,
            "b_idx": 229,
            "b_order": 3,
            "c_price": 61475.0,
            "c_idx": 254,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 0.939,
            "prz_score": 0.967,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60203.34,
            "prz_range": [
              59997.3,
              60409.38
            ],
            "prz_width_pct": 0.684,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.6,
            "price_to_prz_pct_raw": -0.5953,
            "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": 60203.34,
              "a_price": 61164.5,
              "tp1_ad_382": 60570.5,
              "tp2_ad_618": 60797.34,
              "tp3_a_or_structure_liquidity": 61164.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7992,
              "ABC": 0.6199
            },
            "x_price": 60458.0,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 61164.5,
            "a_idx": 231,
            "a_order": 3,
            "b_price": 60599.9,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.908,
            "ratio_score": 0.983,
            "prz_score": 0.892,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60876.4,
            "prz_range": [
              60609.35,
              61143.45
            ],
            "prz_width_pct": 0.877,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.52,
            "price_to_prz_pct_raw": 0.516,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 60876.4,
              "a_price": 61550.0,
              "tp1_ad_382": 61133.72,
              "tp2_ad_618": 61292.69,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7896,
              "ABC": 0.8687
            },
            "x_price": 61067.6,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 61550.0,
            "a_idx": 189,
            "a_order": 8,
            "b_price": 61169.1,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 61500.0,
            "c_idx": 221,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.892,
            "ratio_score": 0.989,
            "prz_score": 0.902,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61002.75,
            "prz_range": [
              60743.2,
              61262.3
            ],
            "prz_width_pct": 0.851,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.72,
            "price_to_prz_pct_raw": 0.7246,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 61002.75,
              "a_price": 60599.9,
              "tp1_ad_382": 60848.86,
              "tp2_ad_618": 60753.79,
              "tp3_a_or_structure_liquidity": 60599.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6199,
              "ABC": 1.5209
            },
            "x_price": 61164.5,
            "x_idx": 231,
            "x_order": 3,
            "a_price": 60599.9,
            "a_idx": 270,
            "a_order": 3,
            "b_price": 60949.9,
            "b_idx": 284,
            "b_order": 3,
            "c_price": 60417.6,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.879,
            "ratio_score": 0.975,
            "prz_score": 0.947,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59845.34,
            "prz_range": [
              59625.25,
              60065.43
            ],
            "prz_width_pct": 0.736,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.19,
            "price_to_prz_pct_raw": -1.1864,
            "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": 59845.34,
              "a_price": 61250.0,
              "tp1_ad_382": 60381.92,
              "tp2_ad_618": 60713.42,
              "tp3_a_or_structure_liquidity": 61250.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6138,
              "ABC": 0.7282
            },
            "x_price": 59451.3,
            "x_idx": 238,
            "x_order": 8,
            "a_price": 61250.0,
            "a_idx": 244,
            "a_order": 8,
            "b_price": 60146.0,
            "b_idx": 262,
            "b_order": 8,
            "c_price": 60949.9,
            "c_idx": 284,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.96,
            "prz_proximity": "active",
            "prz_range": [
              60189.84,
              60519.22
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.35,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60354.53,
              "a_price": 61173.5,
              "tp1_ad_382": 60667.38,
              "tp2_ad_618": 60860.65,
              "tp3_a_or_structure_liquidity": 61173.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,189.84-$60,519.22: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.895,
            "prz_proximity": "active",
            "prz_range": [
              59997.31,
              60390.23
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.61,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.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.732,
                "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": 60193.77,
              "a_price": 61550.0,
              "tp1_ad_382": 60711.85,
              "tp2_ad_618": 61031.92,
              "tp3_a_or_structure_liquidity": 61550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY COMPLETED HIGH PRZ $59,997.31-$60,390.23: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.96,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 60354.53,
          "prz_range": [
            60189.84,
            60519.22
          ],
          "prz_width_pct": 0.546,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.35,
          "price_to_prz_pct_raw": -0.3457,
          "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": 60354.53,
            "a_price": 61173.5,
            "tp1_ad_382": 60667.38,
            "tp2_ad_618": 60860.65,
            "tp3_a_or_structure_liquidity": 61173.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4912,
            "ABC": 0.557
          },
          "x_price": 60146.0,
          "x_idx": 262,
          "x_order": 8,
          "a_price": 61173.5,
          "a_idx": 271,
          "a_order": 8,
          "b_price": 60668.8,
          "b_idx": 274,
          "b_order": 3,
          "c_price": 60949.9,
          "c_idx": 284,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 60354.53,
          "a_price": 61173.5,
          "tp1_ad_382": 60667.38,
          "tp2_ad_618": 60860.65,
          "tp3_a_or_structure_liquidity": 61173.5,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 60193.77,
          "a_price": 61550.0,
          "tp1_ad_382": 60711.85,
          "tp2_ad_618": 61031.92,
          "tp3_a_or_structure_liquidity": 61550.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60354.53,
            "a_price": 61173.5,
            "tp1_ad_382": 60667.38,
            "tp2_ad_618": 60860.65,
            "tp3_a_or_structure_liquidity": 61173.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60193.77,
            "a_price": 61550.0,
            "tp1_ad_382": 60711.85,
            "tp2_ad_618": 61031.92,
            "tp3_a_or_structure_liquidity": 61550.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60193.77,
            "a_price": 61550.0,
            "tp1_ad_382": 60711.85,
            "tp2_ad_618": 61031.92,
            "tp3_a_or_structure_liquidity": 61550.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.774,
          "bearish": 0
        },
        "directional_score_total": 0.774,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"확정 bullish Gartley: D $60,146.00, PRZ $59,997.31-$60,390.23에서 터치/방어 후 반응 확인\",\n    \"Gartley 반응 확인 사유: PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.382_reaction_reached, PRZ center reclaim, D/PRZ failure-zone defense\",\n    \"형성 중인 strict high bullish Bat: 예상 D $60,354.53, active PRZ $60,189.84-$60,519.22, ABCD+BC_EXT+XAD 3중 Fib confluence\",\n    \"현재가 $60,563.90은 Bat PRZ 상단 $60,519.22 바로 위에 있어 PRZ 방어 지속 여부가 단기 셋업의 핵심\",\n    \"검증된 bullish Gartley TP ladder: TP1 $60,711.85, TP2 $61,031.92, TP3 $61,550.00\",\n    \"상방 반응 중에도 EMA120 $61,092.43 및 bearish forming Gartley watch PRZ $61,001.73-$61,337.07이 즉시 저항/리스크 구간\"\n  ],\n  \"reasoning\": \"15분 BTC/USDT는 harmonic 기준으로 bullish 쪽 셋업 우위가 뚜렷하며 directional_scores는 bullish 0.774, bearish 0.000입니다. 가장 중요한 확정 패턴은 strict high bullish Gartley로, PRZ $59,997.31-$60,390.23에서 D $60,146.00 형성 후 AD 0.382 반응까지 도달해 post-confirmation vote-eligible 상태입니다. 동시에 strict high bullish Bat이 $60,189.84-$60,519.22 PRZ에서 형성 중이며, 현재가 $60,563.90은 이 구간 바로 위라서 하방 재진입 없이 방어되면 $60,667.38-$60,711.85, 이후 $60,860.65-$61,031.92가 자연스러운 TP/반응 후보입니다. 다만 harmonic은 단독 구조 엔진이 아니며, 명확한 BOS/CHoCH 또는 구조적 acceptance 데이터가 없고 가격도 EMA120 $61,092.43 및 EMA240 $61,888.58 아래에 있어 structure_bias는 bullish로 확정하지 않고 neutral로 둡니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60519.22,\n      60390.23,\n      60189.84,\n      59997.31,\n      59080.0\n    ],\n    \"resistance\": [\n      60667.38,\n      60711.85,\n      60860.65,\n      61031.92,\n      61173.5,\n      61550.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,997.31\",\n  \"risk_scenario\": \"현재 bullish harmonic 셋업이 실패해 $59,997.31 아래로 15분 종가 수용이 나오면 Gartley/Bat PRZ 방어 실패로 해석되며, $60,146.00 D 저점 회복 실패와 함께 7일 저점 $59,080.00 재탐색 리스크가 커집니다. 반대로 단기 반등이 이어지더라도 $61,001.73-$61,337.07의 forming bearish Gartley PRZ와 EMA120 $61,092.43 부근에서는 매도 반응/상승 둔화가 발생할 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.76,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.68,
      "active_setups": [
        "ICT: $63,040.00 → $62,300.00 → $61,067.60에서 3회 연속 하방 BOS가 확인되어 구조적 약세가 유지됨",
        "가격 $60,563.90이 EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 아래에 있어 동적 저항 아래에서 거래 중",
        "Wyckoff: LPSY $60,949.90 이후 SOW $60,363.00이 발생한 분배 Phase D 구조",
        "Derivatives: 24시간 OI -2.7770%, CVD 변화 -1234.7410으로 반등 체결 지지가 약함",
        "Fibonacci/Harmonic 반대 신호: $60,554.28 피보나치 지지와 $59,997.31-$60,390.23 bullish Gartley PRZ 방어가 단기 반등 리스크로 존재",
        "Harmonic: strict high bullish Gartley는 D $60,146.00, PRZ $59,997.31-$60,390.23에서 반응 확인되었으나 구조 엔진을 뒤집을 단독 근거는 아님"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재가가 $60,146-$60,390 하모닉 PRZ 및 $60,554 피보나치 지지권 위에 있어, 즉각적인 추격보다는 하단 방어 여부가 단기 경로를 흔드는 핵심 조건이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        60554.28,
        60519.22,
        60420.0,
        60363.0,
        60146.0,
        59997.31,
        59080.0
      ],
      "resistance": [
        60654.64,
        60672.61,
        60768.25,
        60810.5,
        60863.89,
        60949.9,
        61067.6,
        61475.0,
        61888.58,
        61900.0
      ]
    },
    "confluences": [
      "ICT와 Derivatives, Candlestick 모두 현재가 $60,563.90이 EMA20 $60,654.64 아래에 있다고 보며, 단기 동적 저항이 가격 위에 형성되어 있음",
      "ICT와 Derivatives는 EMA120 $61,092.43, EMA240 $61,888.58 하회를 공통적으로 구조 약세의 근거로 제시함",
      "ICT의 마지막 하방 BOS 레벨 $61,067.60과 Derivatives의 EMA120 $61,092.43, Harmonic의 bearish PRZ 감시권 $61,001.73-$61,337.07이 $61,000-$61,337 저항 클러스터를 형성함",
      "Wyckoff SOW $60,363.00, Fibonacci ext_1.0 $60,363.00, Harmonic bullish PRZ 하단 반응권 $60,189.84-$60,519.22가 $60,190-$60,519 수요/반응 구간으로 중첩됨",
      "Fibonacci ret_0.236 $60,554.28과 현재가 $60,563.90의 거리가 매우 가까워, 현 위치가 단기 지지 테스트 구간이라는 점에서 Fibonacci와 Harmonic이 일치함",
      "Wyckoff AR $60,420.00, SOW $60,363.00, ICT range low $60,146.00, Harmonic Gartley D $60,146.00이 $60,146-$60,420 하단 구조 구간으로 겹침",
      "ICT와 Wyckoff 모두 $59,080.00을 주요 하방 유동성/저점으로 인식함",
      "Wyckoff LPSY $60,949.90, Fibonacci golden ratio $60,863.89, ICT EQ $60,810.50, Fibonacci EQ $60,768.25가 $60,768-$60,950의 공급/균형 회복 저항대를 형성함"
    ],
    "conflicts": [
      "Harmonic은 strict high bullish Gartley 및 bullish Bat PRZ를 근거로 bullish 셋업을 제시하지만, ICT·Wyckoff·Derivatives는 구조와 체결 흐름 모두 bearish로 판단한다.",
      "Fibonacci는 구조 자체는 $61,174 → $60,363 하락 스윙으로 bearish라고 보면서도, 현재가가 $60,554.28 지지와 $60,363.00 확장 레벨 근처라 단기 setup은 bullish 반등 후보로 본다.",
      "Candlestick은 최근 bearish engulfing 후보가 우세해 신호는 bearish지만, morning star 및 bullish engulfing 후보도 있어 저점권 반등 가능성을 완전히 배제하지 않는다.",
      "Derivatives는 OI 감소와 CVD 약화를 근거로 반등 신뢰도를 낮게 평가하지만, Harmonic은 이미 PRZ 방어와 AD 0.382 반응 도달을 확인된 bullish 반응으로 해석한다."
    ],
    "executive_summary": "현재 15분 BTC 구조는 Wyckoff 분배 Phase D에 가까우며, BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00의 이벤트 체인이 약세 레짐을 지지한다. ICT 역시 $63,040.00, $62,300.00, $61,067.60에서 연속 하방 BOS를 확인해 구조적 bias는 bearish로 정렬되어 있으며, 가격은 EMA20 $60,654.64와 EQ $60,810.50 아래에 있다. 다만 현재 위치는 Fibonacci $60,554.28 지지, Wyckoff/SOW $60,363.00, Harmonic bullish PRZ $59,997.31-$60,390.23 인근이어서 구조 약세 속 하단 반응 리스크가 존재한다. 핵심 구조 저항은 $60,949.90-$61,067.60이며, $61,475.00 회복 전까지는 분배 이후 약세 구조가 우세하다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.76,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.68,\n    \"active_setups\": [\n      \"ICT: $63,040.00 → $62,300.00 → $61,067.60에서 3회 연속 하방 BOS가 확인되어 구조적 약세가 유지됨\",\n      \"가격 $60,563.90이 EMA20 $60,654.64, EMA120 $61,092.43, EMA240 $61,888.58 아래에 있어 동적 저항 아래에서 거래 중\",\n      \"Wyckoff: LPSY $60,949.90 이후 SOW $60,363.00이 발생한 분배 Phase D 구조\",\n      \"Derivatives: 24시간 OI -2.7770%, CVD 변화 -1234.7410으로 반등 체결 지지가 약함\",\n      \"Fibonacci/Harmonic 반대 신호: $60,554.28 피보나치 지지와 $59,997.31-$60,390.23 bullish Gartley PRZ 방어가 단기 반등 리스크로 존재\",\n      \"Harmonic: strict high bullish Gartley는 D $60,146.00, PRZ $59,997.31-$60,390.23에서 반응 확인되었으나 구조 엔진을 뒤집을 단독 근거는 아님\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 현재가가 $60,146-$60,390 하모닉 PRZ 및 $60,554 피보나치 지지권 위에 있어, 즉각적인 추격보다는 하단 방어 여부가 단기 경로를 흔드는 핵심 조건이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      60554.28,\n      60519.22,\n      60420.0,\n      60363.0,\n      60146.0,\n      59997.31,\n      59080.0\n    ],\n    \"resistance\": [\n      60654.64,\n      60672.61,\n      60768.25,\n      60810.5,\n      60863.89,\n      60949.9,\n      61067.6,\n      61475.0,\n      61888.58,\n      61900.0\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Derivatives, Candlestick 모두 현재가 $60,563.90이 EMA20 $60,654.64 아래에 있다고 보며, 단기 동적 저항이 가격 위에 형성되어 있음\",\n    \"ICT와 Derivatives는 EMA120 $61,092.43, EMA240 $61,888.58 하회를 공통적으로 구조 약세의 근거로 제시함\",\n    \"ICT의 마지막 하방 BOS 레벨 $61,067.60과 Derivatives의 EMA120 $61,092.43, Harmonic의 bearish PRZ 감시권 $61,001.73-$61,337.07이 $61,000-$61,337 저항 클러스터를 형성함\",\n    \"Wyckoff SOW $60,363.00, Fibonacci ext_1.0 $60,363.00, Harmonic bullish PRZ 하단 반응권 $60,189.84-$60,519.22가 $60,190-$60,519 수요/반응 구간으로 중첩됨\",\n    \"Fibonacci ret_0.236 $60,554.28과 현재가 $60,563.90의 거리가 매우 가까워, 현 위치가 단기 지지 테스트 구간이라는 점에서 Fibonacci와 Harmonic이 일치함\",\n    \"Wyckoff AR $60,420.00, SOW $60,363.00, ICT range low $60,146.00, Harmonic Gartley D $60,146.00이 $60,146-$60,420 하단 구조 구간으로 겹침\",\n    \"ICT와 Wyckoff 모두 $59,080.00을 주요 하방 유동성/저점으로 인식함\",\n    \"Wyckoff LPSY $60,949.90, Fibonacci golden ratio $60,863.89, ICT EQ $60,810.50, Fibonacci EQ $60,768.25가 $60,768-$60,950의 공급/균형 회복 저항대를 형성함\"\n  ],\n  \"conflicts\": [\n    \"Harmonic은 strict high bullish Gartley 및 bullish Bat PRZ를 근거로 bullish 셋업을 제시하지만, ICT·Wyckoff·Derivatives는 구조와 체결 흐름 모두 bearish로 판단한다.\",\n    \"Fibonacci는 구조 자체는 $61,174 → $60,363 하락 스윙으로 bearish라고 보면서도, 현재가가 $60,554.28 지지와 $60,363.00 확장 레벨 근처라 단기 setup은 bullish 반등 후보로 본다.\",\n    \"Candlestick은 최근 bearish engulfing 후보가 우세해 신호는 bearish지만, morning star 및 bullish engulfing 후보도 있어 저점권 반등 가능성을 완전히 배제하지 않는다.\",\n    \"Derivatives는 OI 감소와 CVD 약화를 근거로 반등 신뢰도를 낮게 평가하지만, Harmonic은 이미 PRZ 방어와 AD 0.382 반응 도달을 확인된 bullish 반응으로 해석한다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 신뢰도 82%로 가장 높고, $63,040.00, $62,300.00, $61,067.60에서 3회 연속 하방 BOS라는 명확한 구조 증거를 제시한다. 또한 현재가가 EQ $60,810.50 및 EMA20 $60,654.64 아래에 머물러 있어 할인 구간임에도 반전 근거가 부족하다는 점을 구조와 실행 조건으로 분리해 가장 일관되게 설명한다.\",\n  \"invalidation_level\": \"$61,475.00 상회 및 수용 시 현재 분배 Phase D/하방 BOS 기반의 bearish 구조 판독이 약화되며, 보수적으로는 $61,985.10-$61,988.58 회복 시 구조적 무효화 위험이 커진다.\",\n  \"executive_summary\": \"현재 15분 BTC 구조는 Wyckoff 분배 Phase D에 가까우며, BC $62,310.00 → AR $60,420.00 → ST $61,985.10 → UT $61,475.00 → LPSY $60,949.90 → SOW $60,363.00의 이벤트 체인이 약세 레짐을 지지한다. ICT 역시 $63,040.00, $62,300.00, $61,067.60에서 연속 하방 BOS를 확인해 구조적 bias는 bearish로 정렬되어 있으며, 가격은 EMA20 $60,654.64와 EQ $60,810.50 아래에 있다. 다만 현재 위치는 Fibonacci $60,554.28 지지, Wyckoff/SOW $60,363.00, Harmonic bullish PRZ $59,997.31-$60,390.23 인근이어서 구조 약세 속 하단 반응 리스크가 존재한다. 핵심 구조 저항은 $60,949.90-$61,067.60이며, $61,475.00 회복 전까지는 분배 이후 약세 구조가 우세하다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.76,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.64,
    "waypoints": [
      {
        "seq": 1,
        "price": 60763.85,
        "type": "resistance_test",
        "source": "WP1 후보 테이블(fib_confluence strict, score 1.0), Fibonacci(ret_0.5 EQ $60,768.25), ICT(EQ $60,810.50), Harmonic(확정 Gartley 반응 후 TP $60,667.38-$60,860.65)",
        "description": "현재가 $60,563.90이 Fib ret_0.236 $60,554.28 지지와 Harmonic Gartley/Bat PRZ($59,997.31-$60,519.22) 상단에서 방어되며 단기 반등. 가장 가까운 strict fib_confluence $60,763.85(score 1.0)=ret_0.5 EQ $60,768.25 / ICT EQ $60,810.50 공급대 하단을 리테스트. EMA20 $60,654.64를 일시 회복하나 $60,768-$60,950 공급/균형 저항대(황금비 $60,863.89, LPSY $60,949.90)에서 매도 재유입으로 거부 예상. 구조·셋업 모두 약세이므로 이 반등은 마크다운 직전의 공급 리테스트 성격.",
        "est_hours": 3,
        "turning_zone": [
          60763.85,
          60863.89
        ],
        "likely_wick": 60810.5,
        "rejection_confirm": 60654.64,
        "invalid_overshoot": 60949.9,
        "calibration_reasoning": "기준 $60,763.85는 strict fib confluence(4중첩, score 1.0)로 반등 도달점이며, 그 위 ICT EQ 공급대 하단 $60,810.50과 황금비 0.618 $60,863.89가 turning_zone 상단(폭 약 0.45×ATR)을 형성. likely_wick은 공급대 첫 거부가 시작되는 ICT EQ $60,810.50로, EMA20 $60,654.64 재이탈 시 거부 확정, LPSY $60,949.90 돌파 시 약세 셋업 무효."
      },
      {
        "seq": 2,
        "price": 60363.0,
        "type": "support_test",
        "source": "Wyckoff(SOW $60,363.00, AR $60,420.00), Fibonacci(ext_1.0 $60,363.00), Derivatives(OI -2.77%/CVD -1234.74)",
        "description": "공급대 거부 후 분배 Phase D 약세 재개. Wyckoff SOW $60,363.00 + Fib ext_1.0 $60,363.00 및 AR $60,420.00 구조 구간 재시험. 가격이 EMA20 $60,654.64·EMA120 $61,092.43 아래 지속되고 OI 24h -2.77%·CVD -1234.74의 약한 매수 체결이 하방을 지지.",
        "est_hours": 8,
        "turning_zone": [
          60289.0,
          60363.0
        ],
        "likely_wick": 60354.53,
        "rejection_confirm": 60420.0,
        "invalid_overshoot": 60260.0,
        "calibration_reasoning": "SOW + Fib ext_1.0 $60,363.00이 존 상단을 캡하고, 직하의 Bat PRZ(strict, 사전확정 조건부) $60,354.53가 반응 앵커. 낮은 ATR(0.37%)을 반영해 존 폭은 약 0.33×ATR로 얕게 설정. AR $60,420.00 회복=지지 반응 확정, $60,260 이탈 시 WP3로 직행하며 이 지점은 무효."
      },
      {
        "seq": 3,
        "price": 60146.0,
        "type": "swing_low",
        "source": "ICT(range low $60,146.00), Harmonic(Gartley D $60,146.00, Bat PRZ 하단 $60,189.84), WP 후보 테이블(strict fib_confluence $60,010.70 score 0.85)",
        "description": "$60,363 SOW 이탈 시 ICT 레인지 저점 $60,146.00=Harmonic Gartley D 구간으로 하락. Harmonic Bat PRZ 하단 $60,189.84와 strict fib_confluence $60,010.70이 인접 지지대 형성. 이 구간 상실 시 7일 저점을 향한 유동성 사냥 가속.",
        "est_hours": 15,
        "turning_zone": [
          59997.31,
          60146.0
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60189.84,
        "invalid_overshoot": 59950.0,
        "calibration_reasoning": "Gartley D PRZ $60,146.00(strict, CONFIRMED_REACTION)이 존 상단, 하단은 fib confluence $60,010.70·체어맨 지지 $59,997.31·라운드넘버 $60,000 클러스터(약 0.66×ATR, 유동성 자석 포함 확장). 라운드넘버 편향으로 likely_wick=$60,000. Bat PRZ $60,189.84 회복=턴 확정, $59,950 이탈 시 WP4 향발로 무효."
      },
      {
        "seq": 4,
        "price": 59080.0,
        "type": "liquidity_sweep",
        "source": "ICT($59,080 7일/전일 저점 유동성), Derivatives($59,080 재시험 후 $58,300/$58,200), Wyckoff(SOW_IN_PHASE_B $59,451.30 경유), WP 후보 테이블(candidate $59,065.81)",
        "description": "Phase E 마크다운 가속. ICT·Derivatives·Wyckoff 공통 하방 유동성 타깃 $59,080.00(7일/전일 저점) 스윕. 경유 레벨은 Wyckoff SOW_IN_PHASE_B $59,451.30. 24h 윈도우 하단 극단치이며, 최근 변동성이 낮아 도달은 마크다운 가속을 전제로 하는 공격적 타깃. 추가 이탈 시 Derivatives $58,300-$58,200 노출.",
        "est_hours": 23,
        "turning_zone": [
          58920.0,
          59080.0
        ],
        "likely_wick": 59000.0,
        "rejection_confirm": 59451.3,
        "invalid_overshoot": 58800.0,
        "calibration_reasoning": "터미널 구간으로 약 0.71×ATR 확장. 7일/전일 저점 $59,080 + fib confluence $59,065.81(ext_2.618/1.0) 청산 유동성과 라운드넘버 $59,000 자석으로 likely_wick을 $59,000로 편향. 경유 Wyckoff SOW_Phase_B $59,451.30 회복=스윕 반전 확정, $58,800 이탈 시 Derivatives $58,300-$58,200 노출로 이 타깃 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60810.0,
        "expected_low": 60490.0,
        "high_first": false
      },
      "8h": {
        "expected_high": 60810.0,
        "expected_low": 60363.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 60810.0,
        "expected_low": 59080.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 61067.6,
        "description": "ICT 마지막 하방 BOS $61,067.60 + EMA120 $61,092.43 공급 클러스터를 종가 회복하면 약세 연속이 무력화되고, $61,475.00(Wyckoff UT) 상회 시 구조 반전 확정. 이 경우 본 마크다운 경로 폐기."
      },
      "bearish": {
        "price": 60363.0,
        "description": "Wyckoff SOW + Fib ext_1.0 $60,363.00을 종가 이탈하면 분배 Phase E 마크다운 확정 → $60,146.00 레인지 저점 및 $59,080.00 유동성 풀로 하방 가속. $60,146 이탈 시 추세 가속 강화."
      }
    },
    "scenario_invalidation": 61475.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.64,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60763.85,\n      \"type\": \"resistance_test\",\n      \"source\": \"WP1 후보 테이블(fib_confluence strict, score 1.0), Fibonacci(ret_0.5 EQ $60,768.25), ICT(EQ $60,810.50), Harmonic(확정 Gartley 반응 후 TP $60,667.38-$60,860.65)\",\n      \"description\": \"현재가 $60,563.90이 Fib ret_0.236 $60,554.28 지지와 Harmonic Gartley/Bat PRZ($59,997.31-$60,519.22) 상단에서 방어되며 단기 반등. 가장 가까운 strict fib_confluence $60,763.85(score 1.0)=ret_0.5 EQ $60,768.25 / ICT EQ $60,810.50 공급대 하단을 리테스트. EMA20 $60,654.64를 일시 회복하나 $60,768-$60,950 공급/균형 저항대(황금비 $60,863.89, LPSY $60,949.90)에서 매도 재유입으로 거부 예상. 구조·셋업 모두 약세이므로 이 반등은 마크다운 직전의 공급 리테스트 성격.\",\n      \"est_hours\": 3\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60363.00,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(SOW $60,363.00, AR $60,420.00), Fibonacci(ext_1.0 $60,363.00), Derivatives(OI -2.77%/CVD -1234.74)\",\n      \"description\": \"공급대 거부 후 분배 Phase D 약세 재개. Wyckoff SOW $60,363.00 + Fib ext_1.0 $60,363.00 및 AR $60,420.00 구조 구간 재시험. 가격이 EMA20 $60,654.64·EMA120 $61,092.43 아래 지속되고 OI 24h -2.77%·CVD -1234.74의 약한 매수 체결이 하방을 지지.\",\n      \"est_hours\": 8\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60146.00,\n      \"type\": \"swing_low\",\n      \"source\": \"ICT(range low $60,146.00), Harmonic(Gartley D $60,146.00, Bat PRZ 하단 $60,189.84), WP 후보 테이블(strict fib_confluence $60,010.70 score 0.85)\",\n      \"description\": \"$60,363 SOW 이탈 시 ICT 레인지 저점 $60,146.00=Harmonic Gartley D 구간으로 하락. Harmonic Bat PRZ 하단 $60,189.84와 strict fib_confluence $60,010.70이 인접 지지대 형성. 이 구간 상실 시 7일 저점을 향한 유동성 사냥 가속.\",\n      \"est_hours\": 15\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59080.00,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT($59,080 7일/전일 저점 유동성), Derivatives($59,080 재시험 후 $58,300/$58,200), Wyckoff(SOW_IN_PHASE_B $59,451.30 경유), WP 후보 테이블(candidate $59,065.81)\",\n      \"description\": \"Phase E 마크다운 가속. ICT·Derivatives·Wyckoff 공통 하방 유동성 타깃 $59,080.00(7일/전일 저점) 스윕. 경유 레벨은 Wyckoff SOW_IN_PHASE_B $59,451.30. 24h 윈도우 하단 극단치이며, 최근 변동성이 낮아 도달은 마크다운 가속을 전제로 하는 공격적 타깃. 추가 이탈 시 Derivatives $58,300-$58,200 노출.\",\n      \"est_hours\": 23\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60810.0, \"expected_low\": 60490.0, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 60810.0, \"expected_low\": 60363.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60810.0, \"expected_low\": 59080.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 61067.60,\n      \"description\": \"ICT 마지막 하방 BOS $61,067.60 + EMA120 $61,092.43 공급 클러스터를 종가 회복하면 약세 연속이 무력화되고, $61,475.00(Wyckoff UT) 상회 시 구조 반전 확정. 이 경우 본 마크다운 경로 폐기.\"\n    },\n    \"bearish\": {\n      \"price\": 60363.00,\n      \"description\": \"Wyckoff SOW + Fib ext_1.0 $60,363.00을 종가 이탈하면 분배 Phase E 마크다운 확정 → $60,146.00 레인지 저점 및 $59,080.00 유동성 풀로 하방 가속. $60,146 이탈 시 추세 가속 강화.\"\n    }\n  },\n  \"scenario_invalidation\": 61475.00\n}\n```\n\n**핵심 판단 요약**: 구조(76% 약세)와 실행 셋업(68% 약세)이 정렬되어 방향은 하방이지만, 현재가가 Fib $60,554 지지 + Harmonic PRZ($59,997-$60,519) 상단에서 방어 중이고 WP1 후보 테이블의 최근접 strict 레벨($60,763.85, score 1.0)이 위쪽에 있어, **공급 리테스트(반등) → 거부 → 마크다운**의 복합 경로로 설계했습니다. 반등은 저확신 반응, 마크다운($60,363→$60,146→$59,080)이 고확신 구조 이동입니다. $59,080은 ICT·Derivatives·Wyckoff 공통 타깃이나 최근 저변동성을 감안한 공격적 24h 극단치로, 이 불확실성을 confidence 0.64에 반영했습니다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60763.85,
        "turning_zone": [
          60763.85,
          60863.89
        ],
        "likely_wick": 60810.5,
        "rejection_confirm": 60654.64,
        "invalid_overshoot": 60949.9,
        "calibration_reasoning": "기준 $60,763.85는 strict fib confluence(4중첩, score 1.0)로 반등 도달점이며, 그 위 ICT EQ 공급대 하단 $60,810.50과 황금비 0.618 $60,863.89가 turning_zone 상단(폭 약 0.45×ATR)을 형성. likely_wick은 공급대 첫 거부가 시작되는 ICT EQ $60,810.50로, EMA20 $60,654.64 재이탈 시 거부 확정, LPSY $60,949.90 돌파 시 약세 셋업 무효."
      },
      {
        "seq": 2,
        "base_target": 60363.0,
        "turning_zone": [
          60289.0,
          60363.0
        ],
        "likely_wick": 60354.53,
        "rejection_confirm": 60420.0,
        "invalid_overshoot": 60260.0,
        "calibration_reasoning": "SOW + Fib ext_1.0 $60,363.00이 존 상단을 캡하고, 직하의 Bat PRZ(strict, 사전확정 조건부) $60,354.53가 반응 앵커. 낮은 ATR(0.37%)을 반영해 존 폭은 약 0.33×ATR로 얕게 설정. AR $60,420.00 회복=지지 반응 확정, $60,260 이탈 시 WP3로 직행하며 이 지점은 무효."
      },
      {
        "seq": 3,
        "base_target": 60146.0,
        "turning_zone": [
          59997.31,
          60146.0
        ],
        "likely_wick": 60000.0,
        "rejection_confirm": 60189.84,
        "invalid_overshoot": 59950.0,
        "calibration_reasoning": "Gartley D PRZ $60,146.00(strict, CONFIRMED_REACTION)이 존 상단, 하단은 fib confluence $60,010.70·체어맨 지지 $59,997.31·라운드넘버 $60,000 클러스터(약 0.66×ATR, 유동성 자석 포함 확장). 라운드넘버 편향으로 likely_wick=$60,000. Bat PRZ $60,189.84 회복=턴 확정, $59,950 이탈 시 WP4 향발로 무효."
      },
      {
        "seq": 4,
        "base_target": 59080.0,
        "turning_zone": [
          58920.0,
          59080.0
        ],
        "likely_wick": 59000.0,
        "rejection_confirm": 59451.3,
        "invalid_overshoot": 58800.0,
        "calibration_reasoning": "터미널 구간으로 약 0.71×ATR 확장. 7일/전일 저점 $59,080 + fib confluence $59,065.81(ext_2.618/1.0) 청산 유동성과 라운드넘버 $59,000 자석으로 likely_wick을 $59,000로 편향. 경유 Wyckoff SOW_Phase_B $59,451.30 회복=스윕 반전 확정, $58,800 이탈 시 Derivatives $58,300-$58,200 노출로 이 타깃 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60763.85,\n      \"turning_zone\": [60763.85, 60863.89],\n      \"likely_wick\": 60810.50,\n      \"rejection_confirm\": 60654.64,\n      \"invalid_overshoot\": 60949.90,\n      \"calibration_reasoning\": \"기준 $60,763.85는 strict fib confluence(4중첩, score 1.0)로 반등 도달점이며, 그 위 ICT EQ 공급대 하단 $60,810.50과 황금비 0.618 $60,863.89가 turning_zone 상단(폭 약 0.45×ATR)을 형성. likely_wick은 공급대 첫 거부가 시작되는 ICT EQ $60,810.50로, EMA20 $60,654.64 재이탈 시 거부 확정, LPSY $60,949.90 돌파 시 약세 셋업 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60363.00,\n      \"turning_zone\": [60289.00, 60363.00],\n      \"likely_wick\": 60354.53,\n      \"rejection_confirm\": 60420.00,\n      \"invalid_overshoot\": 60260.00,\n      \"calibration_reasoning\": \"SOW + Fib ext_1.0 $60,363.00이 존 상단을 캡하고, 직하의 Bat PRZ(strict, 사전확정 조건부) $60,354.53가 반응 앵커. 낮은 ATR(0.37%)을 반영해 존 폭은 약 0.33×ATR로 얕게 설정. AR $60,420.00 회복=지지 반응 확정, $60,260 이탈 시 WP3로 직행하며 이 지점은 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60146.00,\n      \"turning_zone\": [59997.31, 60146.00],\n      \"likely_wick\": 60000.00,\n      \"rejection_confirm\": 60189.84,\n      \"invalid_overshoot\": 59950.00,\n      \"calibration_reasoning\": \"Gartley D PRZ $60,146.00(strict, CONFIRMED_REACTION)이 존 상단, 하단은 fib confluence $60,010.70·체어맨 지지 $59,997.31·라운드넘버 $60,000 클러스터(약 0.66×ATR, 유동성 자석 포함 확장). 라운드넘버 편향으로 likely_wick=$60,000. Bat PRZ $60,189.84 회복=턴 확정, $59,950 이탈 시 WP4 향발로 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59080.00,\n      \"turning_zone\": [58920.00, 59080.00],\n      \"likely_wick\": 59000.00,\n      \"rejection_confirm\": 59451.30,\n      \"invalid_overshoot\": 58800.00,\n      \"calibration_reasoning\": \"터미널 구간으로 약 0.71×ATR 확장. 7일/전일 저점 $59,080 + fib confluence $59,065.81(ext_2.618/1.0) 청산 유동성과 라운드넘버 $59,000 자석으로 likely_wick을 $59,000로 편향. 경유 Wyckoff SOW_Phase_B $59,451.30 회복=스윕 반전 확정, $58,800 이탈 시 Derivatives $58,300-$58,200 노출로 이 타깃 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 27.6,
      "chairman": 41.4,
      "operating_path": 384.6,
      "tp_calibrator": 225.9
    },
    "agents": {},
    "total_s": 679.7
  }
}