BTC/USDT 4H Council Report

Signal: BEARISH (72%)  |  Price: $77,444.60  |  2026-05-21 01:00 KST  |  300 candles

Council: 1 bullish, 1 neutral, 4 bearish  |  Support: $77,343 / $77,336 / $77,079  |  Resistance: $77,626 / $77,826 / $78,000

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC 4시간 구조의 우세 판정은 bearish이며, 핵심 근거는 Wyckoff의 확정 분배 구조와 ICT의 연속 하방 BOS다. 구조상 가격은 UTAD $82,828.70 및 LPSY $81,270.20 이후 하락한 상태이며, 현재는 메인 분배 레인지 $73,669-$78,300 내부 상단부와 단기 재분배 후보 구간에 위치한다. $78,300-$78,565는 Wyckoff range high, EMA120 $78,510.77, Fibonacci 스윙 고점 $78,564가 겹치는 핵심 구조 저항대이며, $76,014-$76,377은 SOW/7일 저점/Harmonic Bat D가 겹치는 하단 구조 지지 구간이다. Harmonic Bat PRZ 방어는 반등형 분기 리스크로 인정되지만, 상위 구조를 뒤집으려면 최소 $81,270.20 회복과 궁극적으로 $82,828.70 돌파가 필요하다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH78%$76,377 / $76,107$78,300 / $78,564
ICT TraderBEARISH75%$77,100 / $76,377$77,826 / $78,511
Derivatives TraderBEARISH59%$77,343 / $77,079$78,000 / $78,511
Candlestick ReaderNEUTRAL46%$77,343 / $77,079$78,511 / $79,007
Fibonacci AnalystBEARISH58%$77,336 / $77,046$77,626 / $78,038
Harmonic SpecialistBULLISH56%$77,343 / $77,079$78,511 / $78,549

Agent Details

Wyckoff Expert — BEARISH (78%)

Support: $76,377 / $76,107 / $74,868 | Resistance: $78,300 / $78,564 / $79,145 | Horizon: medium term

4시간 Wyckoff 구조는 regime이 DIS, regime_state가 confirmed_dis이며 dis_score 96.2와 regime_fitness 0.963으로 분배 판정 신뢰도가 높습니다. 주요 앵커는 BC $78,300, AR $73,669이며, 이후 ST $79,455, UT $79,145, UTAD $82,828.7, LPSY $81,270.2가 형성되어 현재는 분배 Phase D로 해석됩니다. 현재가 $77,444.6은 메인 레인지 $73,669~$78,300 내부 상단부에 있으며, $78,300~$78,564.3 회복에 실패하면 $76,377~$76,107 SOW 권역 재시험 가능성이 우선입니다. 다만 즉시 가격은 레인지 내부에 있으므로, 구조적 편향은 bearish이나 단기 실행 관점에서는 $78,300 회복 여부를 확인해야 합니다.
ICT Trader — BEARISH (75%)

Support: $77,100 / $76,377 / $76,014 | Resistance: $77,826 / $78,511 / $78,714 | Horizon: 단기~중기, 4시간봉 기준

확정 구조는 bearish로 판단한다. 최근 구조 시퀀스에서 $79,137.40 및 $78,713.80 하방 BOS가 연속 발생했고, 현재가 $77,444.60은 두 구조 저항 아래에 머물러 있어 하방 구조가 유지되고 있다. 가격은 EQ $79,006.60 아래 discount 영역에 있어 단순 위치만 보면 저가 매수 반응 가능성은 있으나, 활성 OB와 미체결 FVG가 모두 0개이고 최근 liquidity sweep도 없어 강한 bullish 반전 근거는 부족하다. 단기적으로는 전일 고가 $77,825.80 및 EMA120 $78,510.77 회복 여부가 핵심이며, 회복 실패 시 전일 저가 $76,377.00과 7일 저가 $76,014.20 유동성으로 하방 탐색 가능성이 높다.
Derivatives Trader — BEARISH (59%)

Support: $77,343 / $77,079 / $76,014 | Resistance: $78,000 / $78,511 / $79,007 | Horizon: short term, 향후 4-8시간

현재 BTC는 $77,444.60으로 EMA20 $77,342.69 바로 위에 있지만 EMA120 $78,510.77 아래에 있어 확인된 추세 전환보다는 $76,014.20~$81,999.00 박스권 내부의 중립 구조로 보는 것이 맞다. 다만 파생 포지셔닝은 약하다: OI가 24시간 -2.7320% 감소했고 oi_trend도 0.227에 불과해 상승이 신규 레버리지 유입으로 지지되지 않는다. CVD divergence 0.700과 CVD change +715.3080은 매수 체결에도 가격이 $78,000~$78,510 저항을 명확히 돌파하지 못하는 흡수 신호로 해석된다. 상방에는 $78,000에 가장 강한 청산 레벨이 있고 그 위 $79,900~$80,000에도 청산 밀집이 있어, 단기적으로는 $78,000 스윕 후 실패 시 $75,900 및 $74,300 하방 유동성으로 밀릴 위험이 더 크다.
Candlestick Reader — NEUTRAL (46%)

Support: $77,343 / $77,079 / $76,014 | Resistance: $78,511 / $79,007 / $81,999 | Horizon: 단기, 향후 1~3개의 4시간봉

현재 BTC는 $77,444.60으로 EMA20 $77,342.69 바로 위에 있으나 EMA120 $78,510.77 아래에 있어 단기 반등과 중기 저항이 충돌하는 구간입니다. 최근 5개 패턴 중 도지 2개와 상승/하락 장악형이 혼재하며, 최고 패턴 품질도 0.555에 불과해 강한 확정 신호로 보기 어렵습니다. 7일 저점 $76,014.20과 EMA240 $77,079.14 위를 지키는 점은 단기 bullish setup을 만들지만, bear_score 1.5000이 bull_score 0.750보다 높아 매수 우위가 구조적으로 확인되지는 않았습니다. 따라서 구조_bias는 중립, 셋업_bias는 할인 구간 반등 가능성에 따른 약한 bullish로 판단합니다.
Fibonacci Analyst — BEARISH (58%)

Support: $77,336 / $77,046 / $76,687 | Resistance: $77,626 / $78,038 / $78,564 | Horizon: short term

현재 BTC/USDT는 하락 스윙 $78,564 → $76,107 이후 되돌림 국면이며, 가격 $77,444.60은 ret_0.5 $77,335.70을 소폭 상회하지만 핵심 황금비율 저항 ret_0.618 $77,625.65 아래에 머물러 있습니다. 구조적으로는 아직 ret_0.786 $78,038.46 또는 스윙 고점 $78,564를 명확히 회복하지 못했기 때문에 확인된 추세 전환보다는 하락 스윙 내 반등으로 보는 것이 우세합니다. 세팅 관점에서는 EQ 위 프리미엄 진입 후 0.618 저항을 앞둔 상태라 단기 매도 반응 가능성이 있으며, fib_reaction_state가 testing이고 reaction_probability가 0.65로 제시되어 있습니다. 다만 $77,335.70을 지키며 $77,625.65를 돌파하면 $78,038.46까지 추가 되돌림이 열릴 수 있어 공격적 확신은 제한됩니다.
Harmonic Specialist — BULLISH (56%)

Support: $77,343 / $77,079 / $76,623 | Resistance: $78,511 / $78,549 / $79,110 | Horizon: medium term

확인된 구조적 BOS/CHoCH 데이터가 없으므로 structure_bias는 중립으로 둔다. 다만 harmonic 관점에서는 strict medium bullish Bat가 $75,267.38-$76,622.56 PRZ에서 완료 후 반응 점수 0.95로 방어되었고, 현재가 $77,444.60이 PRZ 상단 위에 있어 setup_bias는 bullish이다. 검증된 Bat TP ladder는 TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70이며, 현재는 TP1 전 단계다. 반면 $78,548.99-$79,671.71에는 형성 중인 high-quality Gartley PRZ가 있어 상방 진행 시 반응/변동성 구간으로 봐야 하며, 미확인 상태라 단독으로 메인 경로를 뒤집을 수 없다.

Operating Path — complex (66%)

#PriceTypeSourceEst. HoursDescription
1$77,826liquidity_sweepICT 전일 고가 $77,825.80, Derivatives 상방 청산 클러스터 $78,000, Fibonacci 0.618 $77,625.65 및 0.786 $78,038.465.0현재가 $77,444.60이 EMA20 $77,342.69 위에서 유지되고 Harmonic Bat PRZ 방어 후 discount 구간에 위치하여 단기 반등 여지가 있다. 1차로 Fibonacci 0.618 $77,625.65를 넘어 ICT 전일 고가 $77,825.80과 $78,000 청산 클러스터를 향한 buy-side liquidity sweep을 시도할 가능성이 높다. EMA120 $78,510.77 회복 실패가 전제이므로 sweep 후 거부가 메인 시나리오.
2$76,377support_testWyckoff SOW $76,377.00, ICT 전일 저가 $76,377.00, Fibonacci 스윙 저점 $76,107.10, Derivatives EMA240 $77,079.14 하단13.0$78,000 부근 sweep 거부 후 EMA20 $77,342.69 및 Fibonacci 0.5 $77,335.70 균형선이 이탈되면 Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간이 1차 하방 타겟이다. 메인 분배 레인지 $73,669-$78,300의 EQ $75,985 부근으로 회귀하는 분배 Phase D 흐름과 정렬.
3$76,014support_testICT 7일 저가 $76,014.20, Harmonic Bat D $76,014.20, Wyckoff SOW 하단18.0Harmonic strict Bat PRZ($75,267-$76,622)의 D 포인트 재시험. 1차 PRZ 방어 후 재진입이므로 Derivatives 흡수 신호(OI -2.73%, CVD divergence 0.70)와 결합 시 보조 반등 또는 PRZ 이탈을 가르는 핵심 결정 구간.
4$75,264extensionWP1 후보 fib_confluence $75,264.28, Wyckoff 메인 레인지 EQ 하단 $75,267.38, Harmonic Bat PRZ 하단23.0$76,014 PRZ 하단이 이탈되면 fib_confluence WP1 후보 $75,264와 Harmonic Bat PRZ 하단이 겹치는 $75,264-$75,267 구간이 다음 유동성 타겟. 확정 분배 구조의 메인 레인지 하단 $73,669 진행 전 1차 반응 구간.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$76,950$77,826High first
8h$76,377$78,000High first
24h$75,264$78,038High first

Triggers

