BTC/USDT 15M Council Report

Signal: BEARISH (70%)  |  Price: $59,895.00  |  2026-06-29 21:00 KST  |  300 candles

Council: 0 bullish, 4 neutral, 2 bearish  |  Support: $59,836 / $59,820 / $59,750  |  Resistance: $59,932 / $59,959 / $59,966

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC/USDT 15분 구조는 중립 압축처럼 보이는 표면과 달리, Wyckoff의 이전 분배 완료 구간과 ICT의 최근 하향 BOS가 겹치며 bearish 구조 우위로 판독된다. 현재 위치는 이전 분배의 Phase D/SOW 이후, $59,360.30 저점에서 반등한 뒤 새로운 재분배 후보 구조의 SC–AR–ST–SOW 구간에 있으며, 아직 강한 bullish 재축적 전환은 확인되지 않았다. 핵심 구조 저항은 $60,174.60-$60,435.80, $60,543.30, $60,924.70이며, 특히 $60,219.40-$60,383.00 구간은 LPSY·OB·세션 고점이 중첩된 공급대다. 단기적으로 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05에는 피보나치·하모닉 반등 후보가 있어 하방 구조 안의 반응 리스크가 존재하지만, 이는 아직 구조 전환 신호라기보다 실행상 변동성 조건으로 분류된다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH78%$59,750 / $59,360$60,219 / $60,325
ICT TraderBEARISH78%$59,820 / $59,715$60,037 / $60,162
Derivatives TraderBEARISH62%$59,656 / $58,900$59,959 / $59,966
Candlestick ReaderBEARISH54%$59,888 / $59,656$59,959 / $59,966
Fibonacci AnalystNEUTRAL58%$59,836 / $59,808$59,932 / $60,000
Harmonic SpecialistNEUTRAL52%$59,888 / $59,767$60,009 / $60,039

Agent Details

Wyckoff Expert — BEARISH (78%)

Support: $59,750 / $59,360 / $58,388 | Resistance: $60,219 / $60,325 / $60,383 | Horizon: short to medium term

regime은 DIS이고 regime_fitness가 1.000으로 높으며, 확인된 분배 시퀀스는 BC $60,924.70, AR $60,383.00, ST $60,469.80, UTAD $60,543.30, LPSY $60,219.40, SOW $59,360.30로 읽힌다. 구조적으로는 Phase D의 하방 이탈 이후 상태이며, 현재가 $59,895.00는 메인 레인지 하단 $60,383.00 아래에 있어 분배 구조의 약세 해석이 우세하다. 다만 즉시 추가 급락 확정이라기보다는 $60,219.40~$60,383.00 공급대 재시험에 실패할 경우 $59,750.10, $59,360.30 재검증으로 이어지는 경로가 더 자연스럽다. 반대로 $60,543.30 UTAD 레벨을 회복하고 유지하면 현재의 Phase D 약세 판독은 크게 훼손된다.
ICT Trader — BEARISH (78%)

Support: $59,820 / $59,715 / $59,588 | Resistance: $60,037 / $60,162 / $60,175 | Horizon: 단기

확정 구조는 최근 BOS 시퀀스가 BOS_bullish 이후 CHoCH_bearish, BOS_bearish, CHoCH_bullish를 거쳐 최종적으로 60,037.00달러 하향 BOS를 만든 상태이므로 bearish로 판단한다. 현재가 59,895.00달러는 EQ 59,587.50달러 위의 프리미엄 구간이며, 60,174.60~60,435.80달러 bearish OB 후보가 바로 위에 있어 기관 매도 방어 구간으로 작동할 가능성이 높다. 특히 OB 내부 중간값 60,305.20달러와 뉴욕 세션 고점 60,325.00달러가 거의 겹쳐 있어, 이 구간 재진입 시 매도 유동성 유입을 확인해야 한다. 다만 최근 liquidity sweep과 미체결 FVG가 없고 OB도 confirmed가 아닌 candidate 상태이므로, 신호는 강하지만 완전한 확정형보다는 프리컨펌 셋업 성격이 강하다.
Derivatives Trader — BEARISH (62%)

Support: $59,656 / $58,900 / $58,388 | Resistance: $59,959 / $59,966 / $60,925 | Horizon: short term

확정 구조 관점에서는 BTC가 7일 고점 $60,924.70과 저점 $58,388.00 사이에서 움직이고 있으며, EMA20 $59,958.78, EMA120 $59,888.49, EMA240 $59,965.95가 모두 현재가 근처에 밀집해 있어 명확한 BOS나 CHoCH가 확인되지 않은 중립 구조다. 그러나 셋업 관점에서는 가격이 레인지 EQ $59,656.35 위 프리미엄에 있고, 롱 계정 비율이 0.678까지 올라 long crowding이 1.000으로 극단적이어서 단기 역추세 하방 셋업이 우세하다. OI가 24시간 +1.647% 증가했지만 CVD는 -4,304.97로 하락해 신규 포지션 유입이 가격 상승을 지지하지 못하고 있으며, 이는 4~8시간 선행성 기준으로 롱 청산 리스크를 키운다. 우선 하방 유동성은 $58,900, 그 아래 $58,388 및 $57,700-$57,500이며, 반대로 $60,924.70 위로 수용되면 하방 셋업은 약화되고 $62,300 청산 유동성까지 숏 스퀴즈가 열릴 수 있다.
Candlestick Reader — BEARISH (54%)

Support: $59,888 / $59,656 / $58,388 | Resistance: $59,959 / $59,966 / $60,925 | Horizon: short term

BTC/USDT 15분봉은 현재 $59,895.00으로 EMA120 $59,888.49 근처에 붙어 있으며, EMA20 $59,958.78과 EMA240 $59,965.95 아래에서 압축된 중립 구조를 보이고 있습니다. 명확한 BOS나 CHoCH, 구조적 수용이 확인되지 않았기 때문에 structure_bias는 중립으로 판단하지만, 가격이 7일 EQ $59,656.35 위 프리미엄 영역에 있고 EMA20/EMA240 저항을 회복하지 못해 setup_bias는 약한 bearish입니다. 최근 캔들 패턴은 bullish_engulfing@290과 bullish_harami@297도 있으나, evening_star@294 품질 0.640과 bearish_harami@293 품질 0.592가 더 높은 품질로 나타나 단기 상방 실패 가능성을 시사합니다. 다만 high_volume_patterns가 없고 bull_score 1.3500 대 bear_score 1.4000의 차이가 작아 강한 매도 확정 신호보다는 단기 하락 셋업에 가깝습니다.
Fibonacci Analyst — NEUTRAL (58%)

Support: $59,836 / $59,808 / $59,713 | Resistance: $59,932 / $60,000 / $60,068 | Horizon: short term

현재 BTC는 상승 스윙 $59,713 → $60,287 이후 되돌림 국면이며, 가격 $59,895는 핵심 0.618 골든비율 $59,932.18 바로 아래에서 테스트 중입니다. 구조적으로는 $60,287 상단 돌파나 $59,835.70 하단 이탈 같은 명확한 BOS/CHoCH가 확인되지 않아 structure_bias는 중립입니다. 다만 가격이 EQ ret_0.5 $59,999.95 아래의 할인 구간에 있고, 0.618~0.786 구간인 $59,932.18~$59,835.70에서 반응을 시도하고 있어 setup_bias는 사전 확인 단계의 bullish로 평가합니다. 단기적으로 $59,932.18을 회복하면 $59,999.95와 $60,067.72까지 반등 여지가 있으며, 반대로 $59,835.70 이탈 시 $59,808.08 confluence 및 스윙 저점 $59,713 재테스트 위험이 커집니다.
Harmonic Specialist — NEUTRAL (52%)

Support: $59,888 / $59,767 / $59,703 | Resistance: $60,009 / $60,039 / $60,129 | Horizon: short term

15분 BTC/USDT는 현재 $59,895로, bullish Bat $59,703.20-$60,039.05, bullish Gartley $59,766.59-$60,009.11, bullish Butterfly $59,700.93-$59,975.14가 겹치는 활성 고컨플루언스 PRZ 안에 있다. 다만 같은 가격대에 bearish Gartley PRZ $59,856.22-$60,128.74도 중첩되고, 확인된 bearish Bat 반응 PRZ $59,859.35-$60,398.56가 남아 있어 구조적으로는 확정 BOS/CHoCH 없이 중립으로 본다. 방향 점수는 bullish 1.776, bearish 1.630으로 bullish가 근소 우위지만 dominance가 0.043에 불과해 단독 방향 신호로 쓰기 어렵다. 따라서 구조_bias는 neutral, setup_bias는 현재 PRZ 방어 및 반등 후보가 우세한 bullish로 분리하며, 실제 매수 우위는 $60,016-$60,138 상향 회복 또는 15m/1h MSS 확인 후에만 강화된다.

Operating Path — complex (63%)

#PriceTypeSourceEst. HoursDescription
1$60,044resistance_testFibonacci(golden pocket $59,932.18-$59,835.70 / ret_0.5 $59,999.95), Candlestick(EMA20 $59,958.78·EMA240 $59,965.95), ICT(하향 BOS $60,037.00), Harmonic(bullish PRZ 방어)3.0현재가 $59,895가 피보나치 골든포켓 및 하모닉 bullish PRZ 내부에 있어 단기 되돌림 반등이 우선 전개될 구간. 가장 가까운 strict 피보나치 컨플루언스 $60,043.73(스코어 1.0)를 1차 목표로, EMA20 $59,958.78·EMA240 $59,965.95·ret_0.5 $59,999.95·ICT 하향 BOS $60,037.00이 밀집한 단기 상단 저항($59,950-$60,130)을 재시험. 핵심 공급대($60,174.60-$60,219.40 OB/LPSY)는 그 위에 위치하므로 이 구간을 회복·수용하지 못하면 '상단 공급대 재시험 실패'로 분배 약세가 재확인됨.
2$59,808support_testFibonacci(strict confluence $59,808.08 / 0.786 $59,835.70), ICT(하향 BOS $59,819.80)9.0상단 공급대 재시험 실패 후 하락 전환. 피보나치 0.786 $59,835.70 및 ICT 하향 BOS $59,819.80을 하향 이탈하며 strict 피보나치 컨플루언스 $59,808.08(스코어 0.85)을 테스트. 이는 골든포켓 bullish 셋업의 무효화이자 분배 약세 연속의 확인 신호로, EQ 하단으로의 경로를 개방.
3$59,656support_testCandlestick·Derivatives(7일 레인지 EQ $59,656.35 공통 지지), Wyckoff(경유 지지 $59,750.10)15.0Wyckoff 지지 $59,750.10을 경유해 7일 레인지 EQ $59,656.35 테스트. 이 레벨은 프리미엄/디스카운트 경계로, 하향 이탈 시 가격이 디스카운트로 진입하며 롱 과밀(롱 계정 0.678-0.686, OI +1.647%, CVD -4,304.97) 청산 압력이 가속될 수 있는 구간.
4$59,360liquidity_sweepWyckoff(SOW $59,360.30), ICT(뉴욕 세션 저점 $59,360.30), Derivatives(롱 청산 하방 유동성)22.0하방 핵심 컨플루언스인 Wyckoff SOW $59,360.30 = ICT 뉴욕 세션 저점 $59,360.30 동시 테스트. 분배 구조 Phase D의 SOW 재검증 및 하방 유동성 스윕이 24시간 1차 목표. 추가 이탈 시 $58,900(파생 하방 유동성)·$58,388(7일 저점)으로 확장 가능.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$59,836$60,044High first
8h$59,808$60,068High first
24h$59,360$60,068High first

Triggers

