BTC/USDT 4H Council Report

Signal: BEARISH (64%)  |  Price: $77,194.50  |  2026-05-21 21:01 KST  |  300 candles

Council: 1 bullish, 4 neutral, 1 bearish  |  Support: $77,091 / $77,046 / $76,975  |  Resistance: $77,336 / $77,422 / $77,626

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC 4시간 구조는 상위 체계상 bearish로 판정한다. Wyckoff는 이전 UTAD $82,828.70 이후 LPSY $81,270.20가 형성된 분배 구조와, 현재 $77,757.50-$77,825.80 공급대 아래의 재분배 후보를 제시하며 Phase D 성격의 공급 우위 상태를 지지한다. ICT의 연속 bearish BOS $79,137.40/$78,713.80와 Fibonacci의 $78,564→$76,107 하락 스윙도 구조적 약세 판정에 합류한다. 다만 실행 관점에서는 가격이 EQ $79,006.60 아래 discount 구간, EMA240 $77,090.77 및 Bat PRZ 상단 $76,622.56 위에 있어 저점부 반응·흡수 조건이 존재한다. 구조적 bearish 해석은 $82,828.70 이상 4시간 수용 시 무효화되며, 하단에서는 $76,014.20-$76,107.10 붕괴 여부가 재분배의 하방 확인 조건이다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH74%$76,975 / $76,107$77,422 / $77,758
ICT TraderNEUTRAL45%$77,100 / $77,091$77,826 / $78,300
Derivatives TraderNEUTRAL56%$77,091 / $76,014$77,422 / $78,000
Candlestick ReaderNEUTRAL55%$77,091 / $76,014$77,422 / $78,436
Fibonacci AnalystNEUTRAL58%$77,046 / $76,687$77,336 / $77,626
Harmonic SpecialistBULLISH56%$76,623 / $76,014$77,422 / $78,436

Agent Details

Wyckoff Expert — BEARISH (74%)

Support: $76,975 / $76,107 / $74,868 | Resistance: $77,422 / $77,758 / $77,826 | Horizon: medium term

4시간 구조는 regime이 DIS이며 dis_score 96.20, regime_fitness 0.963으로 분배 판정의 적합도가 높다. 메인 분배 앵커는 BC $78,300.00와 AR $73,669.00이며, 이후 ST $79,455.00, UTAD $82,828.70, LPSY $81,270.20까지 이어진 뒤 현재 Phase D 성격의 약세 구조로 해석된다. 현재가 $77,194.50는 메인 레인지 상단 $78,300.00 아래이자 EQ 약 $75,984.50 위에 있어 아직 완전한 하방 이탈보다는 레인지 내부 약세 테스트 구간이며, $77,757.50~$77,825.80 회복 실패 시 매도 압력이 재개될 가능성이 높다. 다만 즉각적인 구조 확정 하락보다는 $76,975.00, $76,107.10, $74,868.00 순서의 지지 반응을 확인해야 하며, $82,828.70 이상 4시간 수용이 나오면 현재 분배 해석은 무효화된다.
ICT Trader — NEUTRAL (45%)

Support: $77,100 / $77,091 / $76,377 | Resistance: $77,826 / $78,300 / $78,714 | Horizon: short/medium term

확정 구조 관점에서는 최근 시퀀스가 CHoCH_bullish 이후 BOS_bearish $79,137.40, BOS_bearish $78,713.80로 이어졌기 때문에 structure_bias는 bearish가 우세하다. 다만 현재가 $77,194.50는 range high $81,999.00와 range low $76,014.20 기준 EQ $79,006.60 아래 discount 구간에 있어, 기관 관점에서 저점부 유동성 근처에서 숏을 추격하기에는 기대값이 낮다. 활성 Order Block, 미충족 FVG, 최근 liquidity sweep이 모두 0으로 강한 ICT 실행 트리거가 부재하며, bull_score 8.0과 bear_score 7.7도 거의 균형이다. 따라서 구조는 약세지만 실행 셋업은 중립이며, $76,377.00 전일 저가 또는 $76,014.20 7일 저점 유동성 반응을 확인하기 전까지는 방향성 확신이 낮다.
Derivatives Trader — NEUTRAL (56%)

Support: $77,091 / $76,014 / $75,900 | Resistance: $77,422 / $78,000 / $78,436 | Horizon: short term, 4-8시간

확인된 구조는 중립이다. 현재 가격 $77,194.50는 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 단기 구조는 약하지만, EMA240 $77,090.77 위를 간신히 유지하고 있고 7일 저점 $76,014.20을 명확히 이탈하지 않아 확정 bearish BOS로 보기는 어렵다. 파생 포지셔닝은 aggregate_score 0.422, bear_signals 2 대 bull_signals 1로 약한 약세지만, OI가 24h -1.8840% 감소하고 CVD divergence가 0.850으로 높아 추격 숏보다는 흡수/언와인딩 신호가 더 강하다. 다만 long_account_latest 0.568로 롱 계정 비중이 높고 spot-futures basis가 -0.0451%로 음수라, $75,900 하단 유동성 스윕 리스크는 여전히 남아 있다.
Candlestick Reader — NEUTRAL (55%)

Support: $77,091 / $76,014 | Resistance: $77,422 / $78,436 / $79,007 | Horizon: short term

현재 BTC는 $77,194.50으로 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 단기 구조는 강한 상승 확정으로 보기 어렵지만, EMA240 $77,090.77은 간신히 지키고 있습니다. 최근 최고 품질 패턴은 evening_star 0.585로 약한 bearish 후보이나, 7일 범위 EQ $79,006.60 아래의 할인 구간이며 7일 저점 $76,014.20이 아직 붕괴되지 않아 하방 추세 확정 전의 bullish setup이 살아 있습니다. bull_score 2.15가 bear_score 1.55보다 높지만, 패턴 품질이 모두 candidate 등급이고 마지막 5개 캔들이 혼조세이므로 확정 방향보다는 중립 구조로 해석합니다. 따라서 구조는 neutral, 실행 관점의 setup은 $76,014.20 방어를 전제로 한 단기 반등 우위입니다.
Fibonacci Analyst — NEUTRAL (58%)

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

확정 구조는 $78,564에서 $76,107로 이어진 하락 스윙이 우선이므로 structure_bias는 bearish이다. 현재가는 $77,194.50로 ret_0.382 $77,045.75 지지 위에 있지만, 하락 스윙의 0.5 되돌림 $77,335.70 아래에 머물러 있어 구조적 강세 전환은 확인되지 않았다. 다만 가격이 EQ 아래 할인 구간에 있고 EMA240 $77,090.77 및 ret_0.382 지지대와 근접해 있어 단기 반등 셋업은 존재한다. 핵심 판정 구간은 ret_0.5 $77,335.70 및 골든 비율 ret_0.618 $77,625.65이며, 이 구간에서 거절되면 $76,687.00, $76,107.10 및 확장 목표 $75,438.74로 재하락할 수 있다.
Harmonic Specialist — BULLISH (56%)

Support: $76,623 / $76,014 / $75,267 | Resistance: $77,422 / $78,436 / $78,575 | Horizon: short to medium term

핵심 패턴은 completed strict bullish Bat이며, D 가격 $76,014.20이 고컨플루언스 PRZ $75,267.38-$76,622.56 안에서 형성된 뒤 방어되었습니다. 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached, D_PRZ_failure_zone_defended로 reaction_score가 0.95까지 올라와 harmonic 기준으로는 중간 강도의 bullish vote가 가능합니다. 다만 harmonic governance상 단독 구조 전환 엔진이 아니므로, 4h 구조는 BOS/CHoCH 확인 부재로 neutral로 유지하고, 현재 평가는 bullish setup에 가깝습니다. 상방은 $78,574.55가 1차 목표이지만 EMA120 $78,435.52와 겹쳐 첫 저항 클러스터이며, 이를 넘기면 $80,199.11 및 $82,828.70까지 Bat TP ladder가 열립니다.

Operating Path — complex (55%)

#PriceTypeSourceEst. HoursDescription
1$77,626resistance_testFibonacci ret_0.618 $77,625.65, EMA20 $77,422.42 클러스터, Candlestick/Derivatives 1차 저항5현재가 $77,194.50가 EQ $79,006.60 아래 discount 구간에 있고 EMA240 $77,090.77 및 Fib ret_0.382 $77,045.75를 방어 중이라는 setup_bias bullish(60%) 신호를 반영. CVD divergence 0.850 및 OI -1.88%의 매도 흡수/언와인딩이 단기 반등 동력으로 작용해 EMA20 + Fib 0.618 클러스터를 우선 시험. 이 구간은 4h 구조의 mid-range 저항이며 setup의 1차 도달 목표.
2$77,758resistance_testWyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, ICT 저항8Fib 0.618 클러스터 돌파 시 Wyckoff가 핵심 분배 공급대로 지목한 $77,757.50-$77,825.80을 추가 시험. 해당 구간은 LPSY $81,270.20 이후의 재분배 후보 천장이며 setup_bias가 구조의 최대 도달점으로 보는 한계 영역. 이 구간 4h 수용 실패가 bearish 구조 재가동의 트리거가 됨.
3$76,377support_test전일 저가 $76,377.00, ICT 하방 유동성 미스윕 구간, Fibonacci $76,687.00 인접16Wyckoff 공급대에서 거절(UT 성격) 후 BOS_bearish $78,713.80 및 $79,137.40로 형성된 구조적 약세가 재개되며, 아직 미스윕 상태인 전일 저가 $76,377.00 유동성을 시험. ICT의 discount 구간 유동성 회수 시나리오 및 Fibonacci 0.382 지지 이탈 흐름과 합치.
4$76,014liquidity_sweep7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10, Harmonic Bat PRZ 상단 $76,622.56 하방22PDL 이탈 후 7일 저점 유동성을 스윕. Wyckoff 재분배 Phase D 가설의 1차 하방 확인 구간이자 Harmonic strict bullish Bat PRZ($75,267.38-$76,622.56) 상부 재진입 영역. 5개 에이전트가 합의한 $76,014-$76,107 하단 구조 지지이므로 1차 반응 가능성 높음.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$77,090$77,500High first
8h$76,800$77,758High first
24h$76,014$77,758High first

Triggers