Invalidation: $79,137

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.66,
  "waypoints": [
    {
      "seq": 1,
      "price": 77825.8,
      "type": "liquidity_sweep",
      "source": "ICT 전일 고가 $77,825.80, Derivatives 상방 청산 클러스터 $78,000, Fibonacci 0.618 $77,625.65 및 0.786 $78,038.46",
      "description": "현재가 $77,444.60이 EMA20 $77,342.69 위에서 유지되고 Harmonic Bat PRZ 방어 후 discount 구간에 위치하여 단기 반등 여지가 있다. 1차로 Fibonacci 0.618 $77,625.65를 넘어 ICT 전일 고가 $77,825.80과 $78,000 청산 클러스터를 향한 buy-side liquidity sweep을 시도할 가능성이 높다. EMA120 $78,510.77 회복 실패가 전제이므로 sweep 후 거부가 메인 시나리오.",
      "est_hours": 5.0
    },
    {
      "seq": 2,
      "price": 76377.0,
      "type": "support_test",
      "source": "Wyckoff SOW $76,377.00, ICT 전일 저가 $76,377.00, Fibonacci 스윙 저점 $76,107.10, Derivatives EMA240 $77,079.14 하단",
      "description": "$78,000 부근 sweep 거부 후 EMA20 $77,342.69 및 Fibonacci 0.5 $77,335.70 균형선이 이탈되면 Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간이 1차 하방 타겟이다. 메인 분배 레인지 $73,669-$78,300의 EQ $75,985 부근으로 회귀하는 분배 Phase D 흐름과 정렬.",
      "est_hours": 13.0
    },
    {
      "seq": 3,
      "price": 76014.2,
      "type": "support_test",
      "source": "ICT 7일 저가 $76,014.20, Harmonic Bat D $76,014.20, Wyckoff SOW 하단",
      "description": "Harmonic strict Bat PRZ($75,267-$76,622)의 D 포인트 재시험. 1차 PRZ 방어 후 재진입이므로 Derivatives 흡수 신호(OI -2.73%, CVD divergence 0.70)와 결합 시 보조 반등 또는 PRZ 이탈을 가르는 핵심 결정 구간.",
      "est_hours": 18.0
    },
    {
      "seq": 4,
      "price": 75264.28,
      "type": "extension",
      "source": "WP1 후보 fib_confluence $75,264.28, Wyckoff 메인 레인지 EQ 하단 $75,267.38, Harmonic Bat PRZ 하단",
      "description": "$76,014 PRZ 하단이 이탈되면 fib_confluence WP1 후보 $75,264와 Harmonic Bat PRZ 하단이 겹치는 $75,264-$75,267 구간이 다음 유동성 타겟. 확정 분배 구조의 메인 레인지 하단 $73,669 진행 전 1차 반응 구간.",
      "est_hours": 23.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 77825.8, "expected_low": 76950.0, "high_first": true},
    "8h":  {"expected_high": 78000.0, "expected_low": 76377.0, "high_first": true},
    "24h": {"expected_high": 78038.46, "expected_low": 75264.28, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 78510.77, "description": "EMA120 $78,510.77 및 Wyckoff 단기 AR/공급권 $78,564.30, Fibonacci 스윙 고점 $78,564의 다중 저항 클러스터를 4h 종가 기준 회복 시 분배 구조 약화. 추가로 $79,137 ICT 하방 BOS 레벨까지 회복하면 강세 가속."},
    "bearish": {"price": 76377.0, "description": "Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간 4h 종가 이탈 시 분배 Phase D 하방 진행이 확정되어 $76,014 7일 저가 및 PRZ D 재시험 가속."}
  },
  "scenario_invalidation": 79137.4
}
```

구조(bearish 72%)와 셋업(bearish 69%)이 정렬되어 있으나 Harmonic Bat PRZ 방어와 discount 위치 때문에 즉시 매도 추격 대신 $77,825-$78,000 단기 sweep → 거부 → $76,377/$76,014 SOW·PRZ 재시험 → $75,264 fib confluence 확장의 4-waypoint 복합 경로로 구성했다.

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.72,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.69,
    "active_setups": [
      "ICT: $79,137.40 및 $78,713.80 하방 BOS 이후 가격이 $77,444.60에서 두 구조 저항 아래에 머물며, EMA120 $78,510.77 회복 실패",
      "Wyckoff: 확정 분배 구조 이후 LPSY $81,270.20 아래에서 거래되며, 현재가는 메인 분배 레인지 상단부 $78,300 부근 아래",
      "Fibonacci: 하락 스윙 $78,564 → $76,107의 0.5 되돌림 $77,335.70 위에 있지만 0.618 저항 $77,625.65 아래에서 테스트 중",
      "Derivatives: $78,000 상방 청산 클러스터와 EMA120 $78,510.77 아래 정체, CVD 유입 대비 가격 회복 실패로 흡수 위험",
      "Harmonic 반대 조건: bullish Bat PRZ $75,267.38-$76,622.56 방어 및 현재가가 PRZ 상단 위에 있어 반등형 분기 리스크 존재"
    ],
    "setup_vs_structure": "실행 셋업은 구조적 bearish 판정과 대체로 정렬되어 있다. 다만 현재가가 7일 EQ $79,006.60 아래의 discount 구간이고 harmonic Bat PRZ 방어가 확인되어, 즉시 매도 추격보다는 $77,625-$78,565 저항 회복 여부를 조건부로 관리해야 한다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 4,
    "neutral_count": 1
  },
  "key_levels": {
    "support": [
      77342.69,
      77335.7,
      77079.14,
      76622.56,
      76377.0,
      76107.1,
      76014.2,
      75267.38,
      74868.0,
      73669.0
    ],
    "resistance": [
      77625.65,
      77825.8,
      78000.0,
      78038.46,
      78300.0,
      78510.77,
      78548.99,
      78564.3,
      78713.8,
      79006.6,
      79137.4,
      79671.71,
      81270.2,
      82828.7
    ]
  },
  "confluences": [
    "ICT와 Wyckoff가 모두 구조적 bearish를 지지한다: ICT는 $79,137.40 및 $78,713.80 하방 BOS를, Wyckoff는 UTAD $82,828.70 이후 LPSY $81,270.20 형성을 분배 구조로 해석한다.",
    "핵심 저항대 $78,510-$78,565에 다수의 근거가 집중된다: ICT·Candlestick·Derivatives의 EMA120 $78,510.77, Wyckoff 단기 AR/공급권 $78,564.30, Fibonacci 스윙 고점 $78,564가 겹친다.",
    "$78,300 부근은 Wyckoff 메인 range high $78,300이자 과거 ICT bullish BOS 레벨 $78,300으로, 회복 여부가 레인지 상단 구조 판단에 중요하다.",
    "$79,006.60은 ICT·Candlestick·Derivatives가 공통으로 제시한 7일 범위 EQ이며, 현재가 $77,444.60은 이 아래에 있어 구조적으로는 discount 위치다.",
    "$76,014-$76,377 구간은 ICT의 7일 저가 $76,014.20 및 전일 저가 $76,377.00, Wyckoff의 SOW $76,377.00, Harmonic Bat D $76,014.20이 겹치는 하단 구조 지지/유동성 구간이다.",
    "$77,335-$77,343은 Fibonacci 0.5 되돌림 $77,335.70과 Candlestick·Derivatives EMA20 $77,342.69가 겹치는 단기 균형 지지선이다.",
    "$78,000 부근은 Derivatives의 가장 강한 상방 청산 레벨이며, Fibonacci 0.786 $78,038.46 및 ICT 전일 고가 $77,825.80과 가까워 단기 변동성/스윕 위험 구간이다."
  ],
  "conflicts": [
    "Harmonic은 strict medium bullish Bat가 PRZ $75,267.38-$76,622.56에서 완료 및 방어되었다고 보며 bullish setup을 제시하지만, 해당 신호는 PRZ 반응·TP ladder 성격으로 Wyckoff/ICT의 상위 구조 bearish 판정을 단독으로 뒤집기에는 부족하다.",
    "Candlestick은 EMA20 $77,342.69 및 EMA240 $77,079.14 위 유지와 7일 저점 $76,014.20 방어를 근거로 약한 bullish setup을 보지만, 패턴 품질이 최고 0.555에 그쳐 구조 신호로는 중립이다.",
    "현재가는 7일 EQ $79,006.60 아래의 discount 구간이어서 저가 매수 반응 가능성은 존재하지만, Wyckoff는 메인 분배 레인지 $73,669-$78,300 내부 상단부로 해석하여 같은 가격 위치를 공급 우위 구간으로 본다.",
    "Derivatives는 구조 자체는 박스권 중립으로 보지만, OI 24h -2.7320%, CVD divergence 0.700, $78,000 청산 클러스터를 근거로 실행 셋업은 bearish로 평가한다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert — dis_score 96.2, regime_fitness 0.963의 확정 분배 구조를 제시했고, BC $78,300 → AR $73,669 → ST $79,455 → UTAD $82,828.70 → LPSY $81,270.20로 이어지는 구체적 phase sequence가 가장 선명하다.",
  "invalidation_level": "$82,828.70의 UTAD 고점을 명확히 회복·안착하면 현재 bearish 분배 구조 판정은 무효화된다. 그 전 단계로 $81,270.20 LPSY 회복은 bearish 구조 약화 신호다.",
  "executive_summary": "현재 BTC 4시간 구조의 우세 판정은 bearish이며, 핵심 근거는 Wyckoff의 확정 분배 구조와 ICT의 연속 하방 BOS다. 구조상 가격은 UTAD $82,828.70 및 LPSY $81,270.20 이후 하락한 상태이며, 현재는 메인 분배 레인지 $73,669-$78,300 내부 상단부와 단기 재분배 후보 구간에 위치한다. $78,300-$78,565는 Wyckoff range high, EMA120 $78,510.77, Fibonacci 스윙 고점 $78,564가 겹치는 핵심 구조 저항대이며, $76,014-$76,377은 SOW/7일 저점/Harmonic Bat D가 겹치는 하단 구조 지지 구간이다. Harmonic Bat PRZ 방어는 반등형 분기 리스크로 인정되지만, 상위 구조를 뒤집으려면 최소 $81,270.20 회복과 궁극적으로 $82,828.70 돌파가 필요하다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-05-21 01:00 KST",
  "last_price": 77444.6,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.75,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.75,
      "setup_signals": [
        "현재가 $77,444.60이 EQ $79,006.60 아래의 discount 구간에 있으나, $78,713.80 및 $79,137.40 하방 BOS 이후 회복 실패",
        "현재가가 EMA120 $78,510.77 아래에 위치하여 중기 동적 저항을 회복하지 못함",
        "전일 고가 $77,825.80 미돌파 상태로 단기 buy-side liquidity 회수 실패",
        "최근 구조 이벤트가 BOS_bearish 2회 연속으로 마감되어 하방 continuation setup 우세"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 최근 구조 시퀀스에서 $79,137.40 및 $78,713.80 하방 BOS가 연속 발생했고, 현재가 $77,444.60은 두 구조 저항 아래에 머물러 있어 하방 구조가 유지되고 있다. 가격은 EQ $79,006.60 아래 discount 영역에 있어 단순 위치만 보면 저가 매수 반응 가능성은 있으나, 활성 OB와 미체결 FVG가 모두 0개이고 최근 liquidity sweep도 없어 강한 bullish 반전 근거는 부족하다. 단기적으로는 전일 고가 $77,825.80 및 EMA120 $78,510.77 회복 여부가 핵심이며, 회복 실패 시 전일 저가 $76,377.00과 7일 저가 $76,014.20 유동성으로 하방 탐색 가능성이 높다.",
      "key_levels": {
        "support": [
          77100.0,
          76377.0,
          76014.2,
          76009.0
        ],
        "resistance": [
          77825.8,
          78510.77,
          78713.8,
          79006.6,
          79137.4,
          79455.0,
          81999.0
        ]
      },
      "time_horizon": "단기~중기, 4시간봉 기준",
      "invalidation_level": "$79,455.00 4시간봉 종가 상향 돌파",
      "risk_scenario": "반대 시나리오는 가격이 $77,825.80 전일 고가를 회수한 뒤 EMA120 $78,510.77과 EQ $79,006.60 위로 안착하는 경우이다. 이 경우 $78,713.80 및 $79,137.40 하방 BOS가 bear trap으로 전환될 수 있고, $79,455.00 상향 돌파 시 bullish CHoCH 재확인으로 $81,999.00 range high의 buy-side liquidity를 목표로 할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 48,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 76009.0
          },
          {
            "type": "BOS_bullish",
            "level": 78300.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 77100.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 79455.0
          },
          {
            "type": "BOS_bearish",
            "level": 79137.4
          },
          {
            "type": "BOS_bearish",
            "level": 78713.8
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 2,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 79006.6,
        "range_high": 81999.0,
        "range_low": 76014.2,
        "bull_score": 7.2,
        "bear_score": 7.7,
        "setup_bias": "bearish",
        "setup_score": 0.75,
        "setup_signals": [
          "bearish CHoCH below $77,100.00",
          "bearish BOS below $79,137.40",
          "bearish BOS below $78,713.80"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 30.3,
        "deepest_retracement_pct": 30.3,
        "previous_day_high": 77825.8,
        "previous_day_low": 76377.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.75,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.75,\n  \"setup_signals\": [\n    \"현재가 $77,444.60이 EQ $79,006.60 아래의 discount 구간에 있으나, $78,713.80 및 $79,137.40 하방 BOS 이후 회복 실패\",\n    \"현재가가 EMA120 $78,510.77 아래에 위치하여 중기 동적 저항을 회복하지 못함\",\n    \"전일 고가 $77,825.80 미돌파 상태로 단기 buy-side liquidity 회수 실패\",\n    \"최근 구조 이벤트가 BOS_bearish 2회 연속으로 마감되어 하방 continuation setup 우세\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 최근 구조 시퀀스에서 $79,137.40 및 $78,713.80 하방 BOS가 연속 발생했고, 현재가 $77,444.60은 두 구조 저항 아래에 머물러 있어 하방 구조가 유지되고 있다. 가격은 EQ $79,006.60 아래 discount 영역에 있어 단순 위치만 보면 저가 매수 반응 가능성은 있으나, 활성 OB와 미체결 FVG가 모두 0개이고 최근 liquidity sweep도 없어 강한 bullish 반전 근거는 부족하다. 단기적으로는 전일 고가 $77,825.80 및 EMA120 $78,510.77 회복 여부가 핵심이며, 회복 실패 시 전일 저가 $76,377.00과 7일 저가 $76,014.20 유동성으로 하방 탐색 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      77100.0,\n      76377.0,\n      76014.2,\n      76009.0\n    ],\n    \"resistance\": [\n      77825.8,\n      78510.77,\n      78713.8,\n      79006.6,\n      79137.4,\n      79455.0,\n      81999.0\n    ]\n  },\n  \"time_horizon\": \"단기~중기, 4시간봉 기준\",\n  \"invalidation_level\": \"$79,455.00 4시간봉 종가 상향 돌파\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $77,825.80 전일 고가를 회수한 뒤 EMA120 $78,510.77과 EQ $79,006.60 위로 안착하는 경우이다. 이 경우 $78,713.80 및 $79,137.40 하방 BOS가 bear trap으로 전환될 수 있고, $79,455.00 상향 돌파 시 bullish CHoCH 재확인으로 $81,999.00 range high의 buy-side liquidity를 목표로 할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.45,
      "setup_signals": [
        "현재가 $77,444.60은 7일 범위 EQ $79,006.60 아래의 할인 구간에 위치하여 단기 반등 셋업 가능성이 있음",
        "현재가가 EMA20 $77,342.69와 EMA240 $77,079.14 위에서 유지되고 있어 단기 지지 반응은 살아 있음",
        "7일 저점 $76,014.20 위에서 가격이 방어되고 있어 매도 추격보다는 저점 방어 여부가 핵심",
        "최근 패턴에 bullish_engulfing@296이 있으나, bearish_engulfing@291 및 @295와 doji@294/@298이 공존해 구조 전환은 아직 미확정",
        "고거래량 doji가 감지되어 방향성 확정보다는 매수·매도 힘겨루기 구간으로 해석됨"
      ],
      "reasoning": "현재 BTC는 $77,444.60으로 EMA20 $77,342.69 바로 위에 있으나 EMA120 $78,510.77 아래에 있어 단기 반등과 중기 저항이 충돌하는 구간입니다. 최근 5개 패턴 중 도지 2개와 상승/하락 장악형이 혼재하며, 최고 패턴 품질도 0.555에 불과해 강한 확정 신호로 보기 어렵습니다. 7일 저점 $76,014.20과 EMA240 $77,079.14 위를 지키는 점은 단기 bullish setup을 만들지만, bear_score 1.5000이 bull_score 0.750보다 높아 매수 우위가 구조적으로 확인되지는 않았습니다. 따라서 구조_bias는 중립, 셋업_bias는 할인 구간 반등 가능성에 따른 약한 bullish로 판단합니다.",
      "key_levels": {
        "support": [
          77342.69,
          77079.14,
          76014.2
        ],
        "resistance": [
          78510.77,
          79006.6,
          81999
        ]
      },
      "time_horizon": "단기, 향후 1~3개의 4시간봉",
      "invalidation_level": "$76,014.20 하향 이탈 시 현재의 단기 bullish setup은 무효화되며, $81,999.00 상향 돌파 시 중립 구조 판단도 무효화되고 bullish 구조 전환 가능성이 커짐",
      "risk_scenario": "반대로 가격이 EMA20 $77,342.69와 EMA240 $77,079.14를 연속적으로 이탈하면 고거래량 도지는 매수 흡수가 아니라 분배 신호로 해석될 수 있으며, $76,014.20 재시험 및 하향 유동성 사냥이 발생할 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 137,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@291",
          "bearish_engulfing@295",
          "bullish_engulfing@296",
          "doji@294",
          "doji@298"
        ],
        "atr_value": 687.72,
        "vol_avg_20": 20737.3,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.552,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.469,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.468,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.555,
        "bull_score": 0.75,
        "bear_score": 1.5
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"현재가 $77,444.60은 7일 범위 EQ $79,006.60 아래의 할인 구간에 위치하여 단기 반등 셋업 가능성이 있음\",\n    \"현재가가 EMA20 $77,342.69와 EMA240 $77,079.14 위에서 유지되고 있어 단기 지지 반응은 살아 있음\",\n    \"7일 저점 $76,014.20 위에서 가격이 방어되고 있어 매도 추격보다는 저점 방어 여부가 핵심\",\n    \"최근 패턴에 bullish_engulfing@296이 있으나, bearish_engulfing@291 및 @295와 doji@294/@298이 공존해 구조 전환은 아직 미확정\",\n    \"고거래량 doji가 감지되어 방향성 확정보다는 매수·매도 힘겨루기 구간으로 해석됨\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,444.60으로 EMA20 $77,342.69 바로 위에 있으나 EMA120 $78,510.77 아래에 있어 단기 반등과 중기 저항이 충돌하는 구간입니다. 최근 5개 패턴 중 도지 2개와 상승/하락 장악형이 혼재하며, 최고 패턴 품질도 0.555에 불과해 강한 확정 신호로 보기 어렵습니다. 7일 저점 $76,014.20과 EMA240 $77,079.14 위를 지키는 점은 단기 bullish setup을 만들지만, bear_score 1.5000이 bull_score 0.750보다 높아 매수 우위가 구조적으로 확인되지는 않았습니다. 따라서 구조_bias는 중립, 셋업_bias는 할인 구간 반등 가능성에 따른 약한 bullish로 판단합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77342.69,\n      77079.14,\n      76014.2\n    ],\n    \"resistance\": [\n      78510.77,\n      79006.6,\n      81999\n    ]\n  },\n  \"time_horizon\": \"단기, 향후 1~3개의 4시간봉\",\n  \"invalidation_level\": \"$76,014.20 하향 이탈 시 현재의 단기 bullish setup은 무효화되며, $81,999.00 상향 돌파 시 중립 구조 판단도 무효화되고 bullish 구조 전환 가능성이 커짐\",\n  \"risk_scenario\": \"반대로 가격이 EMA20 $77,342.69와 EMA240 $77,079.14를 연속적으로 이탈하면 고거래량 도지는 매수 흡수가 아니라 분배 신호로 해석될 수 있으며, $76,014.20 재시험 및 하향 유동성 사냥이 발생할 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "엄격 등급 bullish Bat 완료: D=$76,014.20, PRZ $75,267.38-$76,622.56에서 방어 확인",
        "Bat PRZ 반응 점수 0.95: AD 0.236 반응 도달, PRZ 중심 회복/거부, D/PRZ failure-zone 방어",
        "현재가 $77,444.60은 확인된 Bat PRZ 상단 $76,622.56 위에서 유지 중이며, 첫 검증 TP $78,574.55까지 약 $1,129.95 여지",
        "상단에는 형성 중인 strict high bullish Gartley PRZ $78,548.99-$79,671.71이 대기 중이나, 아직 미확인 pre-confirmation 후보",
        "EMA20 $77,342.69 및 EMA240 $77,079.14 위에서 거래되어 단기 지지 반응은 유지되지만 EMA120 $78,510.77 아래라 구조 확정은 부족"
      ],
      "reasoning": "확인된 구조적 BOS/CHoCH 데이터가 없으므로 structure_bias는 중립으로 둔다. 다만 harmonic 관점에서는 strict medium bullish Bat가 $75,267.38-$76,622.56 PRZ에서 완료 후 반응 점수 0.95로 방어되었고, 현재가 $77,444.60이 PRZ 상단 위에 있어 setup_bias는 bullish이다. 검증된 Bat TP ladder는 TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70이며, 현재는 TP1 전 단계다. 반면 $78,548.99-$79,671.71에는 형성 중인 high-quality Gartley PRZ가 있어 상방 진행 시 반응/변동성 구간으로 봐야 하며, 미확인 상태라 단독으로 메인 경로를 뒤집을 수 없다.",
      "key_levels": {
        "support": [
          77342.69,
          77079.14,
          76622.56,
          76014.2,
          75267.38
        ],
        "resistance": [
          78510.77,
          78548.99,
          79110.35,
          79671.71,
          80199.11,
          82460.5
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$75,267.38",
      "risk_scenario": "가격이 확인된 Bat PRZ 하단 $75,267.38을 4시간 종가로 이탈하면 D/PRZ 방어 실패로 해석되며, bullish harmonic setup은 무효화된다. 이 경우 $76,014.20 저점 재이탈 후 하방 유동성 탐색이 우선될 수 있고, $78,548.99-$79,671.71 Gartley PRZ는 상방 목표가 아니라 실패한 반등의 저항 구간으로 전환될 위험이 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 100,
        "completed_patterns_found": 42,
        "forming_d_prz_found": 58,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 28,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 4,
          "medium": 39,
          "low": 57
        },
        "prz_status_counts": {
          "active": 38,
          "nearby": 15,
          "watch": 15,
          "far": 32,
          "forming": 20
        },
        "high_confluence_prz_count": 16,
        "strict_patterns_found": 45,
        "candidate_patterns_found": 55,
        "active_patterns_at_prz": 38,
        "nearby_patterns": 15,
        "all_patterns": [
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "crab",
          "shark",
          "bat",
          "bat",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "bat",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "bat",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "crab",
          "bat",
          "shark",
          "shark",
          "gartley",
          "gartley",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.914,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 77431.61,
        "price_to_prz": -0.02,
        "prz_range": [
          76395.22,
          78468.0
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.15,
            "price_to_prz_pct_raw": 2.1509,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.894,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.99,
            "price_to_prz_pct_raw": 2.9851,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.867,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.99,
            "price_to_prz_pct_raw": 2.9851,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.826,
                "adverse_move_ratio_ad": 0.409,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": 251
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.94,
            "price_to_prz_pct_raw": -1.9364,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4209,
              "ABC": 0.4085
            },
            "x_price": 75635.6,
            "x_idx": 166,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.31,
            "price_to_prz_pct_raw": 2.3149,
            "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": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.857,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.94,
            "price_to_prz_pct_raw": -1.9364,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 173,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": 286
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.849,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.08,
            "price_to_prz_pct_raw": 2.0816,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 240,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": 268
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.825,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.6,
            "price_to_prz_pct_raw": 2.6009,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.857,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.94,
            "price_to_prz_pct_raw": -1.9364,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 173,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": 286
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.15,
            "price_to_prz_pct_raw": 2.1509,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.15,
            "price_to_prz_pct_raw": 2.1509,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.894,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.99,
            "price_to_prz_pct_raw": 2.9851,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.867,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.99,
            "price_to_prz_pct_raw": 2.9851,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.826,
                "adverse_move_ratio_ad": 0.409,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": 251
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.94,
            "price_to_prz_pct_raw": -1.9364,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4209,
              "ABC": 0.4085
            },
            "x_price": 75635.6,
            "x_idx": 166,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.31,
            "price_to_prz_pct_raw": 2.3149,
            "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": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 244,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.857,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.94,
            "price_to_prz_pct_raw": -1.9364,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 173,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": 286
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.849,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.08,
            "price_to_prz_pct_raw": 2.0816,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 240,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": 268
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.825,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.6,
            "price_to_prz_pct_raw": 2.6009,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.791,
            "ratio_score": 0.748,
            "prz_score": 0.962,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78381.03,
              79576.86
            ],
            "prz_width_pct": 1.514,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.98,
            "price_to_prz_pct_raw": 1.9812,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.239,
                "adverse_move_ratio_ad": 0.262,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 78978.95,
              "a_price": 82460.5,
              "tp1_ad_382": 80308.9,
              "tp2_ad_618": 81130.55,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5999,
              "ABC": 0.8265,
              "BCD": 1.5419,
              "XAD": 0.8685
            },
            "x_price": 78027.0,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 240,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81999.0,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": 268
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.753,
            "ratio_score": 0.48,
            "prz_score": 0.907,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77813.71,
            "prz_range": [
              77106.13,
              78521.29
            ],
            "prz_width_pct": 1.819,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.48,
            "price_to_prz_pct_raw": 0.4766,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 77813.71,
              "a_price": 81043.2,
              "tp1_ad_382": 79047.38,
              "tp2_ad_618": 79809.54,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4262,
              "ABC": 0.9956
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 81043.2,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.632,
            "ratio_score": 0.46,
            "prz_score": 0.908,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78713.8,
            "prz_range": [
              78651.89,
              80089.91
            ],
            "prz_width_pct": 1.812,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.49,
            "price_to_prz_pct_raw": 2.4873,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 1.41,
                "adverse_move_ratio_ad": 0.045,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 79370.9,
              "a_price": 81043.2,
              "tp1_ad_382": 80009.72,
              "tp2_ad_618": 80404.38,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827,
              "BCD": 1.74,
              "XAD": 1.2223
            },
            "x_price": 79137.4,
            "x_idx": 223,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 233,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 255,
            "c_order": 5,
            "d_idx": 257
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.906,
            "ratio_score": 0.997,
            "prz_score": 0.847,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 77633.4,
            "prz_range": [
              76798.64,
              78468.15
            ],
            "prz_width_pct": 2.151,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.24,
            "price_to_prz_pct_raw": 0.2438,
            "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": 77633.4,
              "a_price": 82828.7,
              "tp1_ad_382": 79618.0,
              "tp2_ad_618": 80844.09,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7853,
              "ABC": 0.8023
            },
            "x_price": 78128.3,
            "x_idx": 201,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 213,
            "a_order": 8,
            "b_price": 79137.4,
            "b_idx": 223,
            "b_order": 8,
            "c_price": 82098.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "prz_proximity": "nearby",
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 2.15,
            "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": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $78,548.99-$79,671.71: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.857,
            "prz_proximity": "nearby",
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.94,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED MEDIUM PRZ $75,267.38-$76,622.56: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.909,
          "ratio_score": 0.976,
          "prz_score": 0.979,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 79110.35,
          "prz_range": [
            78548.99,
            79671.71
          ],
          "prz_width_pct": 1.419,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 2.15,
          "price_to_prz_pct_raw": 2.1509,
          "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": 79110.35,
            "a_price": 82460.5,
            "tp1_ad_382": 80390.11,
            "tp2_ad_618": 81180.74,
            "tp3_a_or_structure_liquidity": 82460.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6139,
            "ABC": 0.5524
          },
          "x_price": 78128.3,
          "x_idx": 201,
          "x_order": 5,
          "a_price": 82460.5,
          "a_idx": 240,
          "a_order": 8,
          "b_price": 79801.0,
          "b_idx": 251,
          "b_order": 3,
          "c_price": 81270.2,
          "c_idx": 255,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 79110.35,
          "a_price": 82460.5,
          "tp1_ad_382": 80390.11,
          "tp2_ad_618": 81180.74,
          "tp3_a_or_structure_liquidity": 82460.5,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 75944.97,
          "a_price": 82828.7,
          "tp1_ad_382": 78574.55,
          "tp2_ad_618": 80199.11,
          "tp3_a_or_structure_liquidity": 82828.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 79110.35,
            "a_price": 82460.5,
            "tp1_ad_382": 80390.11,
            "tp2_ad_618": 81180.74,
            "tp3_a_or_structure_liquidity": 82460.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "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": "watch",
        "directional_scores": {
          "bullish": 0.384,
          "bearish": 0
        },
        "directional_score_total": 0.384,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"엄격 등급 bullish Bat 완료: D=$76,014.20, PRZ $75,267.38-$76,622.56에서 방어 확인\",\n    \"Bat PRZ 반응 점수 0.95: AD 0.236 반응 도달, PRZ 중심 회복/거부, D/PRZ failure-zone 방어\",\n    \"현재가 $77,444.60은 확인된 Bat PRZ 상단 $76,622.56 위에서 유지 중이며, 첫 검증 TP $78,574.55까지 약 $1,129.95 여지\",\n    \"상단에는 형성 중인 strict high bullish Gartley PRZ $78,548.99-$79,671.71이 대기 중이나, 아직 미확인 pre-confirmation 후보\",\n    \"EMA20 $77,342.69 및 EMA240 $77,079.14 위에서 거래되어 단기 지지 반응은 유지되지만 EMA120 $78,510.77 아래라 구조 확정은 부족\"\n  ],\n  \"reasoning\": \"확인된 구조적 BOS/CHoCH 데이터가 없으므로 structure_bias는 중립으로 둔다. 다만 harmonic 관점에서는 strict medium bullish Bat가 $75,267.38-$76,622.56 PRZ에서 완료 후 반응 점수 0.95로 방어되었고, 현재가 $77,444.60이 PRZ 상단 위에 있어 setup_bias는 bullish이다. 검증된 Bat TP ladder는 TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70이며, 현재는 TP1 전 단계다. 반면 $78,548.99-$79,671.71에는 형성 중인 high-quality Gartley PRZ가 있어 상방 진행 시 반응/변동성 구간으로 봐야 하며, 미확인 상태라 단독으로 메인 경로를 뒤집을 수 없다.\",\n  \"key_levels\": {\n    \"support\": [\n      77342.69,\n      77079.14,\n      76622.56,\n      76014.2,\n      75267.38\n    ],\n    \"resistance\": [\n      78510.77,\n      78548.99,\n      79110.35,\n      79671.71,\n      80199.11,\n      82460.5\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$75,267.38\",\n  \"risk_scenario\": \"가격이 확인된 Bat PRZ 하단 $75,267.38을 4시간 종가로 이탈하면 D/PRZ 방어 실패로 해석되며, bullish harmonic setup은 무효화된다. 이 경우 $76,014.20 저점 재이탈 후 하방 유동성 탐색이 우선될 수 있고, $78,548.99-$79,671.71 Gartley PRZ는 상방 목표가 아니라 실패한 반등의 저항 구간으로 전환될 위험이 있다.\",\n  \"data_quality\": \"medium\"\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 $78,300 → AR $73,669 → ST $79,455 → UTAD $82,828.7 → LPSY $81,270.2 이후 가격이 $77,444.6까지 하락",
        "현재가 $77,444.6은 메인 분배 레인지 EQ 약 $75,984.5 위의 프리미엄 영역에 위치",
        "즉시 저항은 메인 range high $78,300 및 단기 AR/공급권 $78,564.3 부근이며, 이 구간 회복 실패 시 재하락 압력 우세",
        "Phase D의 LPSY $81,270.2 아래에서 거래 중이며, UTAD $82,828.7을 회복하지 못한 상태",
        "하단에는 최근 SOW/ST 저점권 $76,377~$76,107이 다음 재시험 후보로 남아 있음"
      ],
      "reasoning": "4시간 Wyckoff 구조는 regime이 DIS, regime_state가 confirmed_dis이며 dis_score 96.2와 regime_fitness 0.963으로 분배 판정 신뢰도가 높습니다. 주요 앵커는 BC $78,300, AR $73,669이며, 이후 ST $79,455, UT $79,145, UTAD $82,828.7, LPSY $81,270.2가 형성되어 현재는 분배 Phase D로 해석됩니다. 현재가 $77,444.6은 메인 레인지 $73,669~$78,300 내부 상단부에 있으며, $78,300~$78,564.3 회복에 실패하면 $76,377~$76,107 SOW 권역 재시험 가능성이 우선입니다. 다만 즉시 가격은 레인지 내부에 있으므로, 구조적 편향은 bearish이나 단기 실행 관점에서는 $78,300 회복 여부를 확인해야 합니다.",
      "key_levels": {
        "support": [
          76377.0,
          76107.1,
          74868.0,
          73669.0
        ],
        "resistance": [
          78300.0,
          78564.3,
          79145.0,
          81270.2,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "82828.70",
      "risk_scenario": "$78,300 및 $78,564.3을 회복하고 그 위에서 수용되면 단기 하락 셋업은 약화됩니다. 특히 LPSY $81,270.2를 재돌파한 뒤 UTAD $82,828.7까지 회복하면 현재 분배 Phase D 해석은 무효화되며, 상단 유동성 재평가 구간으로 전환될 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 88.6,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 101,
            "price": 78300.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 115,
            "price": 73669.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 157,
            "price": 79455.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 173,
            "price": 74868.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 192,
            "price": 79145.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 213,
            "price": 82828.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 255,
            "price": 81270.2,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 101,
            "end_idx": 255,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 101,
                "price": 78300.0,
                "color": "#ffd166",
                "dt": "2026-04-18 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 115,
                "price": 73669.0,
                "color": "#06d6a0",
                "dt": "2026-04-20 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 157,
                "price": 79455.0,
                "color": "#118ab2",
                "dt": "2026-04-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 173,
                "price": 74868.0,
                "color": "#ef476f",
                "dt": "2026-04-30 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 192,
                "price": 79145.0,
                "color": "#f9844a",
                "dt": "2026-05-03 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 213,
                "price": 82828.7,
                "color": "#f9844a",
                "dt": "2026-05-06 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 255,
                "price": 81270.2,
                "color": "#8338ec",
                "dt": "2026-05-13 17:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "4h_cycle_2",
            "sequence": 2,
            "timeframe": "4h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 268,
            "end_idx": 293,
            "phase_count": 4,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 268,
                "price": 78610.0,
                "color": "#ffd166",
                "dt": "2026-05-15 21:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 279,
                "price": 78564.3,
                "color": "#06d6a0",
                "dt": "2026-05-17 17:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 292,
                "price": 76107.1,
                "color": "#118ab2",
                "dt": "2026-05-19 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 293,
                "price": 76377.0,
                "color": "#ef476f",
                "dt": "2026-05-20 01:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_2",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 73669.0,
        "main_range_high": 78300.0
      },
      "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 $78,300 → AR $73,669 → ST $79,455 → UTAD $82,828.7 → LPSY $81,270.2 이후 가격이 $77,444.6까지 하락\",\n    \"현재가 $77,444.6은 메인 분배 레인지 EQ 약 $75,984.5 위의 프리미엄 영역에 위치\",\n    \"즉시 저항은 메인 range high $78,300 및 단기 AR/공급권 $78,564.3 부근이며, 이 구간 회복 실패 시 재하락 압력 우세\",\n    \"Phase D의 LPSY $81,270.2 아래에서 거래 중이며, UTAD $82,828.7을 회복하지 못한 상태\",\n    \"하단에는 최근 SOW/ST 저점권 $76,377~$76,107이 다음 재시험 후보로 남아 있음\"\n  ],\n  \"reasoning\": \"4시간 Wyckoff 구조는 regime이 DIS, regime_state가 confirmed_dis이며 dis_score 96.2와 regime_fitness 0.963으로 분배 판정 신뢰도가 높습니다. 주요 앵커는 BC $78,300, AR $73,669이며, 이후 ST $79,455, UT $79,145, UTAD $82,828.7, LPSY $81,270.2가 형성되어 현재는 분배 Phase D로 해석됩니다. 현재가 $77,444.6은 메인 레인지 $73,669~$78,300 내부 상단부에 있으며, $78,300~$78,564.3 회복에 실패하면 $76,377~$76,107 SOW 권역 재시험 가능성이 우선입니다. 다만 즉시 가격은 레인지 내부에 있으므로, 구조적 편향은 bearish이나 단기 실행 관점에서는 $78,300 회복 여부를 확인해야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76377.0,\n      76107.1,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      78300.0,\n      78564.3,\n      79145.0,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"82828.70\",\n  \"risk_scenario\": \"$78,300 및 $78,564.3을 회복하고 그 위에서 수용되면 단기 하락 셋업은 약화됩니다. 특히 LPSY $81,270.2를 재돌파한 뒤 UTAD $82,828.7까지 회복하면 현재 분배 Phase D 해석은 무효화되며, 상단 유동성 재평가 구간으로 전환될 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.65,
      "setup_signals": [
        "현재가 $77,444.60은 하락 스윙 $78,564 → $76,107의 EQ/ret_0.5 $77,335.70 위에 있어 단기 프리미엄 영역에 진입",
        "0.618 황금비율 되돌림 $77,625.65가 현재가에서 약 0.23% 위에 위치해 1차 매도 반응 후보",
        "가장 가까운 피보나치 레벨은 ret_0.5 $77,335.70이며 거리 점수 0.140으로 현재 가격이 균형선 부근을 테스트 중",
        "상방 저항은 ret_0.618 $77,625.65 및 ret_0.786 $78,038.46에 집중되어 있으며, 구조 전환 확인 전까지는 되돌림 저항 구간으로 해석",
        "하방에는 ret_0.382 $77,045.75, ret_0.236 $76,687.00, 스윙 저점/확장 기준 $76,107.10이 순차적 유동성 목표로 존재"
      ],
      "reasoning": "현재 BTC/USDT는 하락 스윙 $78,564 → $76,107 이후 되돌림 국면이며, 가격 $77,444.60은 ret_0.5 $77,335.70을 소폭 상회하지만 핵심 황금비율 저항 ret_0.618 $77,625.65 아래에 머물러 있습니다. 구조적으로는 아직 ret_0.786 $78,038.46 또는 스윙 고점 $78,564를 명확히 회복하지 못했기 때문에 확인된 추세 전환보다는 하락 스윙 내 반등으로 보는 것이 우세합니다. 세팅 관점에서는 EQ 위 프리미엄 진입 후 0.618 저항을 앞둔 상태라 단기 매도 반응 가능성이 있으며, fib_reaction_state가 testing이고 reaction_probability가 0.65로 제시되어 있습니다. 다만 $77,335.70을 지키며 $77,625.65를 돌파하면 $78,038.46까지 추가 되돌림이 열릴 수 있어 공격적 확신은 제한됩니다.",
      "key_levels": {
        "support": [
          77335.7,
          77045.75,
          76687,
          76107.1,
          75438.74,
          74588.55
        ],
        "resistance": [
          77625.65,
          78038.46,
          78564
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,038.46 4시간봉 종가 상향 돌파",
      "risk_scenario": "$77,625.65의 0.618 황금비율 저항이 돌파되고 $78,038.46 ret_0.786 위에서 수용되면, 현재의 하락 되돌림 매도 세팅은 무효화되며 $78,564 스윙 고점 재시험 및 추가 숏 커버링이 발생할 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $78,564 → $76,107",
        "direction": "down",
        "nearest_fib": "ret_0.5",
        "nearest_fib_price": 77335.7,
        "nearest_fib_distance": 0.14,
        "golden_ratio_level": 77625.65,
        "fib_ret_382": 77045.75,
        "fib_ret_618": 77625.65,
        "confluence_zones": [
          {
            "price": 72179.87,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 74420.48,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 75264.28,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 76191.75,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 76866.37,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          77335.70000000001,
          77045.7504,
          76686.9992
        ],
        "resistance_levels": [
          77625.6496,
          78038.4592
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 76687.0,
            "distance_pct": 0.98,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 77045.75,
            "distance_pct": 0.52,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 77335.7,
            "distance_pct": 0.14,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77625.65,
            "distance_pct": 0.23,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 78038.46,
            "distance_pct": 0.77,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 76107.1,
            "distance_pct": 1.73,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 75438.74,
            "distance_pct": 2.59,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 75089.82,
            "distance_pct": 3.04,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 74588.55,
            "distance_pct": 3.69,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 73649.9,
            "distance_pct": 4.9,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"현재가 $77,444.60은 하락 스윙 $78,564 → $76,107의 EQ/ret_0.5 $77,335.70 위에 있어 단기 프리미엄 영역에 진입\",\n    \"0.618 황금비율 되돌림 $77,625.65가 현재가에서 약 0.23% 위에 위치해 1차 매도 반응 후보\",\n    \"가장 가까운 피보나치 레벨은 ret_0.5 $77,335.70이며 거리 점수 0.140으로 현재 가격이 균형선 부근을 테스트 중\",\n    \"상방 저항은 ret_0.618 $77,625.65 및 ret_0.786 $78,038.46에 집중되어 있으며, 구조 전환 확인 전까지는 되돌림 저항 구간으로 해석\",\n    \"하방에는 ret_0.382 $77,045.75, ret_0.236 $76,687.00, 스윙 저점/확장 기준 $76,107.10이 순차적 유동성 목표로 존재\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 하락 스윙 $78,564 → $76,107 이후 되돌림 국면이며, 가격 $77,444.60은 ret_0.5 $77,335.70을 소폭 상회하지만 핵심 황금비율 저항 ret_0.618 $77,625.65 아래에 머물러 있습니다. 구조적으로는 아직 ret_0.786 $78,038.46 또는 스윙 고점 $78,564를 명확히 회복하지 못했기 때문에 확인된 추세 전환보다는 하락 스윙 내 반등으로 보는 것이 우세합니다. 세팅 관점에서는 EQ 위 프리미엄 진입 후 0.618 저항을 앞둔 상태라 단기 매도 반응 가능성이 있으며, fib_reaction_state가 testing이고 reaction_probability가 0.65로 제시되어 있습니다. 다만 $77,335.70을 지키며 $77,625.65를 돌파하면 $78,038.46까지 추가 되돌림이 열릴 수 있어 공격적 확신은 제한됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77335.7,\n      77045.75,\n      76687,\n      76107.1,\n      75438.74,\n      74588.55\n    ],\n    \"resistance\": [\n      77625.65,\n      78038.46,\n      78564\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,038.46 4시간봉 종가 상향 돌파\",\n  \"risk_scenario\": \"$77,625.65의 0.618 황금비율 저항이 돌파되고 $78,038.46 ret_0.786 위에서 수용되면, 현재의 하락 되돌림 매도 세팅은 무효화되며 $78,564 스윙 고점 재시험 및 추가 숏 커버링이 발생할 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.59,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $77,444.60은 7일 범위 EQ 약 $79,006.60 아래에 있어 구조적으로는 아직 디스카운트 구간이지만, $78,000에 가장 강한 상방 청산 클러스터가 있어 단기 스윕 후 되돌림 위험이 큼",
        "CVD divergence 0.700 및 CVD change +715.3080: 매수 체결이 유입됐지만 가격은 EMA120 $78,510.77 아래에 머물러 매수 흡수 가능성",
        "OI 24h -2.7320%, oi_trend 0.227: 신규 롱 추세가 아니라 포지션 언와인딩 성격이 강해 상승 지속 신뢰도 낮음",
        "long_account_latest 0.570, account_long_crowding 0.750: 롱 계정 비중이 여전히 높아 반대매매 관점에서 하방 취약",
        "account_flow_label이 short_accounts_rising_long_accounts_falling: 롱 계정은 감소하고 숏 계정은 증가 중으로 단기 방향성 확정 전 포지셔닝 전환 발생",
        "spot-futures basis -0.0353%로 선물이 현물 대비 소폭 디스카운트이며, 공격적 상승 프리미엄은 부재"
      ],
      "reasoning": "현재 BTC는 $77,444.60으로 EMA20 $77,342.69 바로 위에 있지만 EMA120 $78,510.77 아래에 있어 확인된 추세 전환보다는 $76,014.20~$81,999.00 박스권 내부의 중립 구조로 보는 것이 맞다. 다만 파생 포지셔닝은 약하다: OI가 24시간 -2.7320% 감소했고 oi_trend도 0.227에 불과해 상승이 신규 레버리지 유입으로 지지되지 않는다. CVD divergence 0.700과 CVD change +715.3080은 매수 체결에도 가격이 $78,000~$78,510 저항을 명확히 돌파하지 못하는 흡수 신호로 해석된다. 상방에는 $78,000에 가장 강한 청산 레벨이 있고 그 위 $79,900~$80,000에도 청산 밀집이 있어, 단기적으로는 $78,000 스윕 후 실패 시 $75,900 및 $74,300 하방 유동성으로 밀릴 위험이 더 크다.",
      "key_levels": {
        "support": [
          77342.69,
          77079.14,
          76014.2,
          75900,
          74300,
          69700
        ],
        "resistance": [
          78000,
          78510.77,
          79006.6,
          79900,
          80000,
          81999
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "$80,000 4시간봉 종가 상향 안착",
      "risk_scenario": "$78,000 상방 청산을 스윕한 뒤에도 가격이 밀리지 않고 $79,900~$80,000 위에서 4시간봉 종가를 형성하면 숏 압박이 역으로 숏 스퀴즈로 전환될 수 있다. 이 경우 구조는 여전히 $81,999 돌파 전까지 완전한 bullish 확정은 아니지만, 단기 bearish setup은 무효화되고 $81,999 7일 고점 재테스트 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 715.308,
        "oi_trend": 0.227,
        "oi_change_pct_24h": -2.732,
        "oi_latest": 103159.905,
        "funding_pressure": 0.441,
        "funding_avg": 5.914e-05,
        "funding_change_24h": 1.295e-05,
        "long_account_ratio": 0.59,
        "short_account_ratio": 0.41,
        "long_account_latest": 0.57,
        "short_account_latest": 0.43,
        "long_account_change_24h": -0.0335,
        "short_account_change_24h": 0.0335,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.75,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.491,
        "spot_futures_basis_pct": -0.0353,
        "basis_change_lookback": 0.0208,
        "aggregate_score": 0.372,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            75900,
            15208.239559300002
          ],
          [
            74300,
            14787.612526
          ],
          [
            69700,
            14522.3818775
          ]
        ],
        "liq_above": [
          [
            78000,
            19620.03964665
          ],
          [
            79900,
            14454.197869950001
          ],
          [
            80000,
            16126.006716000002
          ]
        ],
        "strongest_liq_level": 78000,
        "fragility_score": 0.679,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.59,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $77,444.60은 7일 범위 EQ 약 $79,006.60 아래에 있어 구조적으로는 아직 디스카운트 구간이지만, $78,000에 가장 강한 상방 청산 클러스터가 있어 단기 스윕 후 되돌림 위험이 큼\",\n    \"CVD divergence 0.700 및 CVD change +715.3080: 매수 체결이 유입됐지만 가격은 EMA120 $78,510.77 아래에 머물러 매수 흡수 가능성\",\n    \"OI 24h -2.7320%, oi_trend 0.227: 신규 롱 추세가 아니라 포지션 언와인딩 성격이 강해 상승 지속 신뢰도 낮음\",\n    \"long_account_latest 0.570, account_long_crowding 0.750: 롱 계정 비중이 여전히 높아 반대매매 관점에서 하방 취약\",\n    \"account_flow_label이 short_accounts_rising_long_accounts_falling: 롱 계정은 감소하고 숏 계정은 증가 중으로 단기 방향성 확정 전 포지셔닝 전환 발생\",\n    \"spot-futures basis -0.0353%로 선물이 현물 대비 소폭 디스카운트이며, 공격적 상승 프리미엄은 부재\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,444.60으로 EMA20 $77,342.69 바로 위에 있지만 EMA120 $78,510.77 아래에 있어 확인된 추세 전환보다는 $76,014.20~$81,999.00 박스권 내부의 중립 구조로 보는 것이 맞다. 다만 파생 포지셔닝은 약하다: OI가 24시간 -2.7320% 감소했고 oi_trend도 0.227에 불과해 상승이 신규 레버리지 유입으로 지지되지 않는다. CVD divergence 0.700과 CVD change +715.3080은 매수 체결에도 가격이 $78,000~$78,510 저항을 명확히 돌파하지 못하는 흡수 신호로 해석된다. 상방에는 $78,000에 가장 강한 청산 레벨이 있고 그 위 $79,900~$80,000에도 청산 밀집이 있어, 단기적으로는 $78,000 스윕 후 실패 시 $75,900 및 $74,300 하방 유동성으로 밀릴 위험이 더 크다.\",\n  \"key_levels\": {\n    \"support\": [\n      77342.69,\n      77079.14,\n      76014.2,\n      75900,\n      74300,\n      69700\n    ],\n    \"resistance\": [\n      78000,\n      78510.77,\n      79006.6,\n      79900,\n      80000,\n      81999\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"$80,000 4시간봉 종가 상향 안착\",\n  \"risk_scenario\": \"$78,000 상방 청산을 스윕한 뒤에도 가격이 밀리지 않고 $79,900~$80,000 위에서 4시간봉 종가를 형성하면 숏 압박이 역으로 숏 스퀴즈로 전환될 수 있다. 이 경우 구조는 여전히 $81,999 돌파 전까지 완전한 bullish 확정은 아니지만, 단기 bearish setup은 무효화되고 $81,999 7일 고점 재테스트 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.72,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.69,
      "active_setups": [
        "ICT: $79,137.40 및 $78,713.80 하방 BOS 이후 가격이 $77,444.60에서 두 구조 저항 아래에 머물며, EMA120 $78,510.77 회복 실패",
        "Wyckoff: 확정 분배 구조 이후 LPSY $81,270.20 아래에서 거래되며, 현재가는 메인 분배 레인지 상단부 $78,300 부근 아래",
        "Fibonacci: 하락 스윙 $78,564 → $76,107의 0.5 되돌림 $77,335.70 위에 있지만 0.618 저항 $77,625.65 아래에서 테스트 중",
        "Derivatives: $78,000 상방 청산 클러스터와 EMA120 $78,510.77 아래 정체, CVD 유입 대비 가격 회복 실패로 흡수 위험",
        "Harmonic 반대 조건: bullish Bat PRZ $75,267.38-$76,622.56 방어 및 현재가가 PRZ 상단 위에 있어 반등형 분기 리스크 존재"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 bearish 판정과 대체로 정렬되어 있다. 다만 현재가가 7일 EQ $79,006.60 아래의 discount 구간이고 harmonic Bat PRZ 방어가 확인되어, 즉시 매도 추격보다는 $77,625-$78,565 저항 회복 여부를 조건부로 관리해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        77342.69,
        77335.7,
        77079.14,
        76622.56,
        76377.0,
        76107.1,
        76014.2,
        75267.38,
        74868.0,
        73669.0
      ],
      "resistance": [
        77625.65,
        77825.8,
        78000.0,
        78038.46,
        78300.0,
        78510.77,
        78548.99,
        78564.3,
        78713.8,
        79006.6,
        79137.4,
        79671.71,
        81270.2,
        82828.7
      ]
    },
    "confluences": [
      "ICT와 Wyckoff가 모두 구조적 bearish를 지지한다: ICT는 $79,137.40 및 $78,713.80 하방 BOS를, Wyckoff는 UTAD $82,828.70 이후 LPSY $81,270.20 형성을 분배 구조로 해석한다.",
      "핵심 저항대 $78,510-$78,565에 다수의 근거가 집중된다: ICT·Candlestick·Derivatives의 EMA120 $78,510.77, Wyckoff 단기 AR/공급권 $78,564.30, Fibonacci 스윙 고점 $78,564가 겹친다.",
      "$78,300 부근은 Wyckoff 메인 range high $78,300이자 과거 ICT bullish BOS 레벨 $78,300으로, 회복 여부가 레인지 상단 구조 판단에 중요하다.",
      "$79,006.60은 ICT·Candlestick·Derivatives가 공통으로 제시한 7일 범위 EQ이며, 현재가 $77,444.60은 이 아래에 있어 구조적으로는 discount 위치다.",
      "$76,014-$76,377 구간은 ICT의 7일 저가 $76,014.20 및 전일 저가 $76,377.00, Wyckoff의 SOW $76,377.00, Harmonic Bat D $76,014.20이 겹치는 하단 구조 지지/유동성 구간이다.",
      "$77,335-$77,343은 Fibonacci 0.5 되돌림 $77,335.70과 Candlestick·Derivatives EMA20 $77,342.69가 겹치는 단기 균형 지지선이다.",
      "$78,000 부근은 Derivatives의 가장 강한 상방 청산 레벨이며, Fibonacci 0.786 $78,038.46 및 ICT 전일 고가 $77,825.80과 가까워 단기 변동성/스윕 위험 구간이다."
    ],
    "conflicts": [
      "Harmonic은 strict medium bullish Bat가 PRZ $75,267.38-$76,622.56에서 완료 및 방어되었다고 보며 bullish setup을 제시하지만, 해당 신호는 PRZ 반응·TP ladder 성격으로 Wyckoff/ICT의 상위 구조 bearish 판정을 단독으로 뒤집기에는 부족하다.",
      "Candlestick은 EMA20 $77,342.69 및 EMA240 $77,079.14 위 유지와 7일 저점 $76,014.20 방어를 근거로 약한 bullish setup을 보지만, 패턴 품질이 최고 0.555에 그쳐 구조 신호로는 중립이다.",
      "현재가는 7일 EQ $79,006.60 아래의 discount 구간이어서 저가 매수 반응 가능성은 존재하지만, Wyckoff는 메인 분배 레인지 $73,669-$78,300 내부 상단부로 해석하여 같은 가격 위치를 공급 우위 구간으로 본다.",
      "Derivatives는 구조 자체는 박스권 중립으로 보지만, OI 24h -2.7320%, CVD divergence 0.700, $78,000 청산 클러스터를 근거로 실행 셋업은 bearish로 평가한다."
    ],
    "executive_summary": "현재 BTC 4시간 구조의 우세 판정은 bearish이며, 핵심 근거는 Wyckoff의 확정 분배 구조와 ICT의 연속 하방 BOS다. 구조상 가격은 UTAD $82,828.70 및 LPSY $81,270.20 이후 하락한 상태이며, 현재는 메인 분배 레인지 $73,669-$78,300 내부 상단부와 단기 재분배 후보 구간에 위치한다. $78,300-$78,565는 Wyckoff range high, EMA120 $78,510.77, Fibonacci 스윙 고점 $78,564가 겹치는 핵심 구조 저항대이며, $76,014-$76,377은 SOW/7일 저점/Harmonic Bat D가 겹치는 하단 구조 지지 구간이다. Harmonic Bat PRZ 방어는 반등형 분기 리스크로 인정되지만, 상위 구조를 뒤집으려면 최소 $81,270.20 회복과 궁극적으로 $82,828.70 돌파가 필요하다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.72,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.69,\n    \"active_setups\": [\n      \"ICT: $79,137.40 및 $78,713.80 하방 BOS 이후 가격이 $77,444.60에서 두 구조 저항 아래에 머물며, EMA120 $78,510.77 회복 실패\",\n      \"Wyckoff: 확정 분배 구조 이후 LPSY $81,270.20 아래에서 거래되며, 현재가는 메인 분배 레인지 상단부 $78,300 부근 아래\",\n      \"Fibonacci: 하락 스윙 $78,564 → $76,107의 0.5 되돌림 $77,335.70 위에 있지만 0.618 저항 $77,625.65 아래에서 테스트 중\",\n      \"Derivatives: $78,000 상방 청산 클러스터와 EMA120 $78,510.77 아래 정체, CVD 유입 대비 가격 회복 실패로 흡수 위험\",\n      \"Harmonic 반대 조건: bullish Bat PRZ $75,267.38-$76,622.56 방어 및 현재가가 PRZ 상단 위에 있어 반등형 분기 리스크 존재\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 bearish 판정과 대체로 정렬되어 있다. 다만 현재가가 7일 EQ $79,006.60 아래의 discount 구간이고 harmonic Bat PRZ 방어가 확인되어, 즉시 매도 추격보다는 $77,625-$78,565 저항 회복 여부를 조건부로 관리해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      77342.69,\n      77335.7,\n      77079.14,\n      76622.56,\n      76377.0,\n      76107.1,\n      76014.2,\n      75267.38,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      77625.65,\n      77825.8,\n      78000.0,\n      78038.46,\n      78300.0,\n      78510.77,\n      78548.99,\n      78564.3,\n      78713.8,\n      79006.6,\n      79137.4,\n      79671.71,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Wyckoff가 모두 구조적 bearish를 지지한다: ICT는 $79,137.40 및 $78,713.80 하방 BOS를, Wyckoff는 UTAD $82,828.70 이후 LPSY $81,270.20 형성을 분배 구조로 해석한다.\",\n    \"핵심 저항대 $78,510-$78,565에 다수의 근거가 집중된다: ICT·Candlestick·Derivatives의 EMA120 $78,510.77, Wyckoff 단기 AR/공급권 $78,564.30, Fibonacci 스윙 고점 $78,564가 겹친다.\",\n    \"$78,300 부근은 Wyckoff 메인 range high $78,300이자 과거 ICT bullish BOS 레벨 $78,300으로, 회복 여부가 레인지 상단 구조 판단에 중요하다.\",\n    \"$79,006.60은 ICT·Candlestick·Derivatives가 공통으로 제시한 7일 범위 EQ이며, 현재가 $77,444.60은 이 아래에 있어 구조적으로는 discount 위치다.\",\n    \"$76,014-$76,377 구간은 ICT의 7일 저가 $76,014.20 및 전일 저가 $76,377.00, Wyckoff의 SOW $76,377.00, Harmonic Bat D $76,014.20이 겹치는 하단 구조 지지/유동성 구간이다.\",\n    \"$77,335-$77,343은 Fibonacci 0.5 되돌림 $77,335.70과 Candlestick·Derivatives EMA20 $77,342.69가 겹치는 단기 균형 지지선이다.\",\n    \"$78,000 부근은 Derivatives의 가장 강한 상방 청산 레벨이며, Fibonacci 0.786 $78,038.46 및 ICT 전일 고가 $77,825.80과 가까워 단기 변동성/스윕 위험 구간이다.\"\n  ],\n  \"conflicts\": [\n    \"Harmonic은 strict medium bullish Bat가 PRZ $75,267.38-$76,622.56에서 완료 및 방어되었다고 보며 bullish setup을 제시하지만, 해당 신호는 PRZ 반응·TP ladder 성격으로 Wyckoff/ICT의 상위 구조 bearish 판정을 단독으로 뒤집기에는 부족하다.\",\n    \"Candlestick은 EMA20 $77,342.69 및 EMA240 $77,079.14 위 유지와 7일 저점 $76,014.20 방어를 근거로 약한 bullish setup을 보지만, 패턴 품질이 최고 0.555에 그쳐 구조 신호로는 중립이다.\",\n    \"현재가는 7일 EQ $79,006.60 아래의 discount 구간이어서 저가 매수 반응 가능성은 존재하지만, Wyckoff는 메인 분배 레인지 $73,669-$78,300 내부 상단부로 해석하여 같은 가격 위치를 공급 우위 구간으로 본다.\",\n    \"Derivatives는 구조 자체는 박스권 중립으로 보지만, OI 24h -2.7320%, CVD divergence 0.700, $78,000 청산 클러스터를 근거로 실행 셋업은 bearish로 평가한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — dis_score 96.2, regime_fitness 0.963의 확정 분배 구조를 제시했고, BC $78,300 → AR $73,669 → ST $79,455 → UTAD $82,828.70 → LPSY $81,270.20로 이어지는 구체적 phase sequence가 가장 선명하다.\",\n  \"invalidation_level\": \"$82,828.70의 UTAD 고점을 명확히 회복·안착하면 현재 bearish 분배 구조 판정은 무효화된다. 그 전 단계로 $81,270.20 LPSY 회복은 bearish 구조 약화 신호다.\",\n  \"executive_summary\": \"현재 BTC 4시간 구조의 우세 판정은 bearish이며, 핵심 근거는 Wyckoff의 확정 분배 구조와 ICT의 연속 하방 BOS다. 구조상 가격은 UTAD $82,828.70 및 LPSY $81,270.20 이후 하락한 상태이며, 현재는 메인 분배 레인지 $73,669-$78,300 내부 상단부와 단기 재분배 후보 구간에 위치한다. $78,300-$78,565는 Wyckoff range high, EMA120 $78,510.77, Fibonacci 스윙 고점 $78,564가 겹치는 핵심 구조 저항대이며, $76,014-$76,377은 SOW/7일 저점/Harmonic Bat D가 겹치는 하단 구조 지지 구간이다. Harmonic Bat PRZ 방어는 반등형 분기 리스크로 인정되지만, 상위 구조를 뒤집으려면 최소 $81,270.20 회복과 궁극적으로 $82,828.70 돌파가 필요하다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.72,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.66,
    "waypoints": [
      {
        "seq": 1,
        "price": 77825.8,
        "type": "liquidity_sweep",
        "source": "ICT 전일 고가 $77,825.80, Derivatives 상방 청산 클러스터 $78,000, Fibonacci 0.618 $77,625.65 및 0.786 $78,038.46",
        "description": "현재가 $77,444.60이 EMA20 $77,342.69 위에서 유지되고 Harmonic Bat PRZ 방어 후 discount 구간에 위치하여 단기 반등 여지가 있다. 1차로 Fibonacci 0.618 $77,625.65를 넘어 ICT 전일 고가 $77,825.80과 $78,000 청산 클러스터를 향한 buy-side liquidity sweep을 시도할 가능성이 높다. EMA120 $78,510.77 회복 실패가 전제이므로 sweep 후 거부가 메인 시나리오.",
        "est_hours": 5.0,
        "turning_zone": [
          77825.8,
          78038.46
        ],
        "likely_wick": 78000.0,
        "rejection_confirm": 77625.65,
        "invalid_overshoot": 78300.0,
        "calibration_reasoning": "ICT 전일 고가 $77,825.80, 라운드 넘버 $78,000 청산 클러스터, fib 확장 $78,038.46(0.5 ret)가 겹치는 buy-side sweep 밴드. ATR 0.31배 폭으로 설정하고 $78,000 라운드 넘버를 wick 자석으로 anchor, golden ratio $77,625.65 재이탈을 거부 확인선으로 사용."
      },
      {
        "seq": 2,
        "price": 76377.0,
        "type": "support_test",
        "source": "Wyckoff SOW $76,377.00, ICT 전일 저가 $76,377.00, Fibonacci 스윙 저점 $76,107.10, Derivatives EMA240 $77,079.14 하단",
        "description": "$78,000 부근 sweep 거부 후 EMA20 $77,342.69 및 Fibonacci 0.5 $77,335.70 균형선이 이탈되면 Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간이 1차 하방 타겟이다. 메인 분배 레인지 $73,669-$78,300의 EQ $75,985 부근으로 회귀하는 분배 Phase D 흐름과 정렬.",
        "est_hours": 13.0,
        "turning_zone": [
          76107.1,
          76377.0
        ],
        "likely_wick": 76191.75,
        "rejection_confirm": 76687.0,
        "invalid_overshoot": 76014.2,
        "calibration_reasoning": "Chairman 지지 $76,377(ICT 전일저)와 fib confluence $76,191.75(ext_1.0/ret_0.382), swing low $76,107이 겹치는 1차 분배 반응 구간. ATR 0.39배 zone 폭으로 confluence 흡수 여지를 반영하고, Bat PRZ D 포인트 $76,014.20 하향 이탈 시 WP3로 진행하므로 이를 invalid 경계로 설정."
      },
      {
        "seq": 3,
        "price": 76014.2,
        "type": "support_test",
        "source": "ICT 7일 저가 $76,014.20, Harmonic Bat D $76,014.20, Wyckoff SOW 하단",
        "description": "Harmonic strict Bat PRZ($75,267-$76,622)의 D 포인트 재시험. 1차 PRZ 방어 후 재진입이므로 Derivatives 흡수 신호(OI -2.73%, CVD divergence 0.70)와 결합 시 보조 반등 또는 PRZ 이탈을 가르는 핵심 결정 구간.",
        "est_hours": 18.0,
        "turning_zone": [
          75750.0,
          76014.2
        ],
        "likely_wick": 75850.0,
        "rejection_confirm": 76377.0,
        "invalid_overshoot": 75267.38,
        "calibration_reasoning": "Harmonic Bat PRZ($75,267-$76,622) CONFIRMED_REACTION D 포인트 $76,014.20의 재시험. PRZ 중상단 방어를 가정해 ATR 0.38배 zone 설정, validated AD0.382 TP1 안티 반응 구간을 likely_wick으로 anchor. PRZ 하단 $75,267 이탈은 turning point 무효화."
      },
      {
        "seq": 4,
        "price": 75264.28,
        "type": "extension",
        "source": "WP1 후보 fib_confluence $75,264.28, Wyckoff 메인 레인지 EQ 하단 $75,267.38, Harmonic Bat PRZ 하단",
        "description": "$76,014 PRZ 하단이 이탈되면 fib_confluence WP1 후보 $75,264와 Harmonic Bat PRZ 하단이 겹치는 $75,264-$75,267 구간이 다음 유동성 타겟. 확정 분배 구조의 메인 레인지 하단 $73,669 진행 전 1차 반응 구간.",
        "est_hours": 23.0,
        "turning_zone": [
          74868.0,
          75264.28
        ],
        "likely_wick": 75000.0,
        "rejection_confirm": 76014.2,
        "invalid_overshoot": 74420.48,
        "calibration_reasoning": "Terminal waypoint으로 fib confluence $75,264.28(ext_1.272/ext_1.414)과 Bat PRZ 하단 $75,267, Chairman 지지 $74,868 사이를 광폭 0.58배 ATR로 설정. 라운드 넘버 $75,000을 likely_wick 자석으로 anchor, 차하방 fib confluence $74,420.48을 무효화 라인으로 사용."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77825.8,
        "expected_low": 76950.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 78000.0,
        "expected_low": 76377.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 78038.46,
        "expected_low": 75264.28,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 78510.77,
        "description": "EMA120 $78,510.77 및 Wyckoff 단기 AR/공급권 $78,564.30, Fibonacci 스윙 고점 $78,564의 다중 저항 클러스터를 4h 종가 기준 회복 시 분배 구조 약화. 추가로 $79,137 ICT 하방 BOS 레벨까지 회복하면 강세 가속."
      },
      "bearish": {
        "price": 76377.0,
        "description": "Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간 4h 종가 이탈 시 분배 Phase D 하방 진행이 확정되어 $76,014 7일 저가 및 PRZ D 재시험 가속."
      }
    },
    "scenario_invalidation": 79137.4,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.66,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 77825.8,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT 전일 고가 $77,825.80, Derivatives 상방 청산 클러스터 $78,000, Fibonacci 0.618 $77,625.65 및 0.786 $78,038.46\",\n      \"description\": \"현재가 $77,444.60이 EMA20 $77,342.69 위에서 유지되고 Harmonic Bat PRZ 방어 후 discount 구간에 위치하여 단기 반등 여지가 있다. 1차로 Fibonacci 0.618 $77,625.65를 넘어 ICT 전일 고가 $77,825.80과 $78,000 청산 클러스터를 향한 buy-side liquidity sweep을 시도할 가능성이 높다. EMA120 $78,510.77 회복 실패가 전제이므로 sweep 후 거부가 메인 시나리오.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 76377.0,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff SOW $76,377.00, ICT 전일 저가 $76,377.00, Fibonacci 스윙 저점 $76,107.10, Derivatives EMA240 $77,079.14 하단\",\n      \"description\": \"$78,000 부근 sweep 거부 후 EMA20 $77,342.69 및 Fibonacci 0.5 $77,335.70 균형선이 이탈되면 Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간이 1차 하방 타겟이다. 메인 분배 레인지 $73,669-$78,300의 EQ $75,985 부근으로 회귀하는 분배 Phase D 흐름과 정렬.\",\n      \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 76014.2,\n      \"type\": \"support_test\",\n      \"source\": \"ICT 7일 저가 $76,014.20, Harmonic Bat D $76,014.20, Wyckoff SOW 하단\",\n      \"description\": \"Harmonic strict Bat PRZ($75,267-$76,622)의 D 포인트 재시험. 1차 PRZ 방어 후 재진입이므로 Derivatives 흡수 신호(OI -2.73%, CVD divergence 0.70)와 결합 시 보조 반등 또는 PRZ 이탈을 가르는 핵심 결정 구간.\",\n      \"est_hours\": 18.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 75264.28,\n      \"type\": \"extension\",\n      \"source\": \"WP1 후보 fib_confluence $75,264.28, Wyckoff 메인 레인지 EQ 하단 $75,267.38, Harmonic Bat PRZ 하단\",\n      \"description\": \"$76,014 PRZ 하단이 이탈되면 fib_confluence WP1 후보 $75,264와 Harmonic Bat PRZ 하단이 겹치는 $75,264-$75,267 구간이 다음 유동성 타겟. 확정 분배 구조의 메인 레인지 하단 $73,669 진행 전 1차 반응 구간.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 77825.8, \"expected_low\": 76950.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 78000.0, \"expected_low\": 76377.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 78038.46, \"expected_low\": 75264.28, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 78510.77, \"description\": \"EMA120 $78,510.77 및 Wyckoff 단기 AR/공급권 $78,564.30, Fibonacci 스윙 고점 $78,564의 다중 저항 클러스터를 4h 종가 기준 회복 시 분배 구조 약화. 추가로 $79,137 ICT 하방 BOS 레벨까지 회복하면 강세 가속.\"},\n    \"bearish\": {\"price\": 76377.0, \"description\": \"Wyckoff SOW와 ICT 전일 저가가 겹치는 $76,377 구간 4h 종가 이탈 시 분배 Phase D 하방 진행이 확정되어 $76,014 7일 저가 및 PRZ D 재시험 가속.\"}\n  },\n  \"scenario_invalidation\": 79137.4\n}\n```\n\n구조(bearish 72%)와 셋업(bearish 69%)이 정렬되어 있으나 Harmonic Bat PRZ 방어와 discount 위치 때문에 즉시 매도 추격 대신 $77,825-$78,000 단기 sweep → 거부 → $76,377/$76,014 SOW·PRZ 재시험 → $75,264 fib confluence 확장의 4-waypoint 복합 경로로 구성했다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 77825.8,
        "turning_zone": [
          77825.8,
          78038.46
        ],
        "likely_wick": 78000.0,
        "rejection_confirm": 77625.65,
        "invalid_overshoot": 78300.0,
        "calibration_reasoning": "ICT 전일 고가 $77,825.80, 라운드 넘버 $78,000 청산 클러스터, fib 확장 $78,038.46(0.5 ret)가 겹치는 buy-side sweep 밴드. ATR 0.31배 폭으로 설정하고 $78,000 라운드 넘버를 wick 자석으로 anchor, golden ratio $77,625.65 재이탈을 거부 확인선으로 사용."
      },
      {
        "seq": 2,
        "base_target": 76377.0,
        "turning_zone": [
          76107.1,
          76377.0
        ],
        "likely_wick": 76191.75,
        "rejection_confirm": 76687.0,
        "invalid_overshoot": 76014.2,
        "calibration_reasoning": "Chairman 지지 $76,377(ICT 전일저)와 fib confluence $76,191.75(ext_1.0/ret_0.382), swing low $76,107이 겹치는 1차 분배 반응 구간. ATR 0.39배 zone 폭으로 confluence 흡수 여지를 반영하고, Bat PRZ D 포인트 $76,014.20 하향 이탈 시 WP3로 진행하므로 이를 invalid 경계로 설정."
      },
      {
        "seq": 3,
        "base_target": 76014.2,
        "turning_zone": [
          75750.0,
          76014.2
        ],
        "likely_wick": 75850.0,
        "rejection_confirm": 76377.0,
        "invalid_overshoot": 75267.38,
        "calibration_reasoning": "Harmonic Bat PRZ($75,267-$76,622) CONFIRMED_REACTION D 포인트 $76,014.20의 재시험. PRZ 중상단 방어를 가정해 ATR 0.38배 zone 설정, validated AD0.382 TP1 안티 반응 구간을 likely_wick으로 anchor. PRZ 하단 $75,267 이탈은 turning point 무효화."
      },
      {
        "seq": 4,
        "base_target": 75264.28,
        "turning_zone": [
          74868.0,
          75264.28
        ],
        "likely_wick": 75000.0,
        "rejection_confirm": 76014.2,
        "invalid_overshoot": 74420.48,
        "calibration_reasoning": "Terminal waypoint으로 fib confluence $75,264.28(ext_1.272/ext_1.414)과 Bat PRZ 하단 $75,267, Chairman 지지 $74,868 사이를 광폭 0.58배 ATR로 설정. 라운드 넘버 $75,000을 likely_wick 자석으로 anchor, 차하방 fib confluence $74,420.48을 무효화 라인으로 사용."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 77825.80,\n      \"turning_zone\": [77825.80, 78038.46],\n      \"likely_wick\": 78000.00,\n      \"rejection_confirm\": 77625.65,\n      \"invalid_overshoot\": 78300.00,\n      \"calibration_reasoning\": \"ICT 전일 고가 $77,825.80, 라운드 넘버 $78,000 청산 클러스터, fib 확장 $78,038.46(0.5 ret)가 겹치는 buy-side sweep 밴드. ATR 0.31배 폭으로 설정하고 $78,000 라운드 넘버를 wick 자석으로 anchor, golden ratio $77,625.65 재이탈을 거부 확인선으로 사용.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 76377.00,\n      \"turning_zone\": [76107.10, 76377.00],\n      \"likely_wick\": 76191.75,\n      \"rejection_confirm\": 76687.00,\n      \"invalid_overshoot\": 76014.20,\n      \"calibration_reasoning\": \"Chairman 지지 $76,377(ICT 전일저)와 fib confluence $76,191.75(ext_1.0/ret_0.382), swing low $76,107이 겹치는 1차 분배 반응 구간. ATR 0.39배 zone 폭으로 confluence 흡수 여지를 반영하고, Bat PRZ D 포인트 $76,014.20 하향 이탈 시 WP3로 진행하므로 이를 invalid 경계로 설정.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 76014.20,\n      \"turning_zone\": [75750.00, 76014.20],\n      \"likely_wick\": 75850.00,\n      \"rejection_confirm\": 76377.00,\n      \"invalid_overshoot\": 75267.38,\n      \"calibration_reasoning\": \"Harmonic Bat PRZ($75,267-$76,622) CONFIRMED_REACTION D 포인트 $76,014.20의 재시험. PRZ 중상단 방어를 가정해 ATR 0.38배 zone 설정, validated AD0.382 TP1 안티 반응 구간을 likely_wick으로 anchor. PRZ 하단 $75,267 이탈은 turning point 무효화.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 75264.28,\n      \"turning_zone\": [74868.00, 75264.28],\n      \"likely_wick\": 75000.00,\n      \"rejection_confirm\": 76014.20,\n      \"invalid_overshoot\": 74420.48,\n      \"calibration_reasoning\": \"Terminal waypoint으로 fib confluence $75,264.28(ext_1.272/ext_1.414)과 Bat PRZ 하단 $75,267, Chairman 지지 $74,868 사이를 광폭 0.58배 ATR로 설정. 라운드 넘버 $75,000을 likely_wick 자석으로 anchor, 차하방 fib confluence $74,420.48을 무효화 라인으로 사용.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 27.5,
      "chairman": 42.4,
      "operating_path": 56.4,
      "tp_calibrator": 53.4
    },
    "agents": {},
    "total_s": 179.7
  }
}