Invalidation: $60,543

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.63,
  "waypoints": [
    {
      "seq": 1,
      "price": 60043.73,
      "type": "resistance_test",
      "source": "Fibonacci(golden pocket $59,932.18-$59,835.70 / ret_0.5 $59,999.95), Candlestick(EMA20 $59,958.78·EMA240 $59,965.95), ICT(하향 BOS $60,037.00), Harmonic(bullish PRZ 방어)",
      "description": "현재가 $59,895가 피보나치 골든포켓 및 하모닉 bullish PRZ 내부에 있어 단기 되돌림 반등이 우선 전개될 구간. 가장 가까운 strict 피보나치 컨플루언스 $60,043.73(스코어 1.0)를 1차 목표로, EMA20 $59,958.78·EMA240 $59,965.95·ret_0.5 $59,999.95·ICT 하향 BOS $60,037.00이 밀집한 단기 상단 저항($59,950-$60,130)을 재시험. 핵심 공급대($60,174.60-$60,219.40 OB/LPSY)는 그 위에 위치하므로 이 구간을 회복·수용하지 못하면 '상단 공급대 재시험 실패'로 분배 약세가 재확인됨.",
      "est_hours": 3.0
    },
    {
      "seq": 2,
      "price": 59808.08,
      "type": "support_test",
      "source": "Fibonacci(strict confluence $59,808.08 / 0.786 $59,835.70), ICT(하향 BOS $59,819.80)",
      "description": "상단 공급대 재시험 실패 후 하락 전환. 피보나치 0.786 $59,835.70 및 ICT 하향 BOS $59,819.80을 하향 이탈하며 strict 피보나치 컨플루언스 $59,808.08(스코어 0.85)을 테스트. 이는 골든포켓 bullish 셋업의 무효화이자 분배 약세 연속의 확인 신호로, EQ 하단으로의 경로를 개방.",
      "est_hours": 9.0
    },
    {
      "seq": 3,
      "price": 59656.35,
      "type": "support_test",
      "source": "Candlestick·Derivatives(7일 레인지 EQ $59,656.35 공통 지지), Wyckoff(경유 지지 $59,750.10)",
      "description": "Wyckoff 지지 $59,750.10을 경유해 7일 레인지 EQ $59,656.35 테스트. 이 레벨은 프리미엄/디스카운트 경계로, 하향 이탈 시 가격이 디스카운트로 진입하며 롱 과밀(롱 계정 0.678-0.686, OI +1.647%, CVD -4,304.97) 청산 압력이 가속될 수 있는 구간.",
      "est_hours": 15.0
    },
    {
      "seq": 4,
      "price": 59360.30,
      "type": "liquidity_sweep",
      "source": "Wyckoff(SOW $59,360.30), ICT(뉴욕 세션 저점 $59,360.30), Derivatives(롱 청산 하방 유동성)",
      "description": "하방 핵심 컨플루언스인 Wyckoff SOW $59,360.30 = ICT 뉴욕 세션 저점 $59,360.30 동시 테스트. 분배 구조 Phase D의 SOW 재검증 및 하방 유동성 스윕이 24시간 1차 목표. 추가 이탈 시 $58,900(파생 하방 유동성)·$58,388(7일 저점)으로 확장 가능.",
      "est_hours": 22.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 60043.73, "expected_low": 59835.70, "high_first": true},
    "8h":  {"expected_high": 60067.72, "expected_low": 59808.08, "high_first": true},
    "24h": {"expected_high": 60067.72, "expected_low": 59360.30, "high_first": true}
  },
  "triggers": {
    "bullish": {
      "price": 60174.60,
      "description": "ICT bearish OB 하단 $60,174.60 위로의 수용(acceptance)이 발생하면 상단 공급대가 흡수되는 신호로, LPSY $60,219.40·OB 중간 $60,305.20·뉴욕 고점 $60,325.00을 거쳐 $60,435.80까지 숏 스퀴즈 가능성이 열리며 단기 약세 셋업이 약화됨."
    },
    "bearish": {
      "price": 59808.08,
      "description": "15분봉 기준 strict 피보나치 컨플루언스 $59,808.08 하향 종가 마감 시 골든포켓($59,835.70)·ICT 하향 BOS $59,819.80 동반 이탈로 확정되어, $59,656.35 EQ 및 $59,360.30 SOW를 향한 하락이 가속됨."
    }
  },
  "scenario_invalidation": 60543.30
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.70,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.74,
    "active_setups": [
      "ICT: 현재가 $59,895.00가 단기 EQ $59,587.50 위 프리미엄 구간에 있으며, 최근 $60,037.00 하향 BOS 이후 bearish 구조 셋업 유지",
      "Wyckoff: 이전 분배 구조의 BC $60,924.70 → UTAD $60,543.30 → LPSY $60,219.40 → SOW $59,360.30 순서가 확인되었고, 현재가는 메인 분배 하단 $60,383.00 아래",
      "Derivatives: 롱 계정 비율 0.678~0.686으로 롱 과밀, 24시간 OI +1.647% 증가 중 CVD -4,304.97로 신규 포지션 유입이 매수 주도력을 동반하지 못함",
      "Candlestick: 현재가가 EMA20 $59,958.78 및 EMA240 $59,965.95 아래에 있고, evening_star 품질 0.640 및 bearish_harami 품질 0.592가 단기 상단 실패 조건을 형성",
      "상단 공급 클러스터: ICT bearish OB $60,174.60-$60,435.80, Wyckoff LPSY $60,219.40, 뉴욕 세션 고점 $60,325.00, Wyckoff 메인 레인지 하단 $60,383.00이 밀집",
      "반대 조건: Fibonacci와 Harmonic은 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05 구간에서 bullish PRZ/골든포켓 반응 가능성을 제시"
    ],
    "setup_vs_structure": "실행 셋업은 구조와 대체로 정렬되어 bearish 우위다. 다만 현재 가격이 피보나치·하모닉 반등 후보 구간 내부에 있어, 즉시 추격보다는 상단 공급대 재시험 실패 또는 하단 지지 이탈 확인이 중요한 구간이다."
  },
  "signal_breakdown": {
    "bullish_count": 0,
    "bearish_count": 2,
    "neutral_count": 4
  },
  "key_levels": {
    "support": [
      59835.7,
      59819.8,
      59750.1,
      59656.35,
      59587.5,
      59360.3,
      58900,
      58388
    ],
    "resistance": [
      59932.18,
      59958.78,
      59965.95,
      60037,
      60174.6,
      60219.4,
      60305.2,
      60325,
      60435.8,
      60543.3,
      60924.7
    ]
  },
  "confluences": [
    "ICT와 Wyckoff 모두 $60,174.60-$60,435.80 / $60,219.40-$60,383.00 구간을 핵심 상단 공급·재매도 구간으로 해석한다.",
    "ICT의 bearish OB 중간값 $60,305.20, 뉴욕 세션 고점 $60,325.00, Wyckoff 메인 레인지 하단 $60,383.00이 $60.3k 부근에 밀집해 구조적 저항 클러스터를 형성한다.",
    "Candlestick의 EMA20 $59,958.78, EMA240 $59,965.95, Fibonacci ret_0.5 $59,999.95, Harmonic bearish Gartley PRZ $59,856.22-$60,128.74가 $59,950-$60,130 부근 단기 저항을 공통으로 지목한다.",
    "Wyckoff SOW $59,360.30과 ICT 뉴욕 세션 저점 $59,360.30이 동일 가격으로 겹치며, 이는 하단 구조 확인용 핵심 레벨이다.",
    "Derivatives의 하방 유동성 $58,900 및 7일 저점/공통 하단 지지 $58,388.00은 ICT·Wyckoff·Candlestick에서도 주요 하방 지지로 반복된다.",
    "Fibonacci ret_0.786 $59,835.70, ICT bearish BOS 레벨 $59,819.80, Harmonic bullish PRZ 중심 $59,887.85가 현재가 주변 $59.8k대에서 단기 반응 가능 구간을 형성한다."
  ],
  "conflicts": [
    "구조 진단에서 ICT와 Wyckoff는 bearish를 제시하지만, Candlestick·Derivatives·Fibonacci·Harmonic은 확정 구조만 보면 neutral에 가깝다고 본다. 이는 15분봉 내부 BOS 해석과 더 큰 분배 레인지 해석의 차이다.",
    "Fibonacci는 $59,932.18-$59,835.70 골든포켓 테스트를 bullish setup으로 해석하지만, ICT와 Wyckoff는 같은 위치를 프리미엄 내부의 약한 되돌림 또는 분배 후 하단 이탈 상태로 본다.",
    "Harmonic은 bullish Bat/Gartley/Butterfly PRZ가 $59,700-$60,039에 활성화되어 있다고 보지만, 동시에 bearish Gartley PRZ $59,856.22-$60,128.74와 확인된 bearish Bat 반응도 존재해 방향 우위가 약하다.",
    "Derivatives는 롱 계정 과밀과 CVD 약화를 bearish 리스크로 보지만, 펀딩 압력은 강하지 않고 basis도 극단적이지 않아 즉시 강제 청산형 구조로 단정하기는 어렵다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert: 확인된 분배 시퀀스가 BC $60,924.70 → AR $60,383.00 → ST $60,469.80 → UTAD $60,543.30 → LPSY $60,219.40 → SOW $59,360.30으로 구체적이며, 현재가가 메인 분배 하단 $60,383.00 아래에 있어 구조적 bearish 판독의 근거가 가장 명확하다.",
  "invalidation_level": "$60,543.30 지속 회복 시 bearish 분배 판독이 크게 훼손되며, $60,924.70 상회 수용 시 상위 구조의 bearish thesis는 무효화에 가깝다.",
  "executive_summary": "현재 BTC/USDT 15분 구조는 중립 압축처럼 보이는 표면과 달리, Wyckoff의 이전 분배 완료 구간과 ICT의 최근 하향 BOS가 겹치며 bearish 구조 우위로 판독된다. 현재 위치는 이전 분배의 Phase D/SOW 이후, $59,360.30 저점에서 반등한 뒤 새로운 재분배 후보 구조의 SC–AR–ST–SOW 구간에 있으며, 아직 강한 bullish 재축적 전환은 확인되지 않았다. 핵심 구조 저항은 $60,174.60-$60,435.80, $60,543.30, $60,924.70이며, 특히 $60,219.40-$60,383.00 구간은 LPSY·OB·세션 고점이 중첩된 공급대다. 단기적으로 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05에는 피보나치·하모닉 반등 후보가 있어 하방 구조 안의 반응 리스크가 존재하지만, 이는 아직 구조 전환 신호라기보다 실행상 변동성 조건으로 분류된다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-29 21:00 KST",
  "last_price": 59895.0,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.56,
      "setup_signals": [
        "현재가 $59,895.00는 7일 범위 EQ $59,656.35 위에 있어 약한 프리미엄 구간에 위치",
        "현재가가 EMA20 $59,958.78 및 EMA240 $59,965.95 아래에 있어 단기 상단 저항을 아직 회복하지 못함",
        "최근 패턴 후보 중 evening_star@294 품질 0.640, bearish_harami@293 품질 0.592로 단기 반락 신호가 우세",
        "bear_score 1.4000이 bull_score 1.3500보다 소폭 높아 매도 압력이 근소하게 우위",
        "고거래량 패턴이 없어 하락 전환은 확정이 아닌 사전 셋업 단계"
      ],
      "reasoning": "BTC/USDT 15분봉은 현재 $59,895.00으로 EMA120 $59,888.49 근처에 붙어 있으며, EMA20 $59,958.78과 EMA240 $59,965.95 아래에서 압축된 중립 구조를 보이고 있습니다. 명확한 BOS나 CHoCH, 구조적 수용이 확인되지 않았기 때문에 structure_bias는 중립으로 판단하지만, 가격이 7일 EQ $59,656.35 위 프리미엄 영역에 있고 EMA20/EMA240 저항을 회복하지 못해 setup_bias는 약한 bearish입니다. 최근 캔들 패턴은 bullish_engulfing@290과 bullish_harami@297도 있으나, evening_star@294 품질 0.640과 bearish_harami@293 품질 0.592가 더 높은 품질로 나타나 단기 상방 실패 가능성을 시사합니다. 다만 high_volume_patterns가 없고 bull_score 1.3500 대 bear_score 1.4000의 차이가 작아 강한 매도 확정 신호보다는 단기 하락 셋업에 가깝습니다.",
      "key_levels": {
        "support": [
          59888.49,
          59656.35,
          58388.0
        ],
        "resistance": [
          59958.78,
          59965.95,
          60924.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,164.00 15분 종가 상향 돌파",
      "risk_scenario": "가격이 EMA20 $59,958.78과 EMA240 $59,965.95를 회복한 뒤 $60,164.00 이상에서 15분봉 종가를 형성하면 bearish 셋업은 무효화되며, $60,924.70의 7일 고점 유동성 재테스트로 전환될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 155,
        "recent_patterns": 4,
        "pattern_list": [
          "bullish_engulfing@290",
          "evening_star@294",
          "bearish_harami@293",
          "bullish_harami@297"
        ],
        "atr_value": 197.46,
        "vol_avg_20": 1242.2,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.64,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.592,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.582,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.496,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.64,
        "bull_score": 1.35,
        "bear_score": 1.4
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"현재가 $59,895.00는 7일 범위 EQ $59,656.35 위에 있어 약한 프리미엄 구간에 위치\",\n    \"현재가가 EMA20 $59,958.78 및 EMA240 $59,965.95 아래에 있어 단기 상단 저항을 아직 회복하지 못함\",\n    \"최근 패턴 후보 중 evening_star@294 품질 0.640, bearish_harami@293 품질 0.592로 단기 반락 신호가 우세\",\n    \"bear_score 1.4000이 bull_score 1.3500보다 소폭 높아 매도 압력이 근소하게 우위\",\n    \"고거래량 패턴이 없어 하락 전환은 확정이 아닌 사전 셋업 단계\"\n  ],\n  \"reasoning\": \"BTC/USDT 15분봉은 현재 $59,895.00으로 EMA120 $59,888.49 근처에 붙어 있으며, EMA20 $59,958.78과 EMA240 $59,965.95 아래에서 압축된 중립 구조를 보이고 있습니다. 명확한 BOS나 CHoCH, 구조적 수용이 확인되지 않았기 때문에 structure_bias는 중립으로 판단하지만, 가격이 7일 EQ $59,656.35 위 프리미엄 영역에 있고 EMA20/EMA240 저항을 회복하지 못해 setup_bias는 약한 bearish입니다. 최근 캔들 패턴은 bullish_engulfing@290과 bullish_harami@297도 있으나, evening_star@294 품질 0.640과 bearish_harami@293 품질 0.592가 더 높은 품질로 나타나 단기 상방 실패 가능성을 시사합니다. 다만 high_volume_patterns가 없고 bull_score 1.3500 대 bear_score 1.4000의 차이가 작아 강한 매도 확정 신호보다는 단기 하락 셋업에 가깝습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59888.49,\n      59656.35,\n      58388.0\n    ],\n    \"resistance\": [\n      59958.78,\n      59965.95,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,164.00 15분 종가 상향 돌파\",\n  \"risk_scenario\": \"가격이 EMA20 $59,958.78과 EMA240 $59,965.95를 회복한 뒤 $60,164.00 이상에서 15분봉 종가를 형성하면 bearish 셋업은 무효화되며, $60,924.70의 7일 고점 유동성 재테스트로 전환될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.7,
      "setup_signals": [
        "가격 $59,895가 7일 레인지 EQ $59,656.35 위에 있어 소폭 프리미엄 구간에 위치",
        "롱 계정 비율 0.678, long_account_ratio 0.686으로 롱 포지셔닝 과밀(account_long_crowding 1.000)",
        "24시간 OI +1.647% 증가로 신규 포지션 유입 중이나 CVD는 -4,304.97로 매수 참여 약화",
        "basis -0.1018%, basis_change -0.0548로 선물 디스카운트가 확대되어 파생 수요가 약함",
        "가까운 하방 청산 유동성 $58,900이 현재가 $59,895 아래에 위치"
      ],
      "reasoning": "확정 구조 관점에서는 BTC가 7일 고점 $60,924.70과 저점 $58,388.00 사이에서 움직이고 있으며, EMA20 $59,958.78, EMA120 $59,888.49, EMA240 $59,965.95가 모두 현재가 근처에 밀집해 있어 명확한 BOS나 CHoCH가 확인되지 않은 중립 구조다. 그러나 셋업 관점에서는 가격이 레인지 EQ $59,656.35 위 프리미엄에 있고, 롱 계정 비율이 0.678까지 올라 long crowding이 1.000으로 극단적이어서 단기 역추세 하방 셋업이 우세하다. OI가 24시간 +1.647% 증가했지만 CVD는 -4,304.97로 하락해 신규 포지션 유입이 가격 상승을 지지하지 못하고 있으며, 이는 4~8시간 선행성 기준으로 롱 청산 리스크를 키운다. 우선 하방 유동성은 $58,900, 그 아래 $58,388 및 $57,700-$57,500이며, 반대로 $60,924.70 위로 수용되면 하방 셋업은 약화되고 $62,300 청산 유동성까지 숏 스퀴즈가 열릴 수 있다.",
      "key_levels": {
        "support": [
          59656.35,
          58900,
          58388,
          57700,
          57500,
          54000
        ],
        "resistance": [
          59958.78,
          59965.95,
          60924.7,
          62300,
          65900,
          66200
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,924.70 상방 돌파 및 15분봉 기준 구조적 수용",
      "risk_scenario": "$60,924.70 위로 가격이 안착하면 롱 과밀이 단기 하락으로 해소되지 않고 오히려 숏 커버링이 발생할 수 있으며, 이 경우 상방 청산 유동성 $62,300을 먼저 테스트한 뒤 $65,900-$66,200 구간까지 확장될 위험이 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -4304.97,
        "oi_trend": 0.665,
        "oi_change_pct_24h": 1.647,
        "oi_latest": 104582.983,
        "funding_pressure": 0.45,
        "funding_avg": 4.995e-05,
        "funding_change_24h": 3.014e-05,
        "long_account_ratio": 0.686,
        "short_account_ratio": 0.314,
        "long_account_latest": 0.678,
        "short_account_latest": 0.322,
        "long_account_change_24h": 0.0089,
        "short_account_change_24h": -0.0089,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.475,
        "spot_futures_basis_pct": -0.1018,
        "basis_change_lookback": -0.0548,
        "aggregate_score": 0.378,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            58900,
            1799.179605
          ],
          [
            57700,
            1714.789324
          ],
          [
            57500,
            1796.1738039999998
          ]
        ],
        "liq_above": [
          [
            62300,
            1796.1738039999998
          ],
          [
            65900,
            2245.217255
          ],
          [
            66200,
            1945.1559575
          ]
        ],
        "strongest_liq_level": 54000,
        "fragility_score": 0.695,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.70,\n  \"setup_signals\": [\n    \"가격 $59,895가 7일 레인지 EQ $59,656.35 위에 있어 소폭 프리미엄 구간에 위치\",\n    \"롱 계정 비율 0.678, long_account_ratio 0.686으로 롱 포지셔닝 과밀(account_long_crowding 1.000)\",\n    \"24시간 OI +1.647% 증가로 신규 포지션 유입 중이나 CVD는 -4,304.97로 매수 참여 약화\",\n    \"basis -0.1018%, basis_change -0.0548로 선물 디스카운트가 확대되어 파생 수요가 약함\",\n    \"가까운 하방 청산 유동성 $58,900이 현재가 $59,895 아래에 위치\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 BTC가 7일 고점 $60,924.70과 저점 $58,388.00 사이에서 움직이고 있으며, EMA20 $59,958.78, EMA120 $59,888.49, EMA240 $59,965.95가 모두 현재가 근처에 밀집해 있어 명확한 BOS나 CHoCH가 확인되지 않은 중립 구조다. 그러나 셋업 관점에서는 가격이 레인지 EQ $59,656.35 위 프리미엄에 있고, 롱 계정 비율이 0.678까지 올라 long crowding이 1.000으로 극단적이어서 단기 역추세 하방 셋업이 우세하다. OI가 24시간 +1.647% 증가했지만 CVD는 -4,304.97로 하락해 신규 포지션 유입이 가격 상승을 지지하지 못하고 있으며, 이는 4~8시간 선행성 기준으로 롱 청산 리스크를 키운다. 우선 하방 유동성은 $58,900, 그 아래 $58,388 및 $57,700-$57,500이며, 반대로 $60,924.70 위로 수용되면 하방 셋업은 약화되고 $62,300 청산 유동성까지 숏 스퀴즈가 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59656.35,\n      58900,\n      58388,\n      57700,\n      57500,\n      54000\n    ],\n    \"resistance\": [\n      59958.78,\n      59965.95,\n      60924.7,\n      62300,\n      65900,\n      66200\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,924.70 상방 돌파 및 15분봉 기준 구조적 수용\",\n  \"risk_scenario\": \"$60,924.70 위로 가격이 안착하면 롱 과밀이 단기 하락으로 해소되지 않고 오히려 숏 커버링이 발생할 수 있으며, 이 경우 상방 청산 유동성 $62,300을 먼저 테스트한 뒤 $65,900-$66,200 구간까지 확장될 위험이 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 59,895.00달러가 EQ 59,587.50달러 위에 있어 프리미엄 구간에 위치",
        "최근 구조 이벤트가 60,037.00달러 하향 BOS로 마감되어 단기 하방 구조 우위",
        "이전 60,162.00달러 하향 CHoCH 이후 59,819.80달러 하향 BOS가 발생",
        "60,174.60~60,435.80달러에 미체결 bearish OB 후보 존재, 중간값 60,305.20달러",
        "현재 되돌림이 78.5%로 깊은 프리미엄 되돌림 구간이며, bearish retracement_direction과 일치",
        "전일 저점 59,714.80달러는 이미 이탈했으나 전일 고점 60,924.70달러는 미돌파"
      ],
      "reasoning": "확정 구조는 최근 BOS 시퀀스가 BOS_bullish 이후 CHoCH_bearish, BOS_bearish, CHoCH_bullish를 거쳐 최종적으로 60,037.00달러 하향 BOS를 만든 상태이므로 bearish로 판단한다. 현재가 59,895.00달러는 EQ 59,587.50달러 위의 프리미엄 구간이며, 60,174.60~60,435.80달러 bearish OB 후보가 바로 위에 있어 기관 매도 방어 구간으로 작동할 가능성이 높다. 특히 OB 내부 중간값 60,305.20달러와 뉴욕 세션 고점 60,325.00달러가 거의 겹쳐 있어, 이 구간 재진입 시 매도 유동성 유입을 확인해야 한다. 다만 최근 liquidity sweep과 미체결 FVG가 없고 OB도 confirmed가 아닌 candidate 상태이므로, 신호는 강하지만 완전한 확정형보다는 프리컨펌 셋업 성격이 강하다.",
      "key_levels": {
        "support": [
          59819.8,
          59714.8,
          59587.5,
          59360.3,
          58850.0,
          58388.0
        ],
        "resistance": [
          60037.0,
          60162.0,
          60174.6,
          60305.2,
          60325.0,
          60435.8,
          60924.7
        ]
      },
      "time_horizon": "단기",
      "invalidation_level": "60,435.80달러 상방에서 15분봉 종가 수용이 나오면 bearish OB가 무효화되며, 현재 하방 셋업은 잘못된 것으로 판단",
      "risk_scenario": "가격이 60,174.60~60,435.80달러 bearish OB를 단순 터치 후 거절하지 않고 60,435.80달러 위로 안착하면, 숏 유동성 청산을 동반해 60,557.80달러 이전 bullish BOS 레벨 및 전일 고점 60,924.70달러까지 buy-side liquidity를 사냥하는 반대 시나리오가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 1,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 60174.6,
          "top": 60435.8,
          "quality": "candidate",
          "score": 0.615
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [
          {
            "type": "bearish_ob",
            "idx": 206,
            "top": 60435.8,
            "bottom": 60174.6,
            "mid": 60305.2,
            "quality": "candidate",
            "score": 0.615,
            "displacement_score": 0.522,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 60142.0,
              "top": 60213.2
            },
            "swept_level": null,
            "source_move_idx": 206,
            "proximity": "nearby"
          }
        ],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 58,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 60557.8
          },
          {
            "type": "CHoCH_bearish",
            "level": 60162.0
          },
          {
            "type": "BOS_bearish",
            "level": 59819.8
          },
          {
            "type": "CHoCH_bullish",
            "level": 60314.3
          },
          {
            "type": "BOS_bearish",
            "level": 60037.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 59587.5,
        "range_high": 60325.0,
        "range_low": 58850.0,
        "bull_score": 4.7,
        "bear_score": 10.669,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $60,162.00",
          "bearish BOS below $59,819.80",
          "bearish BOS below $60,037.00",
          "bearish OB candidate $60,174.60-$60,435.80 (nearby, score=0.61)",
          "deep retracement 78.5% in premium zone"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 78.5,
        "deepest_retracement_pct": 93.8,
        "previous_day_high": 60924.7,
        "previous_day_low": 59714.8,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 60325.0,
            "low": 59360.3
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 59,895.00달러가 EQ 59,587.50달러 위에 있어 프리미엄 구간에 위치\",\n    \"최근 구조 이벤트가 60,037.00달러 하향 BOS로 마감되어 단기 하방 구조 우위\",\n    \"이전 60,162.00달러 하향 CHoCH 이후 59,819.80달러 하향 BOS가 발생\",\n    \"60,174.60~60,435.80달러에 미체결 bearish OB 후보 존재, 중간값 60,305.20달러\",\n    \"현재 되돌림이 78.5%로 깊은 프리미엄 되돌림 구간이며, bearish retracement_direction과 일치\",\n    \"전일 저점 59,714.80달러는 이미 이탈했으나 전일 고점 60,924.70달러는 미돌파\"\n  ],\n  \"reasoning\": \"확정 구조는 최근 BOS 시퀀스가 BOS_bullish 이후 CHoCH_bearish, BOS_bearish, CHoCH_bullish를 거쳐 최종적으로 60,037.00달러 하향 BOS를 만든 상태이므로 bearish로 판단한다. 현재가 59,895.00달러는 EQ 59,587.50달러 위의 프리미엄 구간이며, 60,174.60~60,435.80달러 bearish OB 후보가 바로 위에 있어 기관 매도 방어 구간으로 작동할 가능성이 높다. 특히 OB 내부 중간값 60,305.20달러와 뉴욕 세션 고점 60,325.00달러가 거의 겹쳐 있어, 이 구간 재진입 시 매도 유동성 유입을 확인해야 한다. 다만 최근 liquidity sweep과 미체결 FVG가 없고 OB도 confirmed가 아닌 candidate 상태이므로, 신호는 강하지만 완전한 확정형보다는 프리컨펌 셋업 성격이 강하다.\",\n  \"key_levels\": {\n    \"support\": [\n      59819.8,\n      59714.8,\n      59587.5,\n      59360.3,\n      58850.0,\n      58388.0\n    ],\n    \"resistance\": [\n      60037.0,\n      60162.0,\n      60174.6,\n      60305.2,\n      60325.0,\n      60435.8,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"단기\",\n  \"invalidation_level\": \"60,435.80달러 상방에서 15분봉 종가 수용이 나오면 bearish OB가 무효화되며, 현재 하방 셋업은 잘못된 것으로 판단\",\n  \"risk_scenario\": \"가격이 60,174.60~60,435.80달러 bearish OB를 단순 터치 후 거절하지 않고 60,435.80달러 위로 안착하면, 숏 유동성 청산을 동반해 60,557.80달러 이전 bullish BOS 레벨 및 전일 고점 60,924.70달러까지 buy-side liquidity를 사냥하는 반대 시나리오가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.65,
      "setup_signals": [
        "가격 $59,895가 EQ ret_0.5 $59,999.95 아래에 있어 단기 할인 구간에 위치",
        "0.618 골든비율 $59,932.18과 0.786 $59,835.70 사이의 골든 포켓을 테스트 중",
        "nearest_fib가 ret_0.618 $59,932.18이며 현재가와의 거리 0.06%로 반응 가능 구간",
        "하단 confluence zone $59,808.08에 ret_0.5, ret_0.786, ret_0.618 계열 3개 레벨이 중첩되어 단기 수요 후보",
        "상단 $60,043.73 confluence zone에 4개 피보나치 레벨이 밀집해 있어 회복 시 1차 저항/확인 구간"
      ],
      "reasoning": "현재 BTC는 상승 스윙 $59,713 → $60,287 이후 되돌림 국면이며, 가격 $59,895는 핵심 0.618 골든비율 $59,932.18 바로 아래에서 테스트 중입니다. 구조적으로는 $60,287 상단 돌파나 $59,835.70 하단 이탈 같은 명확한 BOS/CHoCH가 확인되지 않아 structure_bias는 중립입니다. 다만 가격이 EQ ret_0.5 $59,999.95 아래의 할인 구간에 있고, 0.618~0.786 구간인 $59,932.18~$59,835.70에서 반응을 시도하고 있어 setup_bias는 사전 확인 단계의 bullish로 평가합니다. 단기적으로 $59,932.18을 회복하면 $59,999.95와 $60,067.72까지 반등 여지가 있으며, 반대로 $59,835.70 이탈 시 $59,808.08 confluence 및 스윙 저점 $59,713 재테스트 위험이 커집니다.",
      "key_levels": {
        "support": [
          59835.7,
          59808.08,
          59713
        ],
        "resistance": [
          59932.18,
          59999.95,
          60067.72,
          60287.1,
          60443.31
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,835.70",
      "risk_scenario": "$59,835.70의 0.786 되돌림 지지선이 깨지면 골든 포켓 반등 셋업은 무효화되며, $59,808.08 confluence를 거쳐 스윙 저점 $59,713까지 하락 확장이 열릴 수 있습니다. 특히 $59,713마저 이탈하면 기존 상승 스윙의 되돌림이 아니라 구조적 약세 전환으로 해석될 가능성이 커집니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $59,713 → $60,287",
        "direction": "up",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 59932.18,
        "nearest_fib_distance": 0.06,
        "golden_ratio_level": 59932.18,
        "fib_ret_382": 60067.72,
        "fib_ret_618": 59932.18,
        "confluence_zones": [
          {
            "price": 60043.73,
            "count": 4,
            "levels": [
              "ret_0.382",
              "ret_0.5",
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60395.33,
            "count": 4,
            "levels": [
              "ext_1.0",
              "ret_0.236",
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59808.08,
            "count": 3,
            "levels": [
              "ret_0.5",
              "ret_0.786",
              "ret_0.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 60809.37,
            "count": 3,
            "levels": [
              "ext_1.618",
              "ext_2.0",
              "ext_1.0"
            ],
            "cluster_score": 0.85
          }
        ],
        "support_levels": [
          59835.7002
        ],
        "resistance_levels": [
          59932.1826,
          59999.95,
          60067.7174
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60151.57,
            "distance_pct": 0.43,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60067.72,
            "distance_pct": 0.29,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 59999.95,
            "distance_pct": 0.18,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 59932.18,
            "distance_pct": 0.06,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 59835.7,
            "distance_pct": 0.1,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 60287.1,
            "distance_pct": 0.65,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 60443.31,
            "distance_pct": 0.92,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 60524.86,
            "distance_pct": 1.05,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 60642.02,
            "distance_pct": 1.25,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 60861.4,
            "distance_pct": 1.61,
            "is_support": false,
            "cluster_score": 0.85
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"가격 $59,895가 EQ ret_0.5 $59,999.95 아래에 있어 단기 할인 구간에 위치\",\n    \"0.618 골든비율 $59,932.18과 0.786 $59,835.70 사이의 골든 포켓을 테스트 중\",\n    \"nearest_fib가 ret_0.618 $59,932.18이며 현재가와의 거리 0.06%로 반응 가능 구간\",\n    \"하단 confluence zone $59,808.08에 ret_0.5, ret_0.786, ret_0.618 계열 3개 레벨이 중첩되어 단기 수요 후보\",\n    \"상단 $60,043.73 confluence zone에 4개 피보나치 레벨이 밀집해 있어 회복 시 1차 저항/확인 구간\"\n  ],\n  \"reasoning\": \"현재 BTC는 상승 스윙 $59,713 → $60,287 이후 되돌림 국면이며, 가격 $59,895는 핵심 0.618 골든비율 $59,932.18 바로 아래에서 테스트 중입니다. 구조적으로는 $60,287 상단 돌파나 $59,835.70 하단 이탈 같은 명확한 BOS/CHoCH가 확인되지 않아 structure_bias는 중립입니다. 다만 가격이 EQ ret_0.5 $59,999.95 아래의 할인 구간에 있고, 0.618~0.786 구간인 $59,932.18~$59,835.70에서 반응을 시도하고 있어 setup_bias는 사전 확인 단계의 bullish로 평가합니다. 단기적으로 $59,932.18을 회복하면 $59,999.95와 $60,067.72까지 반등 여지가 있으며, 반대로 $59,835.70 이탈 시 $59,808.08 confluence 및 스윙 저점 $59,713 재테스트 위험이 커집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59835.7,\n      59808.08,\n      59713\n    ],\n    \"resistance\": [\n      59932.18,\n      59999.95,\n      60067.72,\n      60287.1,\n      60443.31\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,835.70\",\n  \"risk_scenario\": \"$59,835.70의 0.786 되돌림 지지선이 깨지면 골든 포켓 반등 셋업은 무효화되며, $59,808.08 confluence를 거쳐 스윙 저점 $59,713까지 하락 확장이 열릴 수 있습니다. 특히 $59,713마저 이탈하면 기존 상승 스윙의 되돌림이 아니라 구조적 약세 전환으로 해석될 가능성이 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "확정 분배 구조: BC $60,924.70 → AR $60,383.00 이후 UTAD $60,543.30, LPSY $60,219.40, SOW $59,360.30 순서로 Phase D 약세 진행",
        "현재가 $59,895.00는 메인 분배 범위 하단 $60,383.00 아래에 위치하여 하단 이탈 후 재진입 실패 상태",
        "LPSY $60,219.40 및 반등 고점 $60,325.00 아래에서 가격이 머물며 공급 우위 유지",
        "EMA20 $59,958.78, EMA240 $59,965.95 부근을 현재가가 하회하며 단기 회복 탄력 제한",
        "하방 유동성 기준은 최근 SOW 저점 $59,360.30 및 7일 저점 $58,388.00"
      ],
      "reasoning": "regime은 DIS이고 regime_fitness가 1.000으로 높으며, 확인된 분배 시퀀스는 BC $60,924.70, AR $60,383.00, ST $60,469.80, UTAD $60,543.30, LPSY $60,219.40, SOW $59,360.30로 읽힌다. 구조적으로는 Phase D의 하방 이탈 이후 상태이며, 현재가 $59,895.00는 메인 레인지 하단 $60,383.00 아래에 있어 분배 구조의 약세 해석이 우세하다. 다만 즉시 추가 급락 확정이라기보다는 $60,219.40~$60,383.00 공급대 재시험에 실패할 경우 $59,750.10, $59,360.30 재검증으로 이어지는 경로가 더 자연스럽다. 반대로 $60,543.30 UTAD 레벨을 회복하고 유지하면 현재의 Phase D 약세 판독은 크게 훼손된다.",
      "key_levels": {
        "support": [
          59750.1,
          59360.3,
          58388.0
        ],
        "resistance": [
          60219.4,
          60325.0,
          60383.0,
          60543.3,
          60924.7
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$60,543.30 상향 회복 및 유지",
      "risk_scenario": "가격이 $60,219.40 LPSY와 $60,383.00 메인 레인지 하단을 회복한 뒤 $60,543.30 UTAD 위에서 수용되면, 현재 SOW 이후 약세 지속 시나리오는 실패하고 분배 하단 이탈이 bear trap 또는 재흡수 구조로 전환될 수 있다. 그 경우 $60,924.70 BC 고점 재시험까지 반등 리스크가 열린다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 122,
            "price": 60924.7,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 128,
            "price": 60383.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 146,
            "price": 60469.8,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 165,
            "price": 60017.2,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 170,
            "price": 60250.4,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 190,
            "price": 60543.3,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 265,
            "price": 60219.4,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 272,
            "price": 59360.3,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 122,
            "end_idx": 272,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 122,
                "price": 60924.7,
                "color": "#ffd166",
                "dt": "2026-06-28 00:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 128,
                "price": 60383.0,
                "color": "#06d6a0",
                "dt": "2026-06-28 02:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 146,
                "price": 60469.8,
                "color": "#118ab2",
                "dt": "2026-06-28 06:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 165,
                "price": 60017.2,
                "color": "#ef476f",
                "dt": "2026-06-28 11:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 170,
                "price": 60250.4,
                "color": "#f9844a",
                "dt": "2026-06-28 12:30:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 190,
                "price": 60543.3,
                "color": "#f9844a",
                "dt": "2026-06-28 17:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 265,
                "price": 60219.4,
                "color": "#8338ec",
                "dt": "2026-06-29 12:15:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 272,
                "price": 59360.3,
                "color": "#ef476f",
                "dt": "2026-06-29 14:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 272,
            "end_idx": 298,
            "phase_count": 4,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 272,
                "price": 59360.3,
                "color": "#ffd166",
                "dt": "2026-06-29 14:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 277,
                "price": 60325.0,
                "color": "#06d6a0",
                "dt": "2026-06-29 15:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 289,
                "price": 59750.1,
                "color": "#118ab2",
                "dt": "2026-06-29 18:15:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 298,
                "price": 59784.0,
                "color": "#ef476f",
                "dt": "2026-06-29 20:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 60383.0,
        "main_range_high": 60924.7
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"확정 분배 구조: BC $60,924.70 → AR $60,383.00 이후 UTAD $60,543.30, LPSY $60,219.40, SOW $59,360.30 순서로 Phase D 약세 진행\",\n    \"현재가 $59,895.00는 메인 분배 범위 하단 $60,383.00 아래에 위치하여 하단 이탈 후 재진입 실패 상태\",\n    \"LPSY $60,219.40 및 반등 고점 $60,325.00 아래에서 가격이 머물며 공급 우위 유지\",\n    \"EMA20 $59,958.78, EMA240 $59,965.95 부근을 현재가가 하회하며 단기 회복 탄력 제한\",\n    \"하방 유동성 기준은 최근 SOW 저점 $59,360.30 및 7일 저점 $58,388.00\"\n  ],\n  \"reasoning\": \"regime은 DIS이고 regime_fitness가 1.000으로 높으며, 확인된 분배 시퀀스는 BC $60,924.70, AR $60,383.00, ST $60,469.80, UTAD $60,543.30, LPSY $60,219.40, SOW $59,360.30로 읽힌다. 구조적으로는 Phase D의 하방 이탈 이후 상태이며, 현재가 $59,895.00는 메인 레인지 하단 $60,383.00 아래에 있어 분배 구조의 약세 해석이 우세하다. 다만 즉시 추가 급락 확정이라기보다는 $60,219.40~$60,383.00 공급대 재시험에 실패할 경우 $59,750.10, $59,360.30 재검증으로 이어지는 경로가 더 자연스럽다. 반대로 $60,543.30 UTAD 레벨을 회복하고 유지하면 현재의 Phase D 약세 판독은 크게 훼손된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59750.1,\n      59360.3,\n      58388.0\n    ],\n    \"resistance\": [\n      60219.4,\n      60325.0,\n      60383.0,\n      60543.3,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$60,543.30 상향 회복 및 유지\",\n  \"risk_scenario\": \"가격이 $60,219.40 LPSY와 $60,383.00 메인 레인지 하단을 회복한 뒤 $60,543.30 UTAD 위에서 수용되면, 현재 SOW 이후 약세 지속 시나리오는 실패하고 분배 하단 이탈이 bear trap 또는 재흡수 구조로 전환될 수 있다. 그 경우 $60,924.70 BC 고점 재시험까지 반등 리스크가 열린다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $59,895가 고품질 bullish Bat 형성 PRZ $59,703.20-$60,039.05 내부에 위치, D 예상가 $59,871.13 근접",
        "고품질 bullish Gartley 형성 PRZ $59,766.59-$60,009.11 내부에 위치, 최근접 PRZ 중심 $59,887.85와 현재가 차이 약 -0.01%",
        "고품질 bullish Butterfly 형성 PRZ $59,700.93-$59,975.14 내부에 위치, D 예상가 $59,838.03",
        "하단 추가 bullish Bat PRZ $59,456.70-$59,799.33 및 bullish Crab PRZ $59,302.95-$59,693.60가 반응 후보 지지대로 대기",
        "반대편으로 bearish Gartley 형성 PRZ $59,856.22-$60,128.74도 현재가와 중첩되어 있어 즉시 방향성 확정은 제한됨"
      ],
      "reasoning": "15분 BTC/USDT는 현재 $59,895로, bullish Bat $59,703.20-$60,039.05, bullish Gartley $59,766.59-$60,009.11, bullish Butterfly $59,700.93-$59,975.14가 겹치는 활성 고컨플루언스 PRZ 안에 있다. 다만 같은 가격대에 bearish Gartley PRZ $59,856.22-$60,128.74도 중첩되고, 확인된 bearish Bat 반응 PRZ $59,859.35-$60,398.56가 남아 있어 구조적으로는 확정 BOS/CHoCH 없이 중립으로 본다. 방향 점수는 bullish 1.776, bearish 1.630으로 bullish가 근소 우위지만 dominance가 0.043에 불과해 단독 방향 신호로 쓰기 어렵다. 따라서 구조_bias는 neutral, setup_bias는 현재 PRZ 방어 및 반등 후보가 우세한 bullish로 분리하며, 실제 매수 우위는 $60,016-$60,138 상향 회복 또는 15m/1h MSS 확인 후에만 강화된다.",
      "key_levels": {
        "support": [
          59887.85,
          59766.59,
          59703.2,
          59628.02,
          59456.7,
          59302.95
        ],
        "resistance": [
          60009.11,
          60039.05,
          60128.74,
          60138.23,
          60250.4,
          60303.2,
          60435.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "15분 종가가 $59,456.70 아래에서 확정되면 현재 bullish PRZ 기반 반등 셋업은 무효화된다.",
      "risk_scenario": "가격이 $60,009-$60,128 상단 중첩 PRZ를 회복하지 못하고 bearish Gartley/Bat 공급 반응이 강화되면 $59,699, $59,517, 최종 $59,224.60 방향으로 하락 TP 래더가 재활성화될 수 있다. 반대로 $60,138 이상을 회복하고 유지하면 bullish Gartley/Bat의 TP2 구간 $60,105-$60,293 및 $60,250-$60,303 유동성 재방문 가능성이 커진다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 48,
        "completed_patterns_found": 19,
        "forming_d_prz_found": 29,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 61,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 31,
        "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": 12,
          "medium": 22,
          "low": 14
        },
        "prz_status_counts": {
          "active": 22,
          "nearby": 11,
          "watch": 11,
          "far": 4,
          "forming": 4
        },
        "high_confluence_prz_count": 32,
        "strict_patterns_found": 31,
        "candidate_patterns_found": 17,
        "active_patterns_at_prz": 22,
        "nearby_patterns": 11,
        "all_patterns": [
          "bat",
          "bat",
          "gartley",
          "bat",
          "bat",
          "shark",
          "shark",
          "crab",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "bat",
          "gartley",
          "crab",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "gartley",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "shark",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "crab"
        ],
        "all_signals": [
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.97,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 59887.85,
        "price_to_prz": -0.01,
        "prz_range": [
          59766.59,
          60009.11
        ],
        "council_relevant_prz_count": 13,
        "directional_influence_prz_count": 13,
        "confirmed_reaction_prz_count": 5,
        "validated_harmonic_tp_count": 5,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0399,
            "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": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.01,
            "price_to_prz_pct_raw": -0.0119,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 190,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 206,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.45,
            "price_to_prz_pct_raw": -0.4458,
            "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": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 186,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 1.0,
            "prz_score": 0.978,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59498.28,
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_width_pct": 0.657,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.66,
            "price_to_prz_pct_raw": -0.6624,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.7207
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59992.48,
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.16,
            "price_to_prz_pct_raw": 0.1627,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 0.7722
            },
            "x_price": 60228.5,
            "x_idx": 213,
            "x_order": 3,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59820.4,
            "b_idx": 250,
            "b_order": 5,
            "c_price": 59360.3,
            "c_idx": 272,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59838.03,
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_width_pct": 0.458,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.1,
            "price_to_prz_pct_raw": -0.0951,
            "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": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7612,
              "ABC": 0.6906
            },
            "x_price": 59950.0,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 60314.3,
            "a_idx": 165,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.899,
            "ratio_score": 0.925,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60330.21,
            "prz_range": [
              60254.01,
              60406.41
            ],
            "prz_width_pct": 0.253,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7266,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60330.21,
              "a_price": 59913.9,
              "tp1_ad_382": 60171.18,
              "tp2_ad_618": 60072.93,
              "tp3_a_or_structure_liquidity": 59913.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6053,
              "ABC": 0.6342
            },
            "x_price": 60469.8,
            "x_idx": 146,
            "x_order": 8,
            "a_price": 59913.9,
            "a_idx": 153,
            "a_order": 3,
            "b_price": 60250.4,
            "b_idx": 170,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 197,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.898,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60287.1,
            "prz_range": [
              60236.72,
              60507.62
            ],
            "prz_width_pct": 0.449,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7967,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "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.486,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60372.17,
              "a_price": 59224.6,
              "tp1_ad_382": 59933.8,
              "tp2_ad_618": 59662.97,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3744,
              "ABC": 0.4908,
              "BCD": 1.7358,
              "XAD": 0.8772
            },
            "x_price": 60435.8,
            "x_idx": 206,
            "x_order": 8,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59678.1,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 59900.7,
            "c_idx": 280,
            "c_order": 3,
            "d_idx": 292
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.899,
            "ratio_score": 0.981,
            "prz_score": 0.885,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60287.1,
            "prz_range": [
              59859.35,
              60398.56
            ],
            "prz_width_pct": 0.897,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3906,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.486,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60128.96,
              "a_price": 59224.6,
              "tp1_ad_382": 59783.49,
              "tp2_ad_618": 59570.06,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4319,
              "ABC": 0.7406,
              "BCD": 2.3924,
              "XAD": 0.8772
            },
            "x_price": 60435.8,
            "x_idx": 206,
            "x_order": 8,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59747.7,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 59360.3,
            "c_idx": 272,
            "c_order": 8,
            "d_idx": 292
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.898,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60287.1,
            "prz_range": [
              60236.72,
              60507.62
            ],
            "prz_width_pct": 0.449,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7967,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "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.486,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60372.17,
              "a_price": 59224.6,
              "tp1_ad_382": 59933.8,
              "tp2_ad_618": 59662.97,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3744,
              "ABC": 0.4908,
              "BCD": 1.7358,
              "XAD": 0.8772
            },
            "x_price": 60435.8,
            "x_idx": 206,
            "x_order": 8,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59678.1,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 59900.7,
            "c_idx": 280,
            "c_order": 3,
            "d_idx": 292
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.895,
            "ratio_score": 0.876,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59934.3,
            "prz_range": [
              59849.11,
              60010.86
            ],
            "prz_width_pct": 0.27,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0584,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.798,
                "adverse_move_ratio_ad": 0.443,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59929.98,
              "a_price": 60303.2,
              "tp1_ad_382": 60072.55,
              "tp2_ad_618": 60160.63,
              "tp3_a_or_structure_liquidity": 60303.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5916,
              "ABC": 0.8154,
              "BCD": 1.3555,
              "XAD": 0.7631
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60303.2,
            "a_idx": 152,
            "a_order": 5,
            "b_price": 60017.2,
            "b_idx": 165,
            "b_order": 3,
            "c_price": 60250.4,
            "c_idx": 170,
            "c_order": 3,
            "d_idx": 208
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.894,
            "ratio_score": 0.942,
            "prz_score": 0.976,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59360.3,
            "prz_range": [
              59302.95,
              59696.9
            ],
            "prz_width_pct": 0.662,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.66,
            "price_to_prz_pct_raw": -0.6596,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.088,
                "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": "crab",
              "d_price": 59499.93,
              "a_price": 60247.1,
              "tp1_ad_382": 59785.35,
              "tp2_ad_618": 59961.68,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732,
              "BCD": 3.3999,
              "XAD": 1.666
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 186,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": 272
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.927,
            "prz_score": 0.996,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60435.8,
            "prz_range": [
              60242.73,
              60611.21
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.89,
            "price_to_prz_pct_raw": 0.8882,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.395,
                "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": "bearish",
              "source": "butterfly",
              "d_price": 60426.97,
              "a_price": 60017.2,
              "tp1_ad_382": 60270.44,
              "tp2_ad_618": 60173.73,
              "tp3_a_or_structure_liquidity": 60017.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8038,
              "ABC": 0.9139,
              "BCD": 1.8981,
              "XAD": 1.4636
            },
            "x_price": 60303.2,
            "x_idx": 152,
            "x_order": 5,
            "a_price": 60017.2,
            "a_idx": 165,
            "a_order": 3,
            "b_price": 60247.1,
            "b_idx": 186,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 197,
            "c_order": 8,
            "d_idx": 206
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0399,
            "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": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.01,
            "price_to_prz_pct_raw": -0.0119,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 190,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 206,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.45,
            "price_to_prz_pct_raw": -0.4458,
            "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": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 186,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 1.0,
            "prz_score": 0.978,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59498.28,
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_width_pct": 0.657,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.66,
            "price_to_prz_pct_raw": -0.6624,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.7207
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59992.48,
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.16,
            "price_to_prz_pct_raw": 0.1627,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 0.7722
            },
            "x_price": 60228.5,
            "x_idx": 213,
            "x_order": 3,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59820.4,
            "b_idx": 250,
            "b_order": 5,
            "c_price": 59360.3,
            "c_idx": 272,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0399,
            "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": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.01,
            "price_to_prz_pct_raw": -0.0119,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 190,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 206,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.45,
            "price_to_prz_pct_raw": -0.4458,
            "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": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 177,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 186,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 1.0,
            "prz_score": 0.978,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59498.28,
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_width_pct": 0.657,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.66,
            "price_to_prz_pct_raw": -0.6624,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.7207
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59992.48,
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.16,
            "price_to_prz_pct_raw": 0.1627,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 0.7722
            },
            "x_price": 60228.5,
            "x_idx": 213,
            "x_order": 3,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59820.4,
            "b_idx": 250,
            "b_order": 5,
            "c_price": 59360.3,
            "c_idx": 272,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59838.03,
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_width_pct": 0.458,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.1,
            "price_to_prz_pct_raw": -0.0951,
            "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": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7612,
              "ABC": 0.6906
            },
            "x_price": 59950.0,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 60314.3,
            "a_idx": 165,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 197,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 213,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.899,
            "ratio_score": 0.925,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60330.21,
            "prz_range": [
              60254.01,
              60406.41
            ],
            "prz_width_pct": 0.253,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7266,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60330.21,
              "a_price": 59913.9,
              "tp1_ad_382": 60171.18,
              "tp2_ad_618": 60072.93,
              "tp3_a_or_structure_liquidity": 59913.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6053,
              "ABC": 0.6342
            },
            "x_price": 60469.8,
            "x_idx": 146,
            "x_order": 8,
            "a_price": 59913.9,
            "a_idx": 153,
            "a_order": 3,
            "b_price": 60250.4,
            "b_idx": 170,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 197,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.898,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60287.1,
            "prz_range": [
              60236.72,
              60507.62
            ],
            "prz_width_pct": 0.449,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7967,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "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.486,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60372.17,
              "a_price": 59224.6,
              "tp1_ad_382": 59933.8,
              "tp2_ad_618": 59662.97,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3744,
              "ABC": 0.4908,
              "BCD": 1.7358,
              "XAD": 0.8772
            },
            "x_price": 60435.8,
            "x_idx": 206,
            "x_order": 8,
            "a_price": 59224.6,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 59678.1,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 59900.7,
            "c_idx": 280,
            "c_order": 3,
            "d_idx": 292
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.895,
            "ratio_score": 0.876,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59934.3,
            "prz_range": [
              59849.11,
              60010.86
            ],
            "prz_width_pct": 0.27,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0584,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.798,
                "adverse_move_ratio_ad": 0.443,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59929.98,
              "a_price": 60303.2,
              "tp1_ad_382": 60072.55,
              "tp2_ad_618": 60160.63,
              "tp3_a_or_structure_liquidity": 60303.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5916,
              "ABC": 0.8154,
              "BCD": 1.3555,
              "XAD": 0.7631
            },
            "x_price": 59819.8,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60303.2,
            "a_idx": 152,
            "a_order": 5,
            "b_price": 60017.2,
            "b_idx": 165,
            "b_order": 3,
            "c_price": 60250.4,
            "c_idx": 170,
            "c_order": 3,
            "d_idx": 208
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.927,
            "prz_score": 0.996,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60435.8,
            "prz_range": [
              60242.73,
              60611.21
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.89,
            "price_to_prz_pct_raw": 0.8882,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.395,
                "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": "bearish",
              "source": "butterfly",
              "d_price": 60426.97,
              "a_price": 60017.2,
              "tp1_ad_382": 60270.44,
              "tp2_ad_618": 60173.73,
              "tp3_a_or_structure_liquidity": 60017.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8038,
              "ABC": 0.9139,
              "BCD": 1.8981,
              "XAD": 1.4636
            },
            "x_price": 60303.2,
            "x_idx": 152,
            "x_order": 5,
            "a_price": 60017.2,
            "a_idx": 165,
            "a_order": 3,
            "b_price": 60247.1,
            "b_idx": 186,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 197,
            "c_order": 8,
            "d_idx": 206
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.886,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60435.8,
            "prz_range": [
              60326.18,
              60509.84
            ],
            "prz_width_pct": 0.304,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.87,
            "price_to_prz_pct_raw": 0.8732,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.119,
                "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": "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": 60418.01,
              "a_price": 59913.9,
              "tp1_ad_382": 60225.44,
              "tp2_ad_618": 60106.47,
              "tp3_a_or_structure_liquidity": 59913.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6039,
              "ABC": 0.6926,
              "BCD": 1.4382,
              "XAD": 0.7872
            },
            "x_price": 60576.9,
            "x_idx": 136,
            "x_order": 3,
            "a_price": 59913.9,
            "a_idx": 153,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 165,
            "b_order": 8,
            "c_price": 60037.0,
            "c_idx": 197,
            "c_order": 8,
            "d_idx": 206
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.874,
            "ratio_score": 0.822,
            "prz_score": 0.996,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60426.97,
            "prz_range": [
              60242.73,
              60611.21
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.89,
            "price_to_prz_pct_raw": 0.8882,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60426.97,
              "a_price": 60017.2,
              "tp1_ad_382": 60270.44,
              "tp2_ad_618": 60173.73,
              "tp3_a_or_structure_liquidity": 60017.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8038,
              "ABC": 0.9139
            },
            "x_price": 60303.2,
            "x_idx": 152,
            "x_order": 5,
            "a_price": 60017.2,
            "a_idx": 165,
            "a_order": 3,
            "b_price": 60247.1,
            "b_idx": 186,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 197,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "prz_proximity": "active",
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.04,
            "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": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,703.20-$60,039.05: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "prz_proximity": "active",
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.01,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,766.59-$60,009.11: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.954,
            "prz_proximity": "active",
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.45,
            "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": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,456.70-$59,799.33: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "prz_proximity": "nearby",
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.66,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $59,302.95-$59,693.60: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "prz_proximity": "active",
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.16,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,856.22-$60,128.74: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "prz_proximity": "active",
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.1,
            "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": "butterfly",
              "d_price": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,700.93-$59,975.14: 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.966,
          "ratio_score": 0.961,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59871.13,
          "prz_range": [
            59703.2,
            60039.05
          ],
          "prz_width_pct": 0.561,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.04,
          "price_to_prz_pct_raw": -0.0399,
          "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": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4956,
            "ABC": 0.8974
          },
          "x_price": 59819.8,
          "x_idx": 149,
          "x_order": 8,
          "a_price": 60250.4,
          "a_idx": 170,
          "a_order": 3,
          "b_price": 60037.0,
          "b_idx": 197,
          "b_order": 8,
          "c_price": 60228.5,
          "c_idx": 213,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59871.13,
          "a_price": 60250.4,
          "tp1_ad_382": 60016.01,
          "tp2_ad_618": 60105.52,
          "tp3_a_or_structure_liquidity": 60250.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bearish",
          "source": "bat",
          "d_price": 60372.17,
          "a_price": 59224.6,
          "tp1_ad_382": 59933.8,
          "tp2_ad_618": 59662.97,
          "tp3_a_or_structure_liquidity": 59224.6,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59887.85,
            "a_price": 60543.3,
            "tp1_ad_382": 60138.23,
            "tp2_ad_618": 60292.92,
            "tp3_a_or_structure_liquidity": 60543.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59628.02,
            "a_price": 60247.1,
            "tp1_ad_382": 59864.51,
            "tp2_ad_618": 60010.61,
            "tp3_a_or_structure_liquidity": 60247.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59498.28,
            "a_price": 60250.4,
            "tp1_ad_382": 59785.59,
            "tp2_ad_618": 59963.09,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 59992.48,
            "a_price": 59224.6,
            "tp1_ad_382": 59699.15,
            "tp2_ad_618": 59517.93,
            "tp3_a_or_structure_liquidity": 59224.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59838.03,
            "a_price": 60314.3,
            "tp1_ad_382": 60019.97,
            "tp2_ad_618": 60132.37,
            "tp3_a_or_structure_liquidity": 60314.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60128.96,
            "a_price": 59224.6,
            "tp1_ad_382": 59783.49,
            "tp2_ad_618": 59570.06,
            "tp3_a_or_structure_liquidity": 59224.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60372.17,
            "a_price": 59224.6,
            "tp1_ad_382": 59933.8,
            "tp2_ad_618": 59662.97,
            "tp3_a_or_structure_liquidity": 59224.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59929.98,
            "a_price": 60303.2,
            "tp1_ad_382": 60072.55,
            "tp2_ad_618": 60160.63,
            "tp3_a_or_structure_liquidity": 60303.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59499.93,
            "a_price": 60247.1,
            "tp1_ad_382": 59785.35,
            "tp2_ad_618": 59961.68,
            "tp3_a_or_structure_liquidity": 60247.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 60426.97,
            "a_price": 60017.2,
            "tp1_ad_382": 60270.44,
            "tp2_ad_618": 60173.73,
            "tp3_a_or_structure_liquidity": 60017.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 1.776,
          "bearish": 1.63
        },
        "directional_score_total": 3.406,
        "directional_dominance": 0.043
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $59,895가 고품질 bullish Bat 형성 PRZ $59,703.20-$60,039.05 내부에 위치, D 예상가 $59,871.13 근접\",\n    \"고품질 bullish Gartley 형성 PRZ $59,766.59-$60,009.11 내부에 위치, 최근접 PRZ 중심 $59,887.85와 현재가 차이 약 -0.01%\",\n    \"고품질 bullish Butterfly 형성 PRZ $59,700.93-$59,975.14 내부에 위치, D 예상가 $59,838.03\",\n    \"하단 추가 bullish Bat PRZ $59,456.70-$59,799.33 및 bullish Crab PRZ $59,302.95-$59,693.60가 반응 후보 지지대로 대기\",\n    \"반대편으로 bearish Gartley 형성 PRZ $59,856.22-$60,128.74도 현재가와 중첩되어 있어 즉시 방향성 확정은 제한됨\"\n  ],\n  \"reasoning\": \"15분 BTC/USDT는 현재 $59,895로, bullish Bat $59,703.20-$60,039.05, bullish Gartley $59,766.59-$60,009.11, bullish Butterfly $59,700.93-$59,975.14가 겹치는 활성 고컨플루언스 PRZ 안에 있다. 다만 같은 가격대에 bearish Gartley PRZ $59,856.22-$60,128.74도 중첩되고, 확인된 bearish Bat 반응 PRZ $59,859.35-$60,398.56가 남아 있어 구조적으로는 확정 BOS/CHoCH 없이 중립으로 본다. 방향 점수는 bullish 1.776, bearish 1.630으로 bullish가 근소 우위지만 dominance가 0.043에 불과해 단독 방향 신호로 쓰기 어렵다. 따라서 구조_bias는 neutral, setup_bias는 현재 PRZ 방어 및 반등 후보가 우세한 bullish로 분리하며, 실제 매수 우위는 $60,016-$60,138 상향 회복 또는 15m/1h MSS 확인 후에만 강화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59887.85,\n      59766.59,\n      59703.2,\n      59628.02,\n      59456.7,\n      59302.95\n    ],\n    \"resistance\": [\n      60009.11,\n      60039.05,\n      60128.74,\n      60138.23,\n      60250.4,\n      60303.2,\n      60435.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"15분 종가가 $59,456.70 아래에서 확정되면 현재 bullish PRZ 기반 반등 셋업은 무효화된다.\",\n  \"risk_scenario\": \"가격이 $60,009-$60,128 상단 중첩 PRZ를 회복하지 못하고 bearish Gartley/Bat 공급 반응이 강화되면 $59,699, $59,517, 최종 $59,224.60 방향으로 하락 TP 래더가 재활성화될 수 있다. 반대로 $60,138 이상을 회복하고 유지하면 bullish Gartley/Bat의 TP2 구간 $60,105-$60,293 및 $60,250-$60,303 유동성 재방문 가능성이 커진다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.7,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "ICT: 현재가 $59,895.00가 단기 EQ $59,587.50 위 프리미엄 구간에 있으며, 최근 $60,037.00 하향 BOS 이후 bearish 구조 셋업 유지",
        "Wyckoff: 이전 분배 구조의 BC $60,924.70 → UTAD $60,543.30 → LPSY $60,219.40 → SOW $59,360.30 순서가 확인되었고, 현재가는 메인 분배 하단 $60,383.00 아래",
        "Derivatives: 롱 계정 비율 0.678~0.686으로 롱 과밀, 24시간 OI +1.647% 증가 중 CVD -4,304.97로 신규 포지션 유입이 매수 주도력을 동반하지 못함",
        "Candlestick: 현재가가 EMA20 $59,958.78 및 EMA240 $59,965.95 아래에 있고, evening_star 품질 0.640 및 bearish_harami 품질 0.592가 단기 상단 실패 조건을 형성",
        "상단 공급 클러스터: ICT bearish OB $60,174.60-$60,435.80, Wyckoff LPSY $60,219.40, 뉴욕 세션 고점 $60,325.00, Wyckoff 메인 레인지 하단 $60,383.00이 밀집",
        "반대 조건: Fibonacci와 Harmonic은 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05 구간에서 bullish PRZ/골든포켓 반응 가능성을 제시"
      ],
      "setup_vs_structure": "실행 셋업은 구조와 대체로 정렬되어 bearish 우위다. 다만 현재 가격이 피보나치·하모닉 반등 후보 구간 내부에 있어, 즉시 추격보다는 상단 공급대 재시험 실패 또는 하단 지지 이탈 확인이 중요한 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 2,
      "neutral_count": 4
    },
    "key_levels": {
      "support": [
        59835.7,
        59819.8,
        59750.1,
        59656.35,
        59587.5,
        59360.3,
        58900,
        58388
      ],
      "resistance": [
        59932.18,
        59958.78,
        59965.95,
        60037,
        60174.6,
        60219.4,
        60305.2,
        60325,
        60435.8,
        60543.3,
        60924.7
      ]
    },
    "confluences": [
      "ICT와 Wyckoff 모두 $60,174.60-$60,435.80 / $60,219.40-$60,383.00 구간을 핵심 상단 공급·재매도 구간으로 해석한다.",
      "ICT의 bearish OB 중간값 $60,305.20, 뉴욕 세션 고점 $60,325.00, Wyckoff 메인 레인지 하단 $60,383.00이 $60.3k 부근에 밀집해 구조적 저항 클러스터를 형성한다.",
      "Candlestick의 EMA20 $59,958.78, EMA240 $59,965.95, Fibonacci ret_0.5 $59,999.95, Harmonic bearish Gartley PRZ $59,856.22-$60,128.74가 $59,950-$60,130 부근 단기 저항을 공통으로 지목한다.",
      "Wyckoff SOW $59,360.30과 ICT 뉴욕 세션 저점 $59,360.30이 동일 가격으로 겹치며, 이는 하단 구조 확인용 핵심 레벨이다.",
      "Derivatives의 하방 유동성 $58,900 및 7일 저점/공통 하단 지지 $58,388.00은 ICT·Wyckoff·Candlestick에서도 주요 하방 지지로 반복된다.",
      "Fibonacci ret_0.786 $59,835.70, ICT bearish BOS 레벨 $59,819.80, Harmonic bullish PRZ 중심 $59,887.85가 현재가 주변 $59.8k대에서 단기 반응 가능 구간을 형성한다."
    ],
    "conflicts": [
      "구조 진단에서 ICT와 Wyckoff는 bearish를 제시하지만, Candlestick·Derivatives·Fibonacci·Harmonic은 확정 구조만 보면 neutral에 가깝다고 본다. 이는 15분봉 내부 BOS 해석과 더 큰 분배 레인지 해석의 차이다.",
      "Fibonacci는 $59,932.18-$59,835.70 골든포켓 테스트를 bullish setup으로 해석하지만, ICT와 Wyckoff는 같은 위치를 프리미엄 내부의 약한 되돌림 또는 분배 후 하단 이탈 상태로 본다.",
      "Harmonic은 bullish Bat/Gartley/Butterfly PRZ가 $59,700-$60,039에 활성화되어 있다고 보지만, 동시에 bearish Gartley PRZ $59,856.22-$60,128.74와 확인된 bearish Bat 반응도 존재해 방향 우위가 약하다.",
      "Derivatives는 롱 계정 과밀과 CVD 약화를 bearish 리스크로 보지만, 펀딩 압력은 강하지 않고 basis도 극단적이지 않아 즉시 강제 청산형 구조로 단정하기는 어렵다."
    ],
    "executive_summary": "현재 BTC/USDT 15분 구조는 중립 압축처럼 보이는 표면과 달리, Wyckoff의 이전 분배 완료 구간과 ICT의 최근 하향 BOS가 겹치며 bearish 구조 우위로 판독된다. 현재 위치는 이전 분배의 Phase D/SOW 이후, $59,360.30 저점에서 반등한 뒤 새로운 재분배 후보 구조의 SC–AR–ST–SOW 구간에 있으며, 아직 강한 bullish 재축적 전환은 확인되지 않았다. 핵심 구조 저항은 $60,174.60-$60,435.80, $60,543.30, $60,924.70이며, 특히 $60,219.40-$60,383.00 구간은 LPSY·OB·세션 고점이 중첩된 공급대다. 단기적으로 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05에는 피보나치·하모닉 반등 후보가 있어 하방 구조 안의 반응 리스크가 존재하지만, 이는 아직 구조 전환 신호라기보다 실행상 변동성 조건으로 분류된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.70,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"ICT: 현재가 $59,895.00가 단기 EQ $59,587.50 위 프리미엄 구간에 있으며, 최근 $60,037.00 하향 BOS 이후 bearish 구조 셋업 유지\",\n      \"Wyckoff: 이전 분배 구조의 BC $60,924.70 → UTAD $60,543.30 → LPSY $60,219.40 → SOW $59,360.30 순서가 확인되었고, 현재가는 메인 분배 하단 $60,383.00 아래\",\n      \"Derivatives: 롱 계정 비율 0.678~0.686으로 롱 과밀, 24시간 OI +1.647% 증가 중 CVD -4,304.97로 신규 포지션 유입이 매수 주도력을 동반하지 못함\",\n      \"Candlestick: 현재가가 EMA20 $59,958.78 및 EMA240 $59,965.95 아래에 있고, evening_star 품질 0.640 및 bearish_harami 품질 0.592가 단기 상단 실패 조건을 형성\",\n      \"상단 공급 클러스터: ICT bearish OB $60,174.60-$60,435.80, Wyckoff LPSY $60,219.40, 뉴욕 세션 고점 $60,325.00, Wyckoff 메인 레인지 하단 $60,383.00이 밀집\",\n      \"반대 조건: Fibonacci와 Harmonic은 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05 구간에서 bullish PRZ/골든포켓 반응 가능성을 제시\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조와 대체로 정렬되어 bearish 우위다. 다만 현재 가격이 피보나치·하모닉 반등 후보 구간 내부에 있어, 즉시 추격보다는 상단 공급대 재시험 실패 또는 하단 지지 이탈 확인이 중요한 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 2,\n    \"neutral_count\": 4\n  },\n  \"key_levels\": {\n    \"support\": [\n      59835.7,\n      59819.8,\n      59750.1,\n      59656.35,\n      59587.5,\n      59360.3,\n      58900,\n      58388\n    ],\n    \"resistance\": [\n      59932.18,\n      59958.78,\n      59965.95,\n      60037,\n      60174.6,\n      60219.4,\n      60305.2,\n      60325,\n      60435.8,\n      60543.3,\n      60924.7\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Wyckoff 모두 $60,174.60-$60,435.80 / $60,219.40-$60,383.00 구간을 핵심 상단 공급·재매도 구간으로 해석한다.\",\n    \"ICT의 bearish OB 중간값 $60,305.20, 뉴욕 세션 고점 $60,325.00, Wyckoff 메인 레인지 하단 $60,383.00이 $60.3k 부근에 밀집해 구조적 저항 클러스터를 형성한다.\",\n    \"Candlestick의 EMA20 $59,958.78, EMA240 $59,965.95, Fibonacci ret_0.5 $59,999.95, Harmonic bearish Gartley PRZ $59,856.22-$60,128.74가 $59,950-$60,130 부근 단기 저항을 공통으로 지목한다.\",\n    \"Wyckoff SOW $59,360.30과 ICT 뉴욕 세션 저점 $59,360.30이 동일 가격으로 겹치며, 이는 하단 구조 확인용 핵심 레벨이다.\",\n    \"Derivatives의 하방 유동성 $58,900 및 7일 저점/공통 하단 지지 $58,388.00은 ICT·Wyckoff·Candlestick에서도 주요 하방 지지로 반복된다.\",\n    \"Fibonacci ret_0.786 $59,835.70, ICT bearish BOS 레벨 $59,819.80, Harmonic bullish PRZ 중심 $59,887.85가 현재가 주변 $59.8k대에서 단기 반응 가능 구간을 형성한다.\"\n  ],\n  \"conflicts\": [\n    \"구조 진단에서 ICT와 Wyckoff는 bearish를 제시하지만, Candlestick·Derivatives·Fibonacci·Harmonic은 확정 구조만 보면 neutral에 가깝다고 본다. 이는 15분봉 내부 BOS 해석과 더 큰 분배 레인지 해석의 차이다.\",\n    \"Fibonacci는 $59,932.18-$59,835.70 골든포켓 테스트를 bullish setup으로 해석하지만, ICT와 Wyckoff는 같은 위치를 프리미엄 내부의 약한 되돌림 또는 분배 후 하단 이탈 상태로 본다.\",\n    \"Harmonic은 bullish Bat/Gartley/Butterfly PRZ가 $59,700-$60,039에 활성화되어 있다고 보지만, 동시에 bearish Gartley PRZ $59,856.22-$60,128.74와 확인된 bearish Bat 반응도 존재해 방향 우위가 약하다.\",\n    \"Derivatives는 롱 계정 과밀과 CVD 약화를 bearish 리스크로 보지만, 펀딩 압력은 강하지 않고 basis도 극단적이지 않아 즉시 강제 청산형 구조로 단정하기는 어렵다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert: 확인된 분배 시퀀스가 BC $60,924.70 → AR $60,383.00 → ST $60,469.80 → UTAD $60,543.30 → LPSY $60,219.40 → SOW $59,360.30으로 구체적이며, 현재가가 메인 분배 하단 $60,383.00 아래에 있어 구조적 bearish 판독의 근거가 가장 명확하다.\",\n  \"invalidation_level\": \"$60,543.30 지속 회복 시 bearish 분배 판독이 크게 훼손되며, $60,924.70 상회 수용 시 상위 구조의 bearish thesis는 무효화에 가깝다.\",\n  \"executive_summary\": \"현재 BTC/USDT 15분 구조는 중립 압축처럼 보이는 표면과 달리, Wyckoff의 이전 분배 완료 구간과 ICT의 최근 하향 BOS가 겹치며 bearish 구조 우위로 판독된다. 현재 위치는 이전 분배의 Phase D/SOW 이후, $59,360.30 저점에서 반등한 뒤 새로운 재분배 후보 구조의 SC–AR–ST–SOW 구간에 있으며, 아직 강한 bullish 재축적 전환은 확인되지 않았다. 핵심 구조 저항은 $60,174.60-$60,435.80, $60,543.30, $60,924.70이며, 특히 $60,219.40-$60,383.00 구간은 LPSY·OB·세션 고점이 중첩된 공급대다. 단기적으로 $59,835.70-$59,932.18 및 $59,703.20-$60,039.05에는 피보나치·하모닉 반등 후보가 있어 하방 구조 안의 반응 리스크가 존재하지만, 이는 아직 구조 전환 신호라기보다 실행상 변동성 조건으로 분류된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.7,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.63,
    "waypoints": [
      {
        "seq": 1,
        "price": 60043.73,
        "type": "resistance_test",
        "source": "Fibonacci(golden pocket $59,932.18-$59,835.70 / ret_0.5 $59,999.95), Candlestick(EMA20 $59,958.78·EMA240 $59,965.95), ICT(하향 BOS $60,037.00), Harmonic(bullish PRZ 방어)",
        "description": "현재가 $59,895가 피보나치 골든포켓 및 하모닉 bullish PRZ 내부에 있어 단기 되돌림 반등이 우선 전개될 구간. 가장 가까운 strict 피보나치 컨플루언스 $60,043.73(스코어 1.0)를 1차 목표로, EMA20 $59,958.78·EMA240 $59,965.95·ret_0.5 $59,999.95·ICT 하향 BOS $60,037.00이 밀집한 단기 상단 저항($59,950-$60,130)을 재시험. 핵심 공급대($60,174.60-$60,219.40 OB/LPSY)는 그 위에 위치하므로 이 구간을 회복·수용하지 못하면 '상단 공급대 재시험 실패'로 분배 약세가 재확인됨.",
        "est_hours": 3.0,
        "turning_zone": [
          60043.73,
          60130.0
        ],
        "likely_wick": 60070.0,
        "rejection_confirm": 59999.95,
        "invalid_overshoot": 60175.0,
        "calibration_reasoning": "베이스 strict 피보 컨플루언스 $60,043.73(스코어1.0) 바로 위로 fib0.382 $60,067.72와 CONFIRMED 하모닉 gartley TP1 AD0.382 $60,072.55가 밀집해 반전 자석을 형성; 존 상단은 내러티브 상단 저항밴드($59,950-$60,130)에 정합시키고 핵심 공급대 $60,174.60(OB/LPSY) 수용 시 무효화, 하단 $60,000(ret_0.5) 이탈이 거부 확인(~0.44 ATR)."
      },
      {
        "seq": 2,
        "price": 59808.08,
        "type": "support_test",
        "source": "Fibonacci(strict confluence $59,808.08 / 0.786 $59,835.70), ICT(하향 BOS $59,819.80)",
        "description": "상단 공급대 재시험 실패 후 하락 전환. 피보나치 0.786 $59,835.70 및 ICT 하향 BOS $59,819.80을 하향 이탈하며 strict 피보나치 컨플루언스 $59,808.08(스코어 0.85)을 테스트. 이는 골든포켓 bullish 셋업의 무효화이자 분배 약세 연속의 확인 신호로, EQ 하단으로의 경로를 개방.",
        "est_hours": 9.0,
        "turning_zone": [
          59752.0,
          59808.08
        ],
        "likely_wick": 59783.49,
        "rejection_confirm": 59835.7,
        "invalid_overshoot": 59742.0,
        "calibration_reasoning": "CONFIRMED 하모닉 bat TP1 AD0.382 $59,783.49가 베이스 strict 컨플루언스 $59,808.08(ret_0.5/0.786/0.618) 바로 아래에 하방 정렬된 강앵커로 likely_wick를 결정; 존 하단은 Wyckoff 지지 $59,750.10 직상으로 제한(~0.28 ATR), 종가 이탈 시 WP3로 연속되어 무효화, fib0.786 $59,835.70 회복이 반등 확인."
      },
      {
        "seq": 3,
        "price": 59656.35,
        "type": "support_test",
        "source": "Candlestick·Derivatives(7일 레인지 EQ $59,656.35 공통 지지), Wyckoff(경유 지지 $59,750.10)",
        "description": "Wyckoff 지지 $59,750.10을 경유해 7일 레인지 EQ $59,656.35 테스트. 이 레벨은 프리미엄/디스카운트 경계로, 하향 이탈 시 가격이 디스카운트로 진입하며 롱 과밀(롱 계정 0.678-0.686, OI +1.647%, CVD -4,304.97) 청산 압력이 가속될 수 있는 구간.",
        "est_hours": 15.0,
        "turning_zone": [
          59570.0,
          59656.35
        ],
        "likely_wick": 59590.0,
        "rejection_confirm": 59700.0,
        "invalid_overshoot": 59560.0,
        "calibration_reasoning": "7일 레인지 EQ $59,656.35는 하모닉 bat TP2 AD0.618 $59,662.97과 사실상 동일 레벨이며, 존은 Chairman 지지 $59,587.50와 bat TP2 $59,570.06까지 확장(~0.44 ATR); 롱 과밀로 EQ 스윕 가능성이 높아 라운드넘버 $59,600 자석 영향으로 likely_wick $59,590, EQ+TP2 클러스터($59,700) 회복이 반등 확인, $59,570 이탈 시 디스카운트/WP4로 연속 무효화."
      },
      {
        "seq": 4,
        "price": 59360.3,
        "type": "liquidity_sweep",
        "source": "Wyckoff(SOW $59,360.30), ICT(뉴욕 세션 저점 $59,360.30), Derivatives(롱 청산 하방 유동성)",
        "description": "하방 핵심 컨플루언스인 Wyckoff SOW $59,360.30 = ICT 뉴욕 세션 저점 $59,360.30 동시 테스트. 분배 구조 Phase D의 SOW 재검증 및 하방 유동성 스윕이 24시간 1차 목표. 추가 이탈 시 $58,900(파생 하방 유동성)·$58,388(7일 저점)으로 확장 가능.",
        "est_hours": 22.0,
        "turning_zone": [
          59224.6,
          59360.3
        ],
        "likely_wick": 59300.0,
        "rejection_confirm": 59430.0,
        "invalid_overshoot": 59200.0,
        "calibration_reasoning": "종착 웨이포인트로 존 확대(~0.69 ATR): Wyckoff SOW=ICT 뉴욕 저점 $59,360.30 동시 하방 유동성 스윕이 목표이며 하모닉 TP3 A/structure-liquidity $59,224.60을 존 하단(터미널 컨텍스트)으로 포함; 스윕 깊이 ~0.3 ATR·라운드넘버 자석으로 likely_wick $59,300, $59,224.60 이탈 시 $58,900(파생 하방 유동성)으로 확장되어 무효화."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60043.73,
        "expected_low": 59835.7,
        "high_first": true
      },
      "8h": {
        "expected_high": 60067.72,
        "expected_low": 59808.08,
        "high_first": true
      },
      "24h": {
        "expected_high": 60067.72,
        "expected_low": 59360.3,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60174.6,
        "description": "ICT bearish OB 하단 $60,174.60 위로의 수용(acceptance)이 발생하면 상단 공급대가 흡수되는 신호로, LPSY $60,219.40·OB 중간 $60,305.20·뉴욕 고점 $60,325.00을 거쳐 $60,435.80까지 숏 스퀴즈 가능성이 열리며 단기 약세 셋업이 약화됨."
      },
      "bearish": {
        "price": 59808.08,
        "description": "15분봉 기준 strict 피보나치 컨플루언스 $59,808.08 하향 종가 마감 시 골든포켓($59,835.70)·ICT 하향 BOS $59,819.80 동반 이탈로 확정되어, $59,656.35 EQ 및 $59,360.30 SOW를 향한 하락이 가속됨."
      }
    },
    "scenario_invalidation": 60543.3,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.63,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60043.73,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(golden pocket $59,932.18-$59,835.70 / ret_0.5 $59,999.95), Candlestick(EMA20 $59,958.78·EMA240 $59,965.95), ICT(하향 BOS $60,037.00), Harmonic(bullish PRZ 방어)\",\n      \"description\": \"현재가 $59,895가 피보나치 골든포켓 및 하모닉 bullish PRZ 내부에 있어 단기 되돌림 반등이 우선 전개될 구간. 가장 가까운 strict 피보나치 컨플루언스 $60,043.73(스코어 1.0)를 1차 목표로, EMA20 $59,958.78·EMA240 $59,965.95·ret_0.5 $59,999.95·ICT 하향 BOS $60,037.00이 밀집한 단기 상단 저항($59,950-$60,130)을 재시험. 핵심 공급대($60,174.60-$60,219.40 OB/LPSY)는 그 위에 위치하므로 이 구간을 회복·수용하지 못하면 '상단 공급대 재시험 실패'로 분배 약세가 재확인됨.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59808.08,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci(strict confluence $59,808.08 / 0.786 $59,835.70), ICT(하향 BOS $59,819.80)\",\n      \"description\": \"상단 공급대 재시험 실패 후 하락 전환. 피보나치 0.786 $59,835.70 및 ICT 하향 BOS $59,819.80을 하향 이탈하며 strict 피보나치 컨플루언스 $59,808.08(스코어 0.85)을 테스트. 이는 골든포켓 bullish 셋업의 무효화이자 분배 약세 연속의 확인 신호로, EQ 하단으로의 경로를 개방.\",\n      \"est_hours\": 9.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59656.35,\n      \"type\": \"support_test\",\n      \"source\": \"Candlestick·Derivatives(7일 레인지 EQ $59,656.35 공통 지지), Wyckoff(경유 지지 $59,750.10)\",\n      \"description\": \"Wyckoff 지지 $59,750.10을 경유해 7일 레인지 EQ $59,656.35 테스트. 이 레벨은 프리미엄/디스카운트 경계로, 하향 이탈 시 가격이 디스카운트로 진입하며 롱 과밀(롱 계정 0.678-0.686, OI +1.647%, CVD -4,304.97) 청산 압력이 가속될 수 있는 구간.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59360.30,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff(SOW $59,360.30), ICT(뉴욕 세션 저점 $59,360.30), Derivatives(롱 청산 하방 유동성)\",\n      \"description\": \"하방 핵심 컨플루언스인 Wyckoff SOW $59,360.30 = ICT 뉴욕 세션 저점 $59,360.30 동시 테스트. 분배 구조 Phase D의 SOW 재검증 및 하방 유동성 스윕이 24시간 1차 목표. 추가 이탈 시 $58,900(파생 하방 유동성)·$58,388(7일 저점)으로 확장 가능.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60043.73, \"expected_low\": 59835.70, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60067.72, \"expected_low\": 59808.08, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60067.72, \"expected_low\": 59360.30, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 60174.60,\n      \"description\": \"ICT bearish OB 하단 $60,174.60 위로의 수용(acceptance)이 발생하면 상단 공급대가 흡수되는 신호로, LPSY $60,219.40·OB 중간 $60,305.20·뉴욕 고점 $60,325.00을 거쳐 $60,435.80까지 숏 스퀴즈 가능성이 열리며 단기 약세 셋업이 약화됨.\"\n    },\n    \"bearish\": {\n      \"price\": 59808.08,\n      \"description\": \"15분봉 기준 strict 피보나치 컨플루언스 $59,808.08 하향 종가 마감 시 골든포켓($59,835.70)·ICT 하향 BOS $59,819.80 동반 이탈로 확정되어, $59,656.35 EQ 및 $59,360.30 SOW를 향한 하락이 가속됨.\"\n    }\n  },\n  \"scenario_invalidation\": 60543.30\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60043.73,
        "turning_zone": [
          60043.73,
          60130.0
        ],
        "likely_wick": 60070.0,
        "rejection_confirm": 59999.95,
        "invalid_overshoot": 60175.0,
        "calibration_reasoning": "베이스 strict 피보 컨플루언스 $60,043.73(스코어1.0) 바로 위로 fib0.382 $60,067.72와 CONFIRMED 하모닉 gartley TP1 AD0.382 $60,072.55가 밀집해 반전 자석을 형성; 존 상단은 내러티브 상단 저항밴드($59,950-$60,130)에 정합시키고 핵심 공급대 $60,174.60(OB/LPSY) 수용 시 무효화, 하단 $60,000(ret_0.5) 이탈이 거부 확인(~0.44 ATR)."
      },
      {
        "seq": 2,
        "base_target": 59808.08,
        "turning_zone": [
          59752.0,
          59808.08
        ],
        "likely_wick": 59783.49,
        "rejection_confirm": 59835.7,
        "invalid_overshoot": 59742.0,
        "calibration_reasoning": "CONFIRMED 하모닉 bat TP1 AD0.382 $59,783.49가 베이스 strict 컨플루언스 $59,808.08(ret_0.5/0.786/0.618) 바로 아래에 하방 정렬된 강앵커로 likely_wick를 결정; 존 하단은 Wyckoff 지지 $59,750.10 직상으로 제한(~0.28 ATR), 종가 이탈 시 WP3로 연속되어 무효화, fib0.786 $59,835.70 회복이 반등 확인."
      },
      {
        "seq": 3,
        "base_target": 59656.35,
        "turning_zone": [
          59570.0,
          59656.35
        ],
        "likely_wick": 59590.0,
        "rejection_confirm": 59700.0,
        "invalid_overshoot": 59560.0,
        "calibration_reasoning": "7일 레인지 EQ $59,656.35는 하모닉 bat TP2 AD0.618 $59,662.97과 사실상 동일 레벨이며, 존은 Chairman 지지 $59,587.50와 bat TP2 $59,570.06까지 확장(~0.44 ATR); 롱 과밀로 EQ 스윕 가능성이 높아 라운드넘버 $59,600 자석 영향으로 likely_wick $59,590, EQ+TP2 클러스터($59,700) 회복이 반등 확인, $59,570 이탈 시 디스카운트/WP4로 연속 무효화."
      },
      {
        "seq": 4,
        "base_target": 59360.3,
        "turning_zone": [
          59224.6,
          59360.3
        ],
        "likely_wick": 59300.0,
        "rejection_confirm": 59430.0,
        "invalid_overshoot": 59200.0,
        "calibration_reasoning": "종착 웨이포인트로 존 확대(~0.69 ATR): Wyckoff SOW=ICT 뉴욕 저점 $59,360.30 동시 하방 유동성 스윕이 목표이며 하모닉 TP3 A/structure-liquidity $59,224.60을 존 하단(터미널 컨텍스트)으로 포함; 스윕 깊이 ~0.3 ATR·라운드넘버 자석으로 likely_wick $59,300, $59,224.60 이탈 시 $58,900(파생 하방 유동성)으로 확장되어 무효화."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60043.73,\n      \"turning_zone\": [60043.73, 60130.00],\n      \"likely_wick\": 60070.00,\n      \"rejection_confirm\": 59999.95,\n      \"invalid_overshoot\": 60175.00,\n      \"calibration_reasoning\": \"베이스 strict 피보 컨플루언스 $60,043.73(스코어1.0) 바로 위로 fib0.382 $60,067.72와 CONFIRMED 하모닉 gartley TP1 AD0.382 $60,072.55가 밀집해 반전 자석을 형성; 존 상단은 내러티브 상단 저항밴드($59,950-$60,130)에 정합시키고 핵심 공급대 $60,174.60(OB/LPSY) 수용 시 무효화, 하단 $60,000(ret_0.5) 이탈이 거부 확인(~0.44 ATR).\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59808.08,\n      \"turning_zone\": [59752.00, 59808.08],\n      \"likely_wick\": 59783.49,\n      \"rejection_confirm\": 59835.70,\n      \"invalid_overshoot\": 59742.00,\n      \"calibration_reasoning\": \"CONFIRMED 하모닉 bat TP1 AD0.382 $59,783.49가 베이스 strict 컨플루언스 $59,808.08(ret_0.5/0.786/0.618) 바로 아래에 하방 정렬된 강앵커로 likely_wick를 결정; 존 하단은 Wyckoff 지지 $59,750.10 직상으로 제한(~0.28 ATR), 종가 이탈 시 WP3로 연속되어 무효화, fib0.786 $59,835.70 회복이 반등 확인.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59656.35,\n      \"turning_zone\": [59570.00, 59656.35],\n      \"likely_wick\": 59590.00,\n      \"rejection_confirm\": 59700.00,\n      \"invalid_overshoot\": 59560.00,\n      \"calibration_reasoning\": \"7일 레인지 EQ $59,656.35는 하모닉 bat TP2 AD0.618 $59,662.97과 사실상 동일 레벨이며, 존은 Chairman 지지 $59,587.50와 bat TP2 $59,570.06까지 확장(~0.44 ATR); 롱 과밀로 EQ 스윕 가능성이 높아 라운드넘버 $59,600 자석 영향으로 likely_wick $59,590, EQ+TP2 클러스터($59,700) 회복이 반등 확인, $59,570 이탈 시 디스카운트/WP4로 연속 무효화.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59360.30,\n      \"turning_zone\": [59224.60, 59360.30],\n      \"likely_wick\": 59300.00,\n      \"rejection_confirm\": 59430.00,\n      \"invalid_overshoot\": 59200.00,\n      \"calibration_reasoning\": \"종착 웨이포인트로 존 확대(~0.69 ATR): Wyckoff SOW=ICT 뉴욕 저점 $59,360.30 동시 하방 유동성 스윕이 목표이며 하모닉 TP3 A/structure-liquidity $59,224.60을 존 하단(터미널 컨텍스트)으로 포함; 스윕 깊이 ~0.3 ATR·라운드넘버 자석으로 likely_wick $59,300, $59,224.60 이탈 시 $58,900(파생 하방 유동성)으로 확장되어 무효화.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 56.0,
      "chairman": 90.0,
      "operating_path": 337.8,
      "tp_calibrator": 250.6
    },
    "agents": {},
    "total_s": 734.4
  }
}