Invalidation: $78,300

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.55,
  "waypoints": [
    {
      "seq": 1,
      "price": 77625.65,
      "type": "resistance_test",
      "source": "Fibonacci ret_0.618 $77,625.65, EMA20 $77,422.42 클러스터, Candlestick/Derivatives 1차 저항",
      "description": "현재가 $77,194.50가 EQ $79,006.60 아래 discount 구간에 있고 EMA240 $77,090.77 및 Fib ret_0.382 $77,045.75를 방어 중이라는 setup_bias bullish(60%) 신호를 반영. CVD divergence 0.850 및 OI -1.88%의 매도 흡수/언와인딩이 단기 반등 동력으로 작용해 EMA20 + Fib 0.618 클러스터를 우선 시험. 이 구간은 4h 구조의 mid-range 저항이며 setup의 1차 도달 목표.",
      "est_hours": 5
    },
    {
      "seq": 2,
      "price": 77757.5,
      "type": "resistance_test",
      "source": "Wyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, ICT 저항",
      "description": "Fib 0.618 클러스터 돌파 시 Wyckoff가 핵심 분배 공급대로 지목한 $77,757.50-$77,825.80을 추가 시험. 해당 구간은 LPSY $81,270.20 이후의 재분배 후보 천장이며 setup_bias가 구조의 최대 도달점으로 보는 한계 영역. 이 구간 4h 수용 실패가 bearish 구조 재가동의 트리거가 됨.",
      "est_hours": 8
    },
    {
      "seq": 3,
      "price": 76377.0,
      "type": "support_test",
      "source": "전일 저가 $76,377.00, ICT 하방 유동성 미스윕 구간, Fibonacci $76,687.00 인접",
      "description": "Wyckoff 공급대에서 거절(UT 성격) 후 BOS_bearish $78,713.80 및 $79,137.40로 형성된 구조적 약세가 재개되며, 아직 미스윕 상태인 전일 저가 $76,377.00 유동성을 시험. ICT의 discount 구간 유동성 회수 시나리오 및 Fibonacci 0.382 지지 이탈 흐름과 합치.",
      "est_hours": 16
    },
    {
      "seq": 4,
      "price": 76014.2,
      "type": "liquidity_sweep",
      "source": "7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10, Harmonic Bat PRZ 상단 $76,622.56 하방",
      "description": "PDL 이탈 후 7일 저점 유동성을 스윕. Wyckoff 재분배 Phase D 가설의 1차 하방 확인 구간이자 Harmonic strict bullish Bat PRZ($75,267.38-$76,622.56) 상부 재진입 영역. 5개 에이전트가 합의한 $76,014-$76,107 하단 구조 지지이므로 1차 반응 가능성 높음.",
      "est_hours": 22
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 77500.0, "expected_low": 77090.0, "high_first": true},
    "8h":  {"expected_high": 77757.5, "expected_low": 76800.0, "high_first": true},
    "24h": {"expected_high": 77757.5, "expected_low": 76014.2, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 77825.8, "description": "Wyckoff 공급대 상단 및 전일 고가 $77,825.80 위 4h 종가 수용 시 setup_bias가 구조 우위로 전환되어 EMA120 $78,435.52 및 BC $78,300.00 재시험으로 확장. 이 경우 본 시나리오의 하방 leg(WP3/WP4)는 무효."},
    "bearish": {"price": 76014.2, "description": "7일 저점 $76,014.20 4h 종가 이탈 시 Wyckoff 재분배 Phase D 확정 및 ICT 연속 bearish BOS 연장. Bat PRZ 하단 $75,267.38 및 Fibonacci 확장 $75,438.74까지 매도 가속."}
  },
  "scenario_invalidation": 78300.0
}
```

요약: setup_bias bullish(60%)가 structural bias bearish(64%)를 단기적으로 앞서므로 첫 leg는 $77,625→$77,757 공급대 시험으로 잡고, Wyckoff 분배 천장에서 거절 후 PDL $76,377 및 7일 저점 $76,014 스윕으로 bearish 구조가 재개되는 4-waypoint complex path. $78,300 4h 수용 시 전체 경로 무효.

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.64,
  "execution_setup": {
    "setup_bias": "bullish",
    "setup_strength": 0.60,
    "active_setups": [
      "현재가 $77,194.50는 7일 범위 EQ $79,006.60 아래의 할인 구간에 위치해 있어 신규 숏 추격 기대값은 낮음",
      "EMA240 $77,090.77 및 Fibonacci ret_0.382 $77,045.75 부근을 방어하며 단기 반등 셋업이 유지됨",
      "완성형 strict bullish Bat PRZ $75,267.38-$76,622.56에서 D 저점 $76,014.20 형성 후 반응 확인, 현재가가 PRZ 상단 $76,622.56 위에 있음",
      "CVD divergence 0.850 및 CVD change +671.9560으로 가격 약세 대비 체결 델타가 플러스이며, OI 24h -1.8840% 감소로 하락 추격보다 포지션 언와인딩 성격이 강함",
      "7일 저점 $76,014.20 및 전일 저가 $76,377.00이 아직 명확히 붕괴되지 않아 하방 유동성 스윕 전 구조 확정은 보류됨"
    ],
    "setup_vs_structure": "구조적 판정은 Wyckoff 분배·재분배와 ICT/Fibonacci의 약세 구조 때문에 bearish이지만, 실행 셋업은 할인 구간과 PRZ 반응, CVD 흡수 신호로 bullish 쪽이 우세하다. 즉, 시장은 상위 구조상 공급 우위이나 단기적으로는 저점부 방어·반등 시도 조건이 살아 있는 구조-셋업 불일치 상태다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 1,
    "neutral_count": 4
  },
  "key_levels": {
    "support": [
      77090.77,
      77045.75,
      76975.0,
      76377.0,
      76107.1,
      76014.2,
      75900.0,
      75267.38,
      74868.0,
      73669.0
    ],
    "resistance": [
      77335.7,
      77422.42,
      77625.65,
      77757.5,
      77825.8,
      78300.0,
      78435.52,
      78574.55,
      79006.6,
      79137.4,
      81270.2,
      81999.0,
      82828.7
    ]
  },
  "confluences": [
    "Candlestick, ICT, Fibonacci, Derivatives가 모두 $77,090 전후를 핵심 단기 지지로 인식한다: EMA240 $77,090.77, Fibonacci ret_0.382 $77,045.75, ICT 지지 $77,100.00",
    "Candlestick, ICT, Fibonacci, Harmonic, Derivatives가 모두 $76,014-$76,107 구간을 핵심 하단 구조 지지로 제시한다: 7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10",
    "ICT와 Candlestick 모두 7일 범위 EQ $79,006.60 아래의 discount 구간을 언급하며, 현재가 $77,194.50에서 신규 숏 추격의 효율이 낮다는 점에 동의한다",
    "Harmonic의 bullish Bat PRZ $75,267.38-$76,622.56와 Candlestick/ICT의 7일 저점 $76,014.20 방어 조건이 겹치며, $76,000대 초반이 반응 구간이라는 데 합의가 있다",
    "Wyckoff, ICT, Fibonacci는 구조 측면에서 모두 bearish 쪽을 지지한다: Wyckoff는 분배/재분배 Phase D, ICT는 연속 bearish BOS $79,137.40 및 $78,713.80, Fibonacci는 $78,564→$76,107 하락 스윙 우선 구조",
    "상단 저항은 $77,422-$77,825에 밀집한다: EMA20 $77,422.42, Wyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, Fibonacci ret_0.618 $77,625.65"
  ],
  "conflicts": [
    "Wyckoff는 regime fitness 0.963의 분배/재분배 구조로 bearish 확신이 가장 강하지만, Harmonic은 $75,267.38-$76,622.56 bullish Bat PRZ 반응을 근거로 bullish setup을 제시한다",
    "ICT와 Fibonacci는 구조를 bearish로 보지만, 두 분석 모두 현재가가 EQ 아래 discount 구간 또는 하락 스윙 0.5 되돌림 아래에 있어 숏 추격보다는 반응 확인이 필요하다고 본다",
    "Derivatives는 표면적으로 bear_signals 2 대 bull_signals 1로 약한 약세이나, CVD divergence 0.850과 OI 감소 -1.8840% 때문에 하락 추세 확증보다는 흡수/언와인딩 가능성을 더 크게 본다",
    "Candlestick은 evening star 후보를 bearish로 감지했지만 품질이 0.585의 candidate 수준이고, bull_score 2.15가 bear_score 1.55보다 높아 구조 확정보다는 중립 및 단기 반등 셋업으로 해석한다"
  ],
  "highest_conviction_analyst": "Wyckoff Expert — 분배 판정 점수 96.20, regime fitness 0.963, UTAD $82,828.70 이후 LPSY $81,270.20 및 현재 재분배 후보 구조까지 이어지는 구체적 단계 배열이 가장 명확하다. 또한 현재 가격이 $77,757.50-$77,825.80 공급대 아래에 있고 메인 레인지 상단 $78,300.00 아래에 있다는 구조적 위치 판단이 정밀하다.",
  "invalidation_level": "$82,828.70 이상 4시간 봉 기준 수용 시 현재의 분배/재분배 기반 bearish 구조 해석은 무효화된다. 단기 구조 약세는 우선 $78,300.00 및 $79,137.40 회복 시 약화된다.",
  "executive_summary": "현재 BTC 4시간 구조는 상위 체계상 bearish로 판정한다. Wyckoff는 이전 UTAD $82,828.70 이후 LPSY $81,270.20가 형성된 분배 구조와, 현재 $77,757.50-$77,825.80 공급대 아래의 재분배 후보를 제시하며 Phase D 성격의 공급 우위 상태를 지지한다. ICT의 연속 bearish BOS $79,137.40/$78,713.80와 Fibonacci의 $78,564→$76,107 하락 스윙도 구조적 약세 판정에 합류한다. 다만 실행 관점에서는 가격이 EQ $79,006.60 아래 discount 구간, EMA240 $77,090.77 및 Bat PRZ 상단 $76,622.56 위에 있어 저점부 반응·흡수 조건이 존재한다. 구조적 bearish 해석은 $82,828.70 이상 4시간 수용 시 무효화되며, 하단에서는 $76,014.20-$76,107.10 붕괴 여부가 재분배의 하방 확인 조건이다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-05-21 21:01 KST",
  "last_price": 77194.5,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.55,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "7일 범위 EQ $79,006.60 아래의 할인 구간에서 거래 중: 현재가 $77,194.50",
        "EMA240 $77,090.77을 소폭 상회하며 단기 지지 반응 가능성 존재",
        "7일 저점 $76,014.20 근처 수요 구간이 아직 방어되고 있음",
        "최근 bullish_engulfing 후보 2개와 hammer 후보가 출현했으나 품질은 각각 0.525 이하로 확정 신호는 아님",
        "고거래량 doji 후보가 출현해 $77,000대에서 매도 압력 둔화 및 방향성 대기 상태를 시사"
      ],
      "reasoning": "현재 BTC는 $77,194.50으로 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 단기 구조는 강한 상승 확정으로 보기 어렵지만, EMA240 $77,090.77은 간신히 지키고 있습니다. 최근 최고 품질 패턴은 evening_star 0.585로 약한 bearish 후보이나, 7일 범위 EQ $79,006.60 아래의 할인 구간이며 7일 저점 $76,014.20이 아직 붕괴되지 않아 하방 추세 확정 전의 bullish setup이 살아 있습니다. bull_score 2.15가 bear_score 1.55보다 높지만, 패턴 품질이 모두 candidate 등급이고 마지막 5개 캔들이 혼조세이므로 확정 방향보다는 중립 구조로 해석합니다. 따라서 구조는 neutral, 실행 관점의 setup은 $76,014.20 방어를 전제로 한 단기 반등 우위입니다.",
      "key_levels": {
        "support": [
          77090.77,
          76014.2
        ],
        "resistance": [
          77422.42,
          78435.52,
          79006.6,
          81999
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$76,014.20",
      "risk_scenario": "$76,014.20 7일 저점이 4시간봉 종가 기준으로 이탈되면 할인 구간 반등 setup은 실패하며, EMA240 $77,090.77도 저항으로 전환될 가능성이 큽니다. 이 경우 최근 evening_star 후보가 유효해지며 $76,000 아래의 추가 유동성 사냥과 하락 continuation으로 전개될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 136,
        "recent_patterns": 6,
        "pattern_list": [
          "hammer@294",
          "bearish_engulfing@290",
          "bullish_engulfing@291",
          "bullish_engulfing@296",
          "evening_star@298",
          "doji@293"
        ],
        "atr_value": 692.2,
        "vol_avg_20": 19498.68,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.585,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.525,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.484,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "hammer",
            "signal": "bullish",
            "pattern_quality": 0.414,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.585,
        "bull_score": 2.15,
        "bear_score": 1.55
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"7일 범위 EQ $79,006.60 아래의 할인 구간에서 거래 중: 현재가 $77,194.50\",\n    \"EMA240 $77,090.77을 소폭 상회하며 단기 지지 반응 가능성 존재\",\n    \"7일 저점 $76,014.20 근처 수요 구간이 아직 방어되고 있음\",\n    \"최근 bullish_engulfing 후보 2개와 hammer 후보가 출현했으나 품질은 각각 0.525 이하로 확정 신호는 아님\",\n    \"고거래량 doji 후보가 출현해 $77,000대에서 매도 압력 둔화 및 방향성 대기 상태를 시사\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,194.50으로 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 단기 구조는 강한 상승 확정으로 보기 어렵지만, EMA240 $77,090.77은 간신히 지키고 있습니다. 최근 최고 품질 패턴은 evening_star 0.585로 약한 bearish 후보이나, 7일 범위 EQ $79,006.60 아래의 할인 구간이며 7일 저점 $76,014.20이 아직 붕괴되지 않아 하방 추세 확정 전의 bullish setup이 살아 있습니다. bull_score 2.15가 bear_score 1.55보다 높지만, 패턴 품질이 모두 candidate 등급이고 마지막 5개 캔들이 혼조세이므로 확정 방향보다는 중립 구조로 해석합니다. 따라서 구조는 neutral, 실행 관점의 setup은 $76,014.20 방어를 전제로 한 단기 반등 우위입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77090.77,\n      76014.2\n    ],\n    \"resistance\": [\n      77422.42,\n      78435.52,\n      79006.6,\n      81999\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$76,014.20\",\n  \"risk_scenario\": \"$76,014.20 7일 저점이 4시간봉 종가 기준으로 이탈되면 할인 구간 반등 setup은 실패하며, EMA240 $77,090.77도 저항으로 전환될 가능성이 큽니다. 이 경우 최근 evening_star 후보가 유효해지며 $76,000 아래의 추가 유동성 사냥과 하락 continuation으로 전개될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "neutral",
      "confidence": 0.45,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "현재가 $77,194.50는 EQ $79,006.60 아래의 discount 구간에 위치하여 신규 숏 추격에는 불리함",
        "최근 구조 이벤트가 BOS_bearish $79,137.40 및 BOS_bearish $78,713.80로 마감되어 단기 구조는 하방 우위",
        "전일 고가 $77,825.80는 돌파되었으나 전일 저가 $76,377.00는 아직 미이탈 상태로, 하방 유동성은 남아 있음",
        "활성 OB 0개, 미충족 FVG 0개, 최근 liquidity sweep 0개로 강한 선행 셋업 근거는 부족",
        "현재가가 EMA20 $77,422.42 및 EMA120 $78,435.52 아래에 있어 단기 반등은 아직 구조적 수용으로 확인되지 않음"
      ],
      "reasoning": "확정 구조 관점에서는 최근 시퀀스가 CHoCH_bullish 이후 BOS_bearish $79,137.40, BOS_bearish $78,713.80로 이어졌기 때문에 structure_bias는 bearish가 우세하다. 다만 현재가 $77,194.50는 range high $81,999.00와 range low $76,014.20 기준 EQ $79,006.60 아래 discount 구간에 있어, 기관 관점에서 저점부 유동성 근처에서 숏을 추격하기에는 기대값이 낮다. 활성 Order Block, 미충족 FVG, 최근 liquidity sweep이 모두 0으로 강한 ICT 실행 트리거가 부재하며, bull_score 8.0과 bear_score 7.7도 거의 균형이다. 따라서 구조는 약세지만 실행 셋업은 중립이며, $76,377.00 전일 저가 또는 $76,014.20 7일 저점 유동성 반응을 확인하기 전까지는 방향성 확신이 낮다.",
      "key_levels": {
        "support": [
          77100.0,
          77090.77,
          76377.0,
          76014.2,
          76009.0
        ],
        "resistance": [
          77825.8,
          78300.0,
          78713.8,
          79006.6,
          79137.4,
          81999.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$78,713.80 상방 회복 및 4시간봉 종가 수용",
      "risk_scenario": "반대 시나리오는 $76,377.00 전일 저가와 $76,014.20 7일 저점을 스윕한 뒤 빠르게 $77,100.00 위로 회복하는 경우이다. 이 경우 하방 유동성 확보 후 반등형 CHoCH 후보가 형성될 수 있으며, $77,825.80 전일 고가 재돌파 시 $78,300.00과 EQ $79,006.60까지 숏 커버링이 발생할 수 있다.",
      "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": 8.0,
        "bear_score": 7.7,
        "setup_bias": "neutral",
        "setup_score": 0.35,
        "setup_signals": [
          "bullish BOS above $76,009.00",
          "bullish BOS above $78,300.00",
          "bearish CHoCH below $77,100.00",
          "bearish BOS below $79,137.40"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 36.2,
        "deepest_retracement_pct": 36.2,
        "previous_day_high": 77825.8,
        "previous_day_low": 76377.0,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.45,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"현재가 $77,194.50는 EQ $79,006.60 아래의 discount 구간에 위치하여 신규 숏 추격에는 불리함\",\n    \"최근 구조 이벤트가 BOS_bearish $79,137.40 및 BOS_bearish $78,713.80로 마감되어 단기 구조는 하방 우위\",\n    \"전일 고가 $77,825.80는 돌파되었으나 전일 저가 $76,377.00는 아직 미이탈 상태로, 하방 유동성은 남아 있음\",\n    \"활성 OB 0개, 미충족 FVG 0개, 최근 liquidity sweep 0개로 강한 선행 셋업 근거는 부족\",\n    \"현재가가 EMA20 $77,422.42 및 EMA120 $78,435.52 아래에 있어 단기 반등은 아직 구조적 수용으로 확인되지 않음\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 시퀀스가 CHoCH_bullish 이후 BOS_bearish $79,137.40, BOS_bearish $78,713.80로 이어졌기 때문에 structure_bias는 bearish가 우세하다. 다만 현재가 $77,194.50는 range high $81,999.00와 range low $76,014.20 기준 EQ $79,006.60 아래 discount 구간에 있어, 기관 관점에서 저점부 유동성 근처에서 숏을 추격하기에는 기대값이 낮다. 활성 Order Block, 미충족 FVG, 최근 liquidity sweep이 모두 0으로 강한 ICT 실행 트리거가 부재하며, bull_score 8.0과 bear_score 7.7도 거의 균형이다. 따라서 구조는 약세지만 실행 셋업은 중립이며, $76,377.00 전일 저가 또는 $76,014.20 7일 저점 유동성 반응을 확인하기 전까지는 방향성 확신이 낮다.\",\n  \"key_levels\": {\n    \"support\": [\n      77100.0,\n      77090.77,\n      76377.0,\n      76014.2,\n      76009.0\n    ],\n    \"resistance\": [\n      77825.8,\n      78300.0,\n      78713.8,\n      79006.6,\n      79137.4,\n      81999.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$78,713.80 상방 회복 및 4시간봉 종가 수용\",\n  \"risk_scenario\": \"반대 시나리오는 $76,377.00 전일 저가와 $76,014.20 7일 저점을 스윕한 뒤 빠르게 $77,100.00 위로 회복하는 경우이다. 이 경우 하방 유동성 확보 후 반등형 CHoCH 후보가 형성될 수 있으며, $77,825.80 전일 고가 재돌파 시 $78,300.00과 EQ $79,006.60까지 숏 커버링이 발생할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.38,
      "setup_signals": [
        "현재가 $77,194.50는 하락 스윙의 EQ인 ret_0.5 $77,335.70 아래에 있어 단기 할인 구간에 위치",
        "ret_0.382 지지 $77,045.75와 EMA240 $77,090.77 인근에서 반등 시도 중",
        "현재 가격은 ret_0.5 $77,335.70 저항까지 0.18% 거리로, 돌파 전까지는 구조 전환 미확정",
        "골든 비율 ret_0.618 $77,625.65가 상단 핵심 저항으로 남아 있어 반등은 아직 사전 셋업 단계"
      ],
      "reasoning": "확정 구조는 $78,564에서 $76,107로 이어진 하락 스윙이 우선이므로 structure_bias는 bearish이다. 현재가는 $77,194.50로 ret_0.382 $77,045.75 지지 위에 있지만, 하락 스윙의 0.5 되돌림 $77,335.70 아래에 머물러 있어 구조적 강세 전환은 확인되지 않았다. 다만 가격이 EQ 아래 할인 구간에 있고 EMA240 $77,090.77 및 ret_0.382 지지대와 근접해 있어 단기 반등 셋업은 존재한다. 핵심 판정 구간은 ret_0.5 $77,335.70 및 골든 비율 ret_0.618 $77,625.65이며, 이 구간에서 거절되면 $76,687.00, $76,107.10 및 확장 목표 $75,438.74로 재하락할 수 있다.",
      "key_levels": {
        "support": [
          77045.75,
          76687.0,
          76107.1,
          75438.74,
          74588.55
        ],
        "resistance": [
          77335.7,
          77625.65,
          78038.46,
          78564.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,038.46",
      "risk_scenario": "반대로 가격이 ret_0.5 $77,335.70을 회복하고 골든 비율 $77,625.65까지 돌파하면 하락 되돌림 저항이 무력화되며, ret_0.786 $78,038.46 및 스윙 고점 $78,564 재시험 가능성이 커진다. 특히 $78,038.46 위에서 4시간봉 종가 수용이 나오면 현재의 bearish 구조 해석은 약화된다.",
      "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.18,
        "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": [
          77045.7504,
          76686.9992,
          76107.1
        ],
        "resistance_levels": [
          77335.70000000001,
          77625.6496,
          78038.4592
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 76687.0,
            "distance_pct": 0.66,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 77045.75,
            "distance_pct": 0.19,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 77335.7,
            "distance_pct": 0.18,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77625.65,
            "distance_pct": 0.56,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 78038.46,
            "distance_pct": 1.09,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 76107.1,
            "distance_pct": 1.41,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 75438.74,
            "distance_pct": 2.27,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 75089.82,
            "distance_pct": 2.73,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 74588.55,
            "distance_pct": 3.38,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 73649.9,
            "distance_pct": 4.59,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"현재가 $77,194.50는 하락 스윙의 EQ인 ret_0.5 $77,335.70 아래에 있어 단기 할인 구간에 위치\",\n    \"ret_0.382 지지 $77,045.75와 EMA240 $77,090.77 인근에서 반등 시도 중\",\n    \"현재 가격은 ret_0.5 $77,335.70 저항까지 0.18% 거리로, 돌파 전까지는 구조 전환 미확정\",\n    \"골든 비율 ret_0.618 $77,625.65가 상단 핵심 저항으로 남아 있어 반등은 아직 사전 셋업 단계\"\n  ],\n  \"reasoning\": \"확정 구조는 $78,564에서 $76,107로 이어진 하락 스윙이 우선이므로 structure_bias는 bearish이다. 현재가는 $77,194.50로 ret_0.382 $77,045.75 지지 위에 있지만, 하락 스윙의 0.5 되돌림 $77,335.70 아래에 머물러 있어 구조적 강세 전환은 확인되지 않았다. 다만 가격이 EQ 아래 할인 구간에 있고 EMA240 $77,090.77 및 ret_0.382 지지대와 근접해 있어 단기 반등 셋업은 존재한다. 핵심 판정 구간은 ret_0.5 $77,335.70 및 골든 비율 ret_0.618 $77,625.65이며, 이 구간에서 거절되면 $76,687.00, $76,107.10 및 확장 목표 $75,438.74로 재하락할 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      77045.75,\n      76687.0,\n      76107.1,\n      75438.74,\n      74588.55\n    ],\n    \"resistance\": [\n      77335.7,\n      77625.65,\n      78038.46,\n      78564.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,038.46\",\n  \"risk_scenario\": \"반대로 가격이 ret_0.5 $77,335.70을 회복하고 골든 비율 $77,625.65까지 돌파하면 하락 되돌림 저항이 무력화되며, ret_0.786 $78,038.46 및 스윙 고점 $78,564 재시험 가능성이 커진다. 특히 $78,038.46 위에서 4시간봉 종가 수용이 나오면 현재의 bearish 구조 해석은 약화된다.\",\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.62,
      "setup_signals": [
        "완성형 strict bullish Bat PRZ $75,267.38-$76,622.56에서 D 저점 $76,014.20 형성 후 방어",
        "PRZ 터치/진입 이후 반응 확인: reaction_score 0.95, AD 0.236 반등 도달, PRZ 중심 회복/방어",
        "현재가 $77,194.50는 Bat PRZ 상단 $76,622.56 위에 있어 PRZ 이탈 실패 후 반등 셋업 유지",
        "검증된 Bat TP ladder: TP1 $78,574.55, TP2 $80,199.11, TP3/A 구조 유동성 $82,828.70",
        "현재가가 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 구조 확정 전에는 반등 셋업으로만 취급"
      ],
      "reasoning": "핵심 패턴은 completed strict bullish Bat이며, D 가격 $76,014.20이 고컨플루언스 PRZ $75,267.38-$76,622.56 안에서 형성된 뒤 방어되었습니다. 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached, D_PRZ_failure_zone_defended로 reaction_score가 0.95까지 올라와 harmonic 기준으로는 중간 강도의 bullish vote가 가능합니다. 다만 harmonic governance상 단독 구조 전환 엔진이 아니므로, 4h 구조는 BOS/CHoCH 확인 부재로 neutral로 유지하고, 현재 평가는 bullish setup에 가깝습니다. 상방은 $78,574.55가 1차 목표이지만 EMA120 $78,435.52와 겹쳐 첫 저항 클러스터이며, 이를 넘기면 $80,199.11 및 $82,828.70까지 Bat TP ladder가 열립니다.",
      "key_levels": {
        "support": [
          76622.56,
          76014.2,
          75267.38,
          74868.0
        ],
        "resistance": [
          77422.42,
          78435.52,
          78574.55,
          80199.11,
          82828.7
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$75,267.38",
      "risk_scenario": "가격이 $76,622.56 아래로 재진입하고 특히 PRZ 하단 $75,267.38을 종가 기준으로 이탈하면 bullish Bat 방어 실패로 해석됩니다. 이 경우 $76,014.20 D 저점 반등은 단순 약반등으로 전환되며, X 기준점 $74,868.00 재시험 또는 그 이하 유동성 탐색 리스크가 커집니다.",
      "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": 39,
          "nearby": 9,
          "watch": 17,
          "far": 35,
          "forming": 23
        },
        "high_confluence_prz_count": 16,
        "strict_patterns_found": 45,
        "candidate_patterns_found": 55,
        "active_patterns_at_prz": 39,
        "nearby_patterns": 9,
        "all_patterns": [
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "crab",
          "bat",
          "gartley",
          "crab",
          "shark",
          "bat",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "bat",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "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",
          "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",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "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.923,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 77179.7,
        "price_to_prz": -0.02,
        "prz_range": [
          76046.9,
          78312.5
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "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.901,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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.48,
            "price_to_prz_pct_raw": 2.4819,
            "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": 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": 196,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.885,
            "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": 3.32,
            "price_to_prz_pct_raw": 3.3187,
            "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": 218,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.859,
            "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": 3.32,
            "price_to_prz_pct_raw": 3.3187,
            "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": 218,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": 246
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.923,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "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.62,
            "price_to_prz_pct_raw": -1.6187,
            "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": 161,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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.65,
            "price_to_prz_pct_raw": 2.6464,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 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": 196,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "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.62,
            "price_to_prz_pct_raw": -1.6187,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.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": 168,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 281
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.841,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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.41,
            "price_to_prz_pct_raw": 2.4123,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 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": 189,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 235,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": 263
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.816,
            "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.93,
            "price_to_prz_pct_raw": 2.9333,
            "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": 218,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "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.62,
            "price_to_prz_pct_raw": -1.6187,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.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": 168,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 281
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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.48,
            "price_to_prz_pct_raw": 2.4819,
            "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": 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": 196,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.885,
            "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": 3.32,
            "price_to_prz_pct_raw": 3.3187,
            "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": 218,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.859,
            "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": 3.32,
            "price_to_prz_pct_raw": 3.3187,
            "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": 218,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": 246
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.923,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "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.62,
            "price_to_prz_pct_raw": -1.6187,
            "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": 161,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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.65,
            "price_to_prz_pct_raw": 2.6464,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 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": 196,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "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.62,
            "price_to_prz_pct_raw": -1.6187,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.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": 168,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 281
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.841,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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.41,
            "price_to_prz_pct_raw": 2.4123,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 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": 189,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 235,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": 263
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.816,
            "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.93,
            "price_to_prz_pct_raw": 2.9333,
            "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": 218,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.782,
            "ratio_score": 0.748,
            "prz_score": 0.962,
            "prz_proximity": "watch",
            "action_status": "watch",
            "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": 2.31,
            "price_to_prz_pct_raw": 2.3116,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "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": "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": 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": 189,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 235,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 81999.0,
            "c_idx": 258,
            "c_order": 8,
            "d_idx": 263
          },
          {
            "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.8,
            "price_to_prz_pct_raw": 0.8021,
            "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": 196,
            "x_order": 5,
            "a_price": 81043.2,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.624,
            "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.82,
            "price_to_prz_pct_raw": 2.8194,
            "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": 218,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 250,
            "c_order": 5,
            "d_idx": 252
          },
          {
            "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.57,
            "price_to_prz_pct_raw": 0.5686,
            "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": 196,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 79137.4,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 82098.9,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "prz_proximity": "active",
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.62,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.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": "bat",
          "signal": "bullish",
          "completion_status": "completed",
          "pattern_quality": "strict",
          "quality": "medium",
          "pattern_score": 0.866,
          "ratio_score": 0.927,
          "prz_score": 0.913,
          "prz_proximity": "active",
          "action_status": "active",
          "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.62,
          "price_to_prz_pct_raw": -1.6187,
          "harmonic_vote_state": {
            "authority": "post_confirmation_vote_eligible",
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "confirmation_reasons": [
              "PRZ_touch_or_entry",
              "PRZ_rejection_or_defense",
              "AD0.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": 168,
          "x_order": 8,
          "a_price": 82828.7,
          "a_idx": 208,
          "a_order": 8,
          "b_price": 79801.0,
          "b_idx": 246,
          "b_order": 3,
          "c_price": 78564.3,
          "c_idx": 274,
          "c_order": 5,
          "d_idx": 281
        },
        "best_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."
        },
        "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": "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.359,
          "bearish": 0
        },
        "directional_score_total": 0.359,
        "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.62,\n  \"setup_signals\": [\n    \"완성형 strict bullish Bat PRZ $75,267.38-$76,622.56에서 D 저점 $76,014.20 형성 후 방어\",\n    \"PRZ 터치/진입 이후 반응 확인: reaction_score 0.95, AD 0.236 반등 도달, PRZ 중심 회복/방어\",\n    \"현재가 $77,194.50는 Bat PRZ 상단 $76,622.56 위에 있어 PRZ 이탈 실패 후 반등 셋업 유지\",\n    \"검증된 Bat TP ladder: TP1 $78,574.55, TP2 $80,199.11, TP3/A 구조 유동성 $82,828.70\",\n    \"현재가가 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 구조 확정 전에는 반등 셋업으로만 취급\"\n  ],\n  \"reasoning\": \"핵심 패턴은 completed strict bullish Bat이며, D 가격 $76,014.20이 고컨플루언스 PRZ $75,267.38-$76,622.56 안에서 형성된 뒤 방어되었습니다. 확인 사유는 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.236_reaction_reached, D_PRZ_failure_zone_defended로 reaction_score가 0.95까지 올라와 harmonic 기준으로는 중간 강도의 bullish vote가 가능합니다. 다만 harmonic governance상 단독 구조 전환 엔진이 아니므로, 4h 구조는 BOS/CHoCH 확인 부재로 neutral로 유지하고, 현재 평가는 bullish setup에 가깝습니다. 상방은 $78,574.55가 1차 목표이지만 EMA120 $78,435.52와 겹쳐 첫 저항 클러스터이며, 이를 넘기면 $80,199.11 및 $82,828.70까지 Bat TP ladder가 열립니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76622.56,\n      76014.2,\n      75267.38,\n      74868.0\n    ],\n    \"resistance\": [\n      77422.42,\n      78435.52,\n      78574.55,\n      80199.11,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$75,267.38\",\n  \"risk_scenario\": \"가격이 $76,622.56 아래로 재진입하고 특히 PRZ 하단 $75,267.38을 종가 기준으로 이탈하면 bullish Bat 방어 실패로 해석됩니다. 이 경우 $76,014.20 D 저점 반등은 단순 약반등으로 전환되며, X 기준점 $74,868.00 재시험 또는 그 이하 유동성 탐색 리스크가 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "가격 $77,194.50가 7일 저점 $76,014.20 근처의 할인 구간에 위치하며, 아직 $76,014 하방 이탈 확인 없음",
        "CVD divergence 0.850 및 CVD change +671.9560: 가격은 24h -0.30%로 약하지만 체결 델타는 플러스라 매도 압력 흡수 가능성",
        "OI 24h -1.8840% 감소: 신규 숏 추격보다는 포지션 언와인딩 성격이 강해 하방 추세 확증 부족",
        "상단 근접 청산 유동성 $78,000에 16,215.82 규모 존재, EMA20 $77,422.42 회복 시 단기 유동성 타깃 가능",
        "하단 유동성 $75,900, $74,900, $74,300이 열려 있어 스윕 후 반등형 spring 후보"
      ],
      "reasoning": "확인된 구조는 중립이다. 현재 가격 $77,194.50는 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 단기 구조는 약하지만, EMA240 $77,090.77 위를 간신히 유지하고 있고 7일 저점 $76,014.20을 명확히 이탈하지 않아 확정 bearish BOS로 보기는 어렵다. 파생 포지셔닝은 aggregate_score 0.422, bear_signals 2 대 bull_signals 1로 약한 약세지만, OI가 24h -1.8840% 감소하고 CVD divergence가 0.850으로 높아 추격 숏보다는 흡수/언와인딩 신호가 더 강하다. 다만 long_account_latest 0.568로 롱 계정 비중이 높고 spot-futures basis가 -0.0451%로 음수라, $75,900 하단 유동성 스윕 리스크는 여전히 남아 있다.",
      "key_levels": {
        "support": [
          77090.77,
          76014.2,
          75900,
          74900,
          74300
        ],
        "resistance": [
          77422.42,
          78000,
          78435.52,
          80000,
          81999
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "76014.20",
      "risk_scenario": "$76,014.20이 4시간봉 종가 기준으로 이탈되면 중립 구조가 bearish로 전환될 가능성이 높고, $75,900 청산 클러스터를 흡수한 뒤 $74,900 및 $74,300까지 하방 유동성 사냥이 확장될 수 있다. 반대로 $77,422.42 EMA20과 $78,000 청산 레벨을 회복하면 숏 커버링이 붙으며 $78,435.52 EMA120, 이후 $80,000까지 반등이 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 671.956,
        "oi_trend": 0.312,
        "oi_change_pct_24h": -1.884,
        "oi_latest": 101216.466,
        "funding_pressure": 0.457,
        "funding_avg": 4.262e-05,
        "funding_change_24h": -2.855e-05,
        "long_account_ratio": 0.564,
        "short_account_ratio": 0.436,
        "long_account_latest": 0.568,
        "short_account_latest": 0.432,
        "long_account_change_24h": -0.0021,
        "short_account_change_24h": 0.0021,
        "account_flow_label": "stable",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.537,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0451,
        "basis_change_lookback": 0.0139,
        "aggregate_score": 0.422,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            75900,
            13749.367421800001
          ],
          [
            74900,
            16187.429325000001
          ],
          [
            74300,
            13529.927196
          ]
        ],
        "liq_above": [
          [
            78000,
            16215.822864900001
          ],
          [
            80000,
            13689.796033800001
          ],
          [
            84000,
            13578.797428000002
          ]
        ],
        "strongest_liq_level": 68800,
        "fragility_score": 0.804,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"가격 $77,194.50가 7일 저점 $76,014.20 근처의 할인 구간에 위치하며, 아직 $76,014 하방 이탈 확인 없음\",\n    \"CVD divergence 0.850 및 CVD change +671.9560: 가격은 24h -0.30%로 약하지만 체결 델타는 플러스라 매도 압력 흡수 가능성\",\n    \"OI 24h -1.8840% 감소: 신규 숏 추격보다는 포지션 언와인딩 성격이 강해 하방 추세 확증 부족\",\n    \"상단 근접 청산 유동성 $78,000에 16,215.82 규모 존재, EMA20 $77,422.42 회복 시 단기 유동성 타깃 가능\",\n    \"하단 유동성 $75,900, $74,900, $74,300이 열려 있어 스윕 후 반등형 spring 후보\"\n  ],\n  \"reasoning\": \"확인된 구조는 중립이다. 현재 가격 $77,194.50는 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 단기 구조는 약하지만, EMA240 $77,090.77 위를 간신히 유지하고 있고 7일 저점 $76,014.20을 명확히 이탈하지 않아 확정 bearish BOS로 보기는 어렵다. 파생 포지셔닝은 aggregate_score 0.422, bear_signals 2 대 bull_signals 1로 약한 약세지만, OI가 24h -1.8840% 감소하고 CVD divergence가 0.850으로 높아 추격 숏보다는 흡수/언와인딩 신호가 더 강하다. 다만 long_account_latest 0.568로 롱 계정 비중이 높고 spot-futures basis가 -0.0451%로 음수라, $75,900 하단 유동성 스윕 리스크는 여전히 남아 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      77090.77,\n      76014.2,\n      75900,\n      74900,\n      74300\n    ],\n    \"resistance\": [\n      77422.42,\n      78000,\n      78435.52,\n      80000,\n      81999\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"76014.20\",\n  \"risk_scenario\": \"$76,014.20이 4시간봉 종가 기준으로 이탈되면 중립 구조가 bearish로 전환될 가능성이 높고, $75,900 청산 클러스터를 흡수한 뒤 $74,900 및 $74,300까지 하방 유동성 사냥이 확장될 수 있다. 반대로 $77,422.42 EMA20과 $78,000 청산 레벨을 회복하면 숏 커버링이 붙으며 $78,435.52 EMA120, 이후 $80,000까지 반등이 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.74,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $77,194.50는 메인 분배 레인지 EQ 약 $75,984.50 위에 있어 중립보다 프리미엄 쪽에 위치",
        "현재가는 단기 공급대 $77,757.50~$77,825.80 아래에 있으며, 해당 구간은 최근 상단 실패/UT 성격의 저항으로 작동 중",
        "이전 UTAD $82,828.70 이후 LPSY $81,270.20 형성, 이후 가격이 $77,000대 중반으로 하락해 공급 우위 구조가 유지됨",
        "현재가가 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 $77,400~$78,400 구간 재진입 전까지 즉각적인 회복 신뢰도는 제한적",
        "최근 SOW 성격 저점 $76,975.00 부근을 재차 시험 중이며, 이 레벨 이탈 시 $76,107.10 및 $74,868.00으로 하방 테스트가 열림"
      ],
      "reasoning": "4시간 구조는 regime이 DIS이며 dis_score 96.20, regime_fitness 0.963으로 분배 판정의 적합도가 높다. 메인 분배 앵커는 BC $78,300.00와 AR $73,669.00이며, 이후 ST $79,455.00, UTAD $82,828.70, LPSY $81,270.20까지 이어진 뒤 현재 Phase D 성격의 약세 구조로 해석된다. 현재가 $77,194.50는 메인 레인지 상단 $78,300.00 아래이자 EQ 약 $75,984.50 위에 있어 아직 완전한 하방 이탈보다는 레인지 내부 약세 테스트 구간이며, $77,757.50~$77,825.80 회복 실패 시 매도 압력이 재개될 가능성이 높다. 다만 즉각적인 구조 확정 하락보다는 $76,975.00, $76,107.10, $74,868.00 순서의 지지 반응을 확인해야 하며, $82,828.70 이상 4시간 수용이 나오면 현재 분배 해석은 무효화된다.",
      "key_levels": {
        "support": [
          76975.0,
          76107.1,
          74868.0,
          73669.0
        ],
        "resistance": [
          77422.42,
          77757.5,
          77825.8,
          78300.0,
          81270.2,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "4시간 종가 기준 $82,828.70 상향 수용",
      "risk_scenario": "$77,757.50~$78,300.00 구간을 강하게 회복하고 지지로 전환하면 단기 하방 setup은 약화되며, $81,270.20 LPSY 재시험 가능성이 열린다. 특히 $82,828.70 UTAD 고점을 상향 수용하면 기존 분배 Phase D 해석은 무효화되고, 상단 재축적 또는 구조 재평가가 필요하다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 90.1,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 96,
            "price": 78300.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 110,
            "price": 73669.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 152,
            "price": 79455.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 168,
            "price": 74868.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 187,
            "price": 79145.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 208,
            "price": 82828.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 250,
            "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": 96,
            "end_idx": 250,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 96,
                "price": 78300.0,
                "color": "#ffd166",
                "dt": "2026-04-18 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 110,
                "price": 73669.0,
                "color": "#06d6a0",
                "dt": "2026-04-20 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 152,
                "price": 79455.0,
                "color": "#118ab2",
                "dt": "2026-04-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 168,
                "price": 74868.0,
                "color": "#ef476f",
                "dt": "2026-04-30 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 187,
                "price": 79145.0,
                "color": "#f9844a",
                "dt": "2026-05-03 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 208,
                "price": 82828.7,
                "color": "#f9844a",
                "dt": "2026-05-06 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 250,
                "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": 272,
            "end_idx": 294,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 272,
                "price": 77675.4,
                "color": "#ffd166",
                "dt": "2026-05-17 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 281,
                "price": 77757.5,
                "color": "#06d6a0",
                "dt": "2026-05-18 21:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 287,
                "price": 76107.1,
                "color": "#118ab2",
                "dt": "2026-05-19 21:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 293,
                "price": 77825.8,
                "color": "#f9844a",
                "dt": "2026-05-20 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 294,
                "price": 76975.0,
                "color": "#ef476f",
                "dt": "2026-05-21 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.74,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $77,194.50는 메인 분배 레인지 EQ 약 $75,984.50 위에 있어 중립보다 프리미엄 쪽에 위치\",\n    \"현재가는 단기 공급대 $77,757.50~$77,825.80 아래에 있으며, 해당 구간은 최근 상단 실패/UT 성격의 저항으로 작동 중\",\n    \"이전 UTAD $82,828.70 이후 LPSY $81,270.20 형성, 이후 가격이 $77,000대 중반으로 하락해 공급 우위 구조가 유지됨\",\n    \"현재가가 EMA20 $77,422.42와 EMA120 $78,435.52 아래에 있어 $77,400~$78,400 구간 재진입 전까지 즉각적인 회복 신뢰도는 제한적\",\n    \"최근 SOW 성격 저점 $76,975.00 부근을 재차 시험 중이며, 이 레벨 이탈 시 $76,107.10 및 $74,868.00으로 하방 테스트가 열림\"\n  ],\n  \"reasoning\": \"4시간 구조는 regime이 DIS이며 dis_score 96.20, regime_fitness 0.963으로 분배 판정의 적합도가 높다. 메인 분배 앵커는 BC $78,300.00와 AR $73,669.00이며, 이후 ST $79,455.00, UTAD $82,828.70, LPSY $81,270.20까지 이어진 뒤 현재 Phase D 성격의 약세 구조로 해석된다. 현재가 $77,194.50는 메인 레인지 상단 $78,300.00 아래이자 EQ 약 $75,984.50 위에 있어 아직 완전한 하방 이탈보다는 레인지 내부 약세 테스트 구간이며, $77,757.50~$77,825.80 회복 실패 시 매도 압력이 재개될 가능성이 높다. 다만 즉각적인 구조 확정 하락보다는 $76,975.00, $76,107.10, $74,868.00 순서의 지지 반응을 확인해야 하며, $82,828.70 이상 4시간 수용이 나오면 현재 분배 해석은 무효화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      76975.0,\n      76107.1,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      77422.42,\n      77757.5,\n      77825.8,\n      78300.0,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"4시간 종가 기준 $82,828.70 상향 수용\",\n  \"risk_scenario\": \"$77,757.50~$78,300.00 구간을 강하게 회복하고 지지로 전환하면 단기 하방 setup은 약화되며, $81,270.20 LPSY 재시험 가능성이 열린다. 특히 $82,828.70 UTAD 고점을 상향 수용하면 기존 분배 Phase D 해석은 무효화되고, 상단 재축적 또는 구조 재평가가 필요하다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.64,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.6,
      "active_setups": [
        "현재가 $77,194.50는 7일 범위 EQ $79,006.60 아래의 할인 구간에 위치해 있어 신규 숏 추격 기대값은 낮음",
        "EMA240 $77,090.77 및 Fibonacci ret_0.382 $77,045.75 부근을 방어하며 단기 반등 셋업이 유지됨",
        "완성형 strict bullish Bat PRZ $75,267.38-$76,622.56에서 D 저점 $76,014.20 형성 후 반응 확인, 현재가가 PRZ 상단 $76,622.56 위에 있음",
        "CVD divergence 0.850 및 CVD change +671.9560으로 가격 약세 대비 체결 델타가 플러스이며, OI 24h -1.8840% 감소로 하락 추격보다 포지션 언와인딩 성격이 강함",
        "7일 저점 $76,014.20 및 전일 저가 $76,377.00이 아직 명확히 붕괴되지 않아 하방 유동성 스윕 전 구조 확정은 보류됨"
      ],
      "setup_vs_structure": "구조적 판정은 Wyckoff 분배·재분배와 ICT/Fibonacci의 약세 구조 때문에 bearish이지만, 실행 셋업은 할인 구간과 PRZ 반응, CVD 흡수 신호로 bullish 쪽이 우세하다. 즉, 시장은 상위 구조상 공급 우위이나 단기적으로는 저점부 방어·반등 시도 조건이 살아 있는 구조-셋업 불일치 상태다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 1,
      "neutral_count": 4
    },
    "key_levels": {
      "support": [
        77090.77,
        77045.75,
        76975.0,
        76377.0,
        76107.1,
        76014.2,
        75900.0,
        75267.38,
        74868.0,
        73669.0
      ],
      "resistance": [
        77335.7,
        77422.42,
        77625.65,
        77757.5,
        77825.8,
        78300.0,
        78435.52,
        78574.55,
        79006.6,
        79137.4,
        81270.2,
        81999.0,
        82828.7
      ]
    },
    "confluences": [
      "Candlestick, ICT, Fibonacci, Derivatives가 모두 $77,090 전후를 핵심 단기 지지로 인식한다: EMA240 $77,090.77, Fibonacci ret_0.382 $77,045.75, ICT 지지 $77,100.00",
      "Candlestick, ICT, Fibonacci, Harmonic, Derivatives가 모두 $76,014-$76,107 구간을 핵심 하단 구조 지지로 제시한다: 7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10",
      "ICT와 Candlestick 모두 7일 범위 EQ $79,006.60 아래의 discount 구간을 언급하며, 현재가 $77,194.50에서 신규 숏 추격의 효율이 낮다는 점에 동의한다",
      "Harmonic의 bullish Bat PRZ $75,267.38-$76,622.56와 Candlestick/ICT의 7일 저점 $76,014.20 방어 조건이 겹치며, $76,000대 초반이 반응 구간이라는 데 합의가 있다",
      "Wyckoff, ICT, Fibonacci는 구조 측면에서 모두 bearish 쪽을 지지한다: Wyckoff는 분배/재분배 Phase D, ICT는 연속 bearish BOS $79,137.40 및 $78,713.80, Fibonacci는 $78,564→$76,107 하락 스윙 우선 구조",
      "상단 저항은 $77,422-$77,825에 밀집한다: EMA20 $77,422.42, Wyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, Fibonacci ret_0.618 $77,625.65"
    ],
    "conflicts": [
      "Wyckoff는 regime fitness 0.963의 분배/재분배 구조로 bearish 확신이 가장 강하지만, Harmonic은 $75,267.38-$76,622.56 bullish Bat PRZ 반응을 근거로 bullish setup을 제시한다",
      "ICT와 Fibonacci는 구조를 bearish로 보지만, 두 분석 모두 현재가가 EQ 아래 discount 구간 또는 하락 스윙 0.5 되돌림 아래에 있어 숏 추격보다는 반응 확인이 필요하다고 본다",
      "Derivatives는 표면적으로 bear_signals 2 대 bull_signals 1로 약한 약세이나, CVD divergence 0.850과 OI 감소 -1.8840% 때문에 하락 추세 확증보다는 흡수/언와인딩 가능성을 더 크게 본다",
      "Candlestick은 evening star 후보를 bearish로 감지했지만 품질이 0.585의 candidate 수준이고, bull_score 2.15가 bear_score 1.55보다 높아 구조 확정보다는 중립 및 단기 반등 셋업으로 해석한다"
    ],
    "executive_summary": "현재 BTC 4시간 구조는 상위 체계상 bearish로 판정한다. Wyckoff는 이전 UTAD $82,828.70 이후 LPSY $81,270.20가 형성된 분배 구조와, 현재 $77,757.50-$77,825.80 공급대 아래의 재분배 후보를 제시하며 Phase D 성격의 공급 우위 상태를 지지한다. ICT의 연속 bearish BOS $79,137.40/$78,713.80와 Fibonacci의 $78,564→$76,107 하락 스윙도 구조적 약세 판정에 합류한다. 다만 실행 관점에서는 가격이 EQ $79,006.60 아래 discount 구간, EMA240 $77,090.77 및 Bat PRZ 상단 $76,622.56 위에 있어 저점부 반응·흡수 조건이 존재한다. 구조적 bearish 해석은 $82,828.70 이상 4시간 수용 시 무효화되며, 하단에서는 $76,014.20-$76,107.10 붕괴 여부가 재분배의 하방 확인 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.64,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.60,\n    \"active_setups\": [\n      \"현재가 $77,194.50는 7일 범위 EQ $79,006.60 아래의 할인 구간에 위치해 있어 신규 숏 추격 기대값은 낮음\",\n      \"EMA240 $77,090.77 및 Fibonacci ret_0.382 $77,045.75 부근을 방어하며 단기 반등 셋업이 유지됨\",\n      \"완성형 strict bullish Bat PRZ $75,267.38-$76,622.56에서 D 저점 $76,014.20 형성 후 반응 확인, 현재가가 PRZ 상단 $76,622.56 위에 있음\",\n      \"CVD divergence 0.850 및 CVD change +671.9560으로 가격 약세 대비 체결 델타가 플러스이며, OI 24h -1.8840% 감소로 하락 추격보다 포지션 언와인딩 성격이 강함\",\n      \"7일 저점 $76,014.20 및 전일 저가 $76,377.00이 아직 명확히 붕괴되지 않아 하방 유동성 스윕 전 구조 확정은 보류됨\"\n    ],\n    \"setup_vs_structure\": \"구조적 판정은 Wyckoff 분배·재분배와 ICT/Fibonacci의 약세 구조 때문에 bearish이지만, 실행 셋업은 할인 구간과 PRZ 반응, CVD 흡수 신호로 bullish 쪽이 우세하다. 즉, 시장은 상위 구조상 공급 우위이나 단기적으로는 저점부 방어·반등 시도 조건이 살아 있는 구조-셋업 불일치 상태다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 1,\n    \"neutral_count\": 4\n  },\n  \"key_levels\": {\n    \"support\": [\n      77090.77,\n      77045.75,\n      76975.0,\n      76377.0,\n      76107.1,\n      76014.2,\n      75900.0,\n      75267.38,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      77335.7,\n      77422.42,\n      77625.65,\n      77757.5,\n      77825.8,\n      78300.0,\n      78435.52,\n      78574.55,\n      79006.6,\n      79137.4,\n      81270.2,\n      81999.0,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick, ICT, Fibonacci, Derivatives가 모두 $77,090 전후를 핵심 단기 지지로 인식한다: EMA240 $77,090.77, Fibonacci ret_0.382 $77,045.75, ICT 지지 $77,100.00\",\n    \"Candlestick, ICT, Fibonacci, Harmonic, Derivatives가 모두 $76,014-$76,107 구간을 핵심 하단 구조 지지로 제시한다: 7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10\",\n    \"ICT와 Candlestick 모두 7일 범위 EQ $79,006.60 아래의 discount 구간을 언급하며, 현재가 $77,194.50에서 신규 숏 추격의 효율이 낮다는 점에 동의한다\",\n    \"Harmonic의 bullish Bat PRZ $75,267.38-$76,622.56와 Candlestick/ICT의 7일 저점 $76,014.20 방어 조건이 겹치며, $76,000대 초반이 반응 구간이라는 데 합의가 있다\",\n    \"Wyckoff, ICT, Fibonacci는 구조 측면에서 모두 bearish 쪽을 지지한다: Wyckoff는 분배/재분배 Phase D, ICT는 연속 bearish BOS $79,137.40 및 $78,713.80, Fibonacci는 $78,564→$76,107 하락 스윙 우선 구조\",\n    \"상단 저항은 $77,422-$77,825에 밀집한다: EMA20 $77,422.42, Wyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, Fibonacci ret_0.618 $77,625.65\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 regime fitness 0.963의 분배/재분배 구조로 bearish 확신이 가장 강하지만, Harmonic은 $75,267.38-$76,622.56 bullish Bat PRZ 반응을 근거로 bullish setup을 제시한다\",\n    \"ICT와 Fibonacci는 구조를 bearish로 보지만, 두 분석 모두 현재가가 EQ 아래 discount 구간 또는 하락 스윙 0.5 되돌림 아래에 있어 숏 추격보다는 반응 확인이 필요하다고 본다\",\n    \"Derivatives는 표면적으로 bear_signals 2 대 bull_signals 1로 약한 약세이나, CVD divergence 0.850과 OI 감소 -1.8840% 때문에 하락 추세 확증보다는 흡수/언와인딩 가능성을 더 크게 본다\",\n    \"Candlestick은 evening star 후보를 bearish로 감지했지만 품질이 0.585의 candidate 수준이고, bull_score 2.15가 bear_score 1.55보다 높아 구조 확정보다는 중립 및 단기 반등 셋업으로 해석한다\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 분배 판정 점수 96.20, regime fitness 0.963, UTAD $82,828.70 이후 LPSY $81,270.20 및 현재 재분배 후보 구조까지 이어지는 구체적 단계 배열이 가장 명확하다. 또한 현재 가격이 $77,757.50-$77,825.80 공급대 아래에 있고 메인 레인지 상단 $78,300.00 아래에 있다는 구조적 위치 판단이 정밀하다.\",\n  \"invalidation_level\": \"$82,828.70 이상 4시간 봉 기준 수용 시 현재의 분배/재분배 기반 bearish 구조 해석은 무효화된다. 단기 구조 약세는 우선 $78,300.00 및 $79,137.40 회복 시 약화된다.\",\n  \"executive_summary\": \"현재 BTC 4시간 구조는 상위 체계상 bearish로 판정한다. Wyckoff는 이전 UTAD $82,828.70 이후 LPSY $81,270.20가 형성된 분배 구조와, 현재 $77,757.50-$77,825.80 공급대 아래의 재분배 후보를 제시하며 Phase D 성격의 공급 우위 상태를 지지한다. ICT의 연속 bearish BOS $79,137.40/$78,713.80와 Fibonacci의 $78,564→$76,107 하락 스윙도 구조적 약세 판정에 합류한다. 다만 실행 관점에서는 가격이 EQ $79,006.60 아래 discount 구간, EMA240 $77,090.77 및 Bat PRZ 상단 $76,622.56 위에 있어 저점부 반응·흡수 조건이 존재한다. 구조적 bearish 해석은 $82,828.70 이상 4시간 수용 시 무효화되며, 하단에서는 $76,014.20-$76,107.10 붕괴 여부가 재분배의 하방 확인 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.64,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.55,
    "waypoints": [
      {
        "seq": 1,
        "price": 77625.65,
        "type": "resistance_test",
        "source": "Fibonacci ret_0.618 $77,625.65, EMA20 $77,422.42 클러스터, Candlestick/Derivatives 1차 저항",
        "description": "현재가 $77,194.50가 EQ $79,006.60 아래 discount 구간에 있고 EMA240 $77,090.77 및 Fib ret_0.382 $77,045.75를 방어 중이라는 setup_bias bullish(60%) 신호를 반영. CVD divergence 0.850 및 OI -1.88%의 매도 흡수/언와인딩이 단기 반등 동력으로 작용해 EMA20 + Fib 0.618 클러스터를 우선 시험. 이 구간은 4h 구조의 mid-range 저항이며 setup의 1차 도달 목표.",
        "est_hours": 5,
        "turning_zone": [
          77580.0,
          77720.0
        ],
        "likely_wick": 77680.0,
        "rejection_confirm": 77335.7,
        "invalid_overshoot": 77757.5,
        "calibration_reasoning": "Fib 0.618 클러스터($77,625.65)를 중심으로 EMA20 부근 저항대를 포함. 폭 $140(≈0.20 ATR)은 바로 위 WP2($77,757.50) 분배 공급대와 분리하기 위해 의도적으로 타이트하게 설정. chairman 저항 $77,335.70 재이탈이 1차 거절 확인."
      },
      {
        "seq": 2,
        "price": 77757.5,
        "type": "resistance_test",
        "source": "Wyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, ICT 저항",
        "description": "Fib 0.618 클러스터 돌파 시 Wyckoff가 핵심 분배 공급대로 지목한 $77,757.50-$77,825.80을 추가 시험. 해당 구간은 LPSY $81,270.20 이후의 재분배 후보 천장이며 setup_bias가 구조의 최대 도달점으로 보는 한계 영역. 이 구간 4h 수용 실패가 bearish 구조 재가동의 트리거가 됨.",
        "est_hours": 8,
        "turning_zone": [
          77757.5,
          77900.0
        ],
        "likely_wick": 77825.8,
        "rejection_confirm": 77625.65,
        "invalid_overshoot": 78038.46,
        "calibration_reasoning": "Wyckoff 분배 공급대($77,757.50-$77,825.80) 핵심 천장에 정렬. 폭 $142(≈0.21 ATR), 상단 supply edge $77,825.80에서 wick 가능성 가장 높음. Fib 0.618 $77,625.65 재이탈이 UT 거절 확인, Fib 0.5 $78,038.46 돌파 시 LPSY 재시도로 시나리오 무효."
      },
      {
        "seq": 3,
        "price": 76377.0,
        "type": "support_test",
        "source": "전일 저가 $76,377.00, ICT 하방 유동성 미스윕 구간, Fibonacci $76,687.00 인접",
        "description": "Wyckoff 공급대에서 거절(UT 성격) 후 BOS_bearish $78,713.80 및 $79,137.40로 형성된 구조적 약세가 재개되며, 아직 미스윕 상태인 전일 저가 $76,377.00 유동성을 시험. ICT의 discount 구간 유동성 회수 시나리오 및 Fibonacci 0.382 지지 이탈 흐름과 합치.",
        "est_hours": 16,
        "turning_zone": [
          76200.0,
          76377.0
        ],
        "likely_wick": 76280.0,
        "rejection_confirm": 76687.0,
        "invalid_overshoot": 76107.1,
        "calibration_reasoning": "PDL $76,377.00 직하 유동성 스윕 영역. 폭 $177(≈0.26 ATR)로 WP4와 명확히 분리. Fib 지지 $76,687 재돌파가 ICT discount 회수 반전 확인 신호, 원 스윙 저점 $76,107.10 이탈은 곧바로 7일 저점 스윕 시나리오(WP4)로 전환."
      },
      {
        "seq": 4,
        "price": 76014.2,
        "type": "liquidity_sweep",
        "source": "7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10, Harmonic Bat PRZ 상단 $76,622.56 하방",
        "description": "PDL 이탈 후 7일 저점 유동성을 스윕. Wyckoff 재분배 Phase D 가설의 1차 하방 확인 구간이자 Harmonic strict bullish Bat PRZ($75,267.38-$76,622.56) 상부 재진입 영역. 5개 에이전트가 합의한 $76,014-$76,107 하단 구조 지지이므로 1차 반응 가능성 높음.",
        "est_hours": 22,
        "turning_zone": [
          75600.0,
          76014.2
        ],
        "likely_wick": 75800.0,
        "rejection_confirm": 76107.1,
        "invalid_overshoot": 75267.38,
        "calibration_reasoning": "터미널 waypoint로 0.60 ATR(폭 $414) 적용. 7일 저점 $76,014.20 스윕 + chairman support $75,900 + 라운드 넘버 $76,000 자석을 모두 포괄하며 strict Bat PRZ($75,267-$76,622) 상부 재진입 영역과 합치. Bat PRZ는 CONFIRMED_REACTION 상태이므로 강한 반응 앵커. PRZ 하단 $75,267.38 이탈 시 harmonic + Phase D 시나리오 동시 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77500.0,
        "expected_low": 77090.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 77757.5,
        "expected_low": 76800.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 77757.5,
        "expected_low": 76014.2,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 77825.8,
        "description": "Wyckoff 공급대 상단 및 전일 고가 $77,825.80 위 4h 종가 수용 시 setup_bias가 구조 우위로 전환되어 EMA120 $78,435.52 및 BC $78,300.00 재시험으로 확장. 이 경우 본 시나리오의 하방 leg(WP3/WP4)는 무효."
      },
      "bearish": {
        "price": 76014.2,
        "description": "7일 저점 $76,014.20 4h 종가 이탈 시 Wyckoff 재분배 Phase D 확정 및 ICT 연속 bearish BOS 연장. Bat PRZ 하단 $75,267.38 및 Fibonacci 확장 $75,438.74까지 매도 가속."
      }
    },
    "scenario_invalidation": 78300.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.55,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 77625.65,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci ret_0.618 $77,625.65, EMA20 $77,422.42 클러스터, Candlestick/Derivatives 1차 저항\",\n      \"description\": \"현재가 $77,194.50가 EQ $79,006.60 아래 discount 구간에 있고 EMA240 $77,090.77 및 Fib ret_0.382 $77,045.75를 방어 중이라는 setup_bias bullish(60%) 신호를 반영. CVD divergence 0.850 및 OI -1.88%의 매도 흡수/언와인딩이 단기 반등 동력으로 작용해 EMA20 + Fib 0.618 클러스터를 우선 시험. 이 구간은 4h 구조의 mid-range 저항이며 setup의 1차 도달 목표.\",\n      \"est_hours\": 5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 77757.5,\n      \"type\": \"resistance_test\",\n      \"source\": \"Wyckoff 공급대 $77,757.50-$77,825.80, 전일 고가 $77,825.80, ICT 저항\",\n      \"description\": \"Fib 0.618 클러스터 돌파 시 Wyckoff가 핵심 분배 공급대로 지목한 $77,757.50-$77,825.80을 추가 시험. 해당 구간은 LPSY $81,270.20 이후의 재분배 후보 천장이며 setup_bias가 구조의 최대 도달점으로 보는 한계 영역. 이 구간 4h 수용 실패가 bearish 구조 재가동의 트리거가 됨.\",\n      \"est_hours\": 8\n    },\n    {\n      \"seq\": 3,\n      \"price\": 76377.0,\n      \"type\": \"support_test\",\n      \"source\": \"전일 저가 $76,377.00, ICT 하방 유동성 미스윕 구간, Fibonacci $76,687.00 인접\",\n      \"description\": \"Wyckoff 공급대에서 거절(UT 성격) 후 BOS_bearish $78,713.80 및 $79,137.40로 형성된 구조적 약세가 재개되며, 아직 미스윕 상태인 전일 저가 $76,377.00 유동성을 시험. ICT의 discount 구간 유동성 회수 시나리오 및 Fibonacci 0.382 지지 이탈 흐름과 합치.\",\n      \"est_hours\": 16\n    },\n    {\n      \"seq\": 4,\n      \"price\": 76014.2,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"7일 저점 $76,014.20, Fibonacci swing low $76,107.10, Wyckoff ST $76,107.10, Harmonic Bat PRZ 상단 $76,622.56 하방\",\n      \"description\": \"PDL 이탈 후 7일 저점 유동성을 스윕. Wyckoff 재분배 Phase D 가설의 1차 하방 확인 구간이자 Harmonic strict bullish Bat PRZ($75,267.38-$76,622.56) 상부 재진입 영역. 5개 에이전트가 합의한 $76,014-$76,107 하단 구조 지지이므로 1차 반응 가능성 높음.\",\n      \"est_hours\": 22\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 77500.0, \"expected_low\": 77090.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 77757.5, \"expected_low\": 76800.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 77757.5, \"expected_low\": 76014.2, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 77825.8, \"description\": \"Wyckoff 공급대 상단 및 전일 고가 $77,825.80 위 4h 종가 수용 시 setup_bias가 구조 우위로 전환되어 EMA120 $78,435.52 및 BC $78,300.00 재시험으로 확장. 이 경우 본 시나리오의 하방 leg(WP3/WP4)는 무효.\"},\n    \"bearish\": {\"price\": 76014.2, \"description\": \"7일 저점 $76,014.20 4h 종가 이탈 시 Wyckoff 재분배 Phase D 확정 및 ICT 연속 bearish BOS 연장. Bat PRZ 하단 $75,267.38 및 Fibonacci 확장 $75,438.74까지 매도 가속.\"}\n  },\n  \"scenario_invalidation\": 78300.0\n}\n```\n\n요약: setup_bias bullish(60%)가 structural bias bearish(64%)를 단기적으로 앞서므로 첫 leg는 $77,625→$77,757 공급대 시험으로 잡고, Wyckoff 분배 천장에서 거절 후 PDL $76,377 및 7일 저점 $76,014 스윕으로 bearish 구조가 재개되는 4-waypoint complex path. $78,300 4h 수용 시 전체 경로 무효."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 77625.65,
        "turning_zone": [
          77580.0,
          77720.0
        ],
        "likely_wick": 77680.0,
        "rejection_confirm": 77335.7,
        "invalid_overshoot": 77757.5,
        "calibration_reasoning": "Fib 0.618 클러스터($77,625.65)를 중심으로 EMA20 부근 저항대를 포함. 폭 $140(≈0.20 ATR)은 바로 위 WP2($77,757.50) 분배 공급대와 분리하기 위해 의도적으로 타이트하게 설정. chairman 저항 $77,335.70 재이탈이 1차 거절 확인."
      },
      {
        "seq": 2,
        "base_target": 77757.5,
        "turning_zone": [
          77757.5,
          77900.0
        ],
        "likely_wick": 77825.8,
        "rejection_confirm": 77625.65,
        "invalid_overshoot": 78038.46,
        "calibration_reasoning": "Wyckoff 분배 공급대($77,757.50-$77,825.80) 핵심 천장에 정렬. 폭 $142(≈0.21 ATR), 상단 supply edge $77,825.80에서 wick 가능성 가장 높음. Fib 0.618 $77,625.65 재이탈이 UT 거절 확인, Fib 0.5 $78,038.46 돌파 시 LPSY 재시도로 시나리오 무효."
      },
      {
        "seq": 3,
        "base_target": 76377.0,
        "turning_zone": [
          76200.0,
          76377.0
        ],
        "likely_wick": 76280.0,
        "rejection_confirm": 76687.0,
        "invalid_overshoot": 76107.1,
        "calibration_reasoning": "PDL $76,377.00 직하 유동성 스윕 영역. 폭 $177(≈0.26 ATR)로 WP4와 명확히 분리. Fib 지지 $76,687 재돌파가 ICT discount 회수 반전 확인 신호, 원 스윙 저점 $76,107.10 이탈은 곧바로 7일 저점 스윕 시나리오(WP4)로 전환."
      },
      {
        "seq": 4,
        "base_target": 76014.2,
        "turning_zone": [
          75600.0,
          76014.2
        ],
        "likely_wick": 75800.0,
        "rejection_confirm": 76107.1,
        "invalid_overshoot": 75267.38,
        "calibration_reasoning": "터미널 waypoint로 0.60 ATR(폭 $414) 적용. 7일 저점 $76,014.20 스윕 + chairman support $75,900 + 라운드 넘버 $76,000 자석을 모두 포괄하며 strict Bat PRZ($75,267-$76,622) 상부 재진입 영역과 합치. Bat PRZ는 CONFIRMED_REACTION 상태이므로 강한 반응 앵커. PRZ 하단 $75,267.38 이탈 시 harmonic + Phase D 시나리오 동시 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 77625.65,\n      \"turning_zone\": [77580.00, 77720.00],\n      \"likely_wick\": 77680.00,\n      \"rejection_confirm\": 77335.70,\n      \"invalid_overshoot\": 77757.50,\n      \"calibration_reasoning\": \"Fib 0.618 클러스터($77,625.65)를 중심으로 EMA20 부근 저항대를 포함. 폭 $140(≈0.20 ATR)은 바로 위 WP2($77,757.50) 분배 공급대와 분리하기 위해 의도적으로 타이트하게 설정. chairman 저항 $77,335.70 재이탈이 1차 거절 확인.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 77757.50,\n      \"turning_zone\": [77757.50, 77900.00],\n      \"likely_wick\": 77825.80,\n      \"rejection_confirm\": 77625.65,\n      \"invalid_overshoot\": 78038.46,\n      \"calibration_reasoning\": \"Wyckoff 분배 공급대($77,757.50-$77,825.80) 핵심 천장에 정렬. 폭 $142(≈0.21 ATR), 상단 supply edge $77,825.80에서 wick 가능성 가장 높음. Fib 0.618 $77,625.65 재이탈이 UT 거절 확인, Fib 0.5 $78,038.46 돌파 시 LPSY 재시도로 시나리오 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 76377.00,\n      \"turning_zone\": [76200.00, 76377.00],\n      \"likely_wick\": 76280.00,\n      \"rejection_confirm\": 76687.00,\n      \"invalid_overshoot\": 76107.10,\n      \"calibration_reasoning\": \"PDL $76,377.00 직하 유동성 스윕 영역. 폭 $177(≈0.26 ATR)로 WP4와 명확히 분리. Fib 지지 $76,687 재돌파가 ICT discount 회수 반전 확인 신호, 원 스윙 저점 $76,107.10 이탈은 곧바로 7일 저점 스윕 시나리오(WP4)로 전환.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 76014.20,\n      \"turning_zone\": [75600.00, 76014.20],\n      \"likely_wick\": 75800.00,\n      \"rejection_confirm\": 76107.10,\n      \"invalid_overshoot\": 75267.38,\n      \"calibration_reasoning\": \"터미널 waypoint로 0.60 ATR(폭 $414) 적용. 7일 저점 $76,014.20 스윕 + chairman support $75,900 + 라운드 넘버 $76,000 자석을 모두 포괄하며 strict Bat PRZ($75,267-$76,622) 상부 재진입 영역과 합치. Bat PRZ는 CONFIRMED_REACTION 상태이므로 강한 반응 앵커. PRZ 하단 $75,267.38 이탈 시 harmonic + Phase D 시나리오 동시 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 27.2,
      "chairman": 37.1,
      "operating_path": 95.8,
      "tp_calibrator": 97.7
    },
    "agents": {},
    "total_s": 257.9
  }